Oops forgot these files
authorEddie Hung <eddie@fpgeh.com>
Mon, 15 Jul 2019 22:03:15 +0000 (15:03 -0700)
committerEddie Hung <eddie@fpgeh.com>
Mon, 15 Jul 2019 22:03:15 +0000 (15:03 -0700)
passes/pmgen/Makefile.inc
techlibs/xilinx/Makefile.inc
techlibs/xilinx/synth_xilinx.cc

index 7911132db44d6c5f94d7b105a9b1740b2623c61f..e33866670611feeb4e42cbd583d8b3c78abd4b5e 100644 (file)
@@ -1,14 +1,19 @@
 OBJS += passes/pmgen/ice40_dsp.o
+OBJS += passes/pmgen/xilinx_dsp.o
 OBJS += passes/pmgen/peepopt.o
 
 # --------------------------------------
 
+passes/pmgen/%.o: passes/pmgen/%_pm.h
 passes/pmgen/ice40_dsp.o: passes/pmgen/ice40_dsp_pm.h
+passes/pmgen/xilinx_dsp.o: passes/pmgen/xilinx_dsp_pm.h
 EXTRA_OBJS += passes/pmgen/ice40_dsp_pm.h
+EXTRA_OBJS += passes/pmgen/xilinx_dsp_pm.h
 .SECONDARY: passes/pmgen/ice40_dsp_pm.h
+.SECONDARY: passes/pmgen/xilinx_dsp_pm.h
 
-passes/pmgen/ice40_dsp_pm.h: passes/pmgen/pmgen.py passes/pmgen/ice40_dsp.pmg
-       $(P) mkdir -p passes/pmgen && python3 $< -o $@ -p ice40_dsp $(filter-out $<,$^)
+passes/pmgen/%_pm.h: passes/pmgen/pmgen.py passes/pmgen/%.pmg
+       $(P) mkdir -p passes/pmgen && python3 $< -o $@ -p $* $(filter-out $<,$^)
 
 # --------------------------------------
 
index 2c6e7432e8168218e743dcb7ef3a66af965c3d18..b0251d621cba6e11ad71cf394e523ebc7c1986cb 100644 (file)
@@ -38,6 +38,7 @@ $(eval $(call add_share_file,share/xilinx,techlibs/xilinx/arith_map.v))
 $(eval $(call add_share_file,share/xilinx,techlibs/xilinx/ff_map.v))
 $(eval $(call add_share_file,share/xilinx,techlibs/xilinx/lut_map.v))
 $(eval $(call add_share_file,share/xilinx,techlibs/xilinx/mux_map.v))
+$(eval $(call add_share_file,share/xilinx,techlibs/xilinx/dsp_map.v))
 
 $(eval $(call add_share_file,share/xilinx,techlibs/xilinx/abc_xc7.box))
 $(eval $(call add_share_file,share/xilinx,techlibs/xilinx/abc_xc7.lut))
index 01e75b50eaf3af1f0578910eca48a0bfdfa06ad1..796615211a80ce27843bfe174f6c9f87176faae7 100644 (file)
@@ -329,6 +329,10 @@ struct SynthXilinxPass : public ScriptPass
                        run("memory_map");
                        run("dffsr2dff");
                        run("dff2dffe");
+                       if (help_mode || !nodsp) {
+                               run("techmap -map +/xilinx/dsp_map.v", "(skip if '-nodsp')");
+                               run("xilinx_dsp", "                     (skip if '-nodsp')");
+                       }
                        if (help_mode) {
                                run("simplemap t:$mux", "         ('-widemux' only)");
                                run("muxcover <internal options>, ('-widemux' only)");