28
28
# -------------------------------------------------------------------------
29
29
source syn_setup.sh
30
30
31
- # -------------------------------------------------------------------------
32
- # use sv2v to convert all SystemVerilog files to Verilog
33
- # -------------------------------------------------------------------------
34
-
35
31
LR_DEP_SOURCES=(
36
32
" ../vendor/lowrisc_ip/ip/prim_generic/rtl/prim_generic_buf.sv"
37
33
" ../vendor/lowrisc_ip/ip/prim_generic/rtl/prim_generic_flop.sv"
@@ -41,42 +37,6 @@ mkdir -p "$LR_SYNTH_OUT_DIR/generated"
41
37
mkdir -p " $LR_SYNTH_OUT_DIR /log"
42
38
mkdir -p " $LR_SYNTH_OUT_DIR /reports/timing"
43
39
44
- # Convert dependency sources
45
- for file in " ${LR_DEP_SOURCES[@]} " ; do
46
- module=$( basename -s .sv " $file " )
47
-
48
- sv2v \
49
- --define=SYNTHESIS --define=YOSYS \
50
- -I../vendor/lowrisc_ip/ip/prim/rtl \
51
- " $file " \
52
- > " $LR_SYNTH_OUT_DIR " /generated/" ${module} " .v
53
- done
54
-
55
- # Convert core sources
56
- for file in ../rtl/* .sv; do
57
- module=$( basename -s .sv " $file " )
58
-
59
- # Skip packages
60
- if echo " $module " | grep -q ' _pkg$' ; then
61
- continue
62
- fi
63
-
64
- sv2v \
65
- --define=SYNTHESIS --define=YOSYS \
66
- ../rtl/* _pkg.sv \
67
- ../vendor/lowrisc_ip/ip/prim/rtl/prim_ram_1p_pkg.sv \
68
- ../vendor/lowrisc_ip/ip/prim/rtl/prim_secded_pkg.sv \
69
- -I../vendor/lowrisc_ip/ip/prim/rtl \
70
- -I../vendor/lowrisc_ip/dv/sv/dv_utils \
71
- " $file " \
72
- > " $LR_SYNTH_OUT_DIR " /generated/" ${module} " .v
73
-
74
- # Make sure auto-generated primitives are resolved to generic primitives
75
- # where available.
76
- sed -i ' s/prim_buf/prim_generic_buf/g' " $LR_SYNTH_OUT_DIR " /generated/" ${module} " .v
77
- sed -i ' s/prim_flop/prim_generic_flop/g' " $LR_SYNTH_OUT_DIR " /generated/" ${module} " .v
78
- done
79
-
80
40
# remove tracer (not needed for synthesis)
81
41
rm -f " $LR_SYNTH_OUT_DIR " /generated/ibex_tracer.v
82
42
@@ -85,7 +45,7 @@ rm -f "$LR_SYNTH_OUT_DIR"/generated/ibex_tracer.v
85
45
rm -f " $LR_SYNTH_OUT_DIR " /generated/ibex_register_file_ff.v
86
46
rm -f " $LR_SYNTH_OUT_DIR " /generated/ibex_register_file_fpga.v
87
47
88
- yosys -c ./tcl/yosys_run_synth.tcl | & teelog syn || {
48
+ yosys -m " $LR_SYNTH_SYNLIG_PLUGIN_PATH " - c ./tcl/yosys_run_synth.tcl | & teelog syn || {
89
49
error " Failed to synthesize RTL with Yosys"
90
50
}
91
51
0 commit comments