2828# -------------------------------------------------------------------------
2929source syn_setup.sh
3030
31- # -------------------------------------------------------------------------
32- # use sv2v to convert all SystemVerilog files to Verilog
33- # -------------------------------------------------------------------------
34-
3531LR_DEP_SOURCES=(
3632 " ../vendor/lowrisc_ip/ip/prim_generic/rtl/prim_generic_buf.sv"
3733 " ../vendor/lowrisc_ip/ip/prim_generic/rtl/prim_generic_flop.sv"
@@ -41,42 +37,6 @@ mkdir -p "$LR_SYNTH_OUT_DIR/generated"
4137mkdir -p " $LR_SYNTH_OUT_DIR /log"
4238mkdir -p " $LR_SYNTH_OUT_DIR /reports/timing"
4339
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-
8040# remove tracer (not needed for synthesis)
8141rm -f " $LR_SYNTH_OUT_DIR " /generated/ibex_tracer.v
8242
@@ -85,7 +45,7 @@ rm -f "$LR_SYNTH_OUT_DIR"/generated/ibex_tracer.v
8545rm -f " $LR_SYNTH_OUT_DIR " /generated/ibex_register_file_ff.v
8646rm -f " $LR_SYNTH_OUT_DIR " /generated/ibex_register_file_fpga.v
8747
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 || {
8949 error " Failed to synthesize RTL with Yosys"
9050}
9151
0 commit comments