ecp5: synth_ecp5 to no longer need +/ecp5/abc9_{,un}map.v
authorEddie Hung <eddie@fpgeh.com>
Wed, 13 May 2020 21:16:42 +0000 (14:16 -0700)
committerEddie Hung <eddie@fpgeh.com>
Thu, 14 May 2020 17:33:57 +0000 (10:33 -0700)
techlibs/ecp5/Makefile.inc
techlibs/ecp5/abc9_map.v [deleted file]
techlibs/ecp5/abc9_unmap.v [deleted file]
techlibs/ecp5/synth_ecp5.cc

index 217151e9660b2d657297efc814932295d875db26..9a337b2b6cd9b143c125d72ac42e6a2e38f8095b 100644 (file)
@@ -23,9 +23,6 @@ $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/brams.txt))
 $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/arith_map.v))
 $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/latches_map.v))
 $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/dsp_map.v))
-
-$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/abc9_map.v))
-$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/abc9_unmap.v))
 $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/abc9_model.v))
 
 EXTRA_OBJS += techlibs/ecp5/brams_init.mk techlibs/ecp5/brams_connect.mk
diff --git a/techlibs/ecp5/abc9_map.v b/techlibs/ecp5/abc9_map.v
deleted file mode 100644 (file)
index 113a35b..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-// ---------------------------------------
-
-// Attach a (combinatorial) black-box onto the output
-//   of this LUTRAM primitive to capture its
-//   asynchronous read behaviour
-module TRELLIS_DPR16X4 (
-       (* techmap_autopurge *) input  [3:0] DI,
-       (* techmap_autopurge *) input  [3:0] WAD,
-       (* techmap_autopurge *) input        WRE,
-       (* techmap_autopurge *) input        WCK,
-       (* techmap_autopurge *) input  [3:0] RAD,
-       output [3:0] DO
-);
-       parameter WCKMUX = "WCK";
-       parameter WREMUX = "WRE";
-       parameter [63:0] INITVAL = 64'h0000000000000000;
-    wire [3:0] $DO;
-
-    TRELLIS_DPR16X4 #(
-      .WCKMUX(WCKMUX), .WREMUX(WREMUX), .INITVAL(INITVAL)
-    ) _TECHMAP_REPLACE_ (
-      .DI(DI), .WAD(WAD), .WRE(WRE), .WCK(WCK),
-      .RAD(RAD), .DO($DO)
-    );
-
-    $__ABC9_DPR16X4_COMB do (.$DO($DO), .RAD(RAD), .DO(DO));
-endmodule
diff --git a/techlibs/ecp5/abc9_unmap.v b/techlibs/ecp5/abc9_unmap.v
deleted file mode 100644 (file)
index cbdffda..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-// ---------------------------------------
-
-module \$__ABC9_DPR16X4_COMB (input [3:0] $DO, RAD, output [3:0] DO);
-    assign DO = $DO;
-endmodule
index c13020cc1c27e9a1bd1ad6794f0e2a2218fa0f63..b99cbdf839cb7b0280a1f77f0f73ac69055fb227 100644 (file)
@@ -328,14 +328,10 @@ struct SynthEcp5Pass : public ScriptPass
 
                if (check_label("map_luts"))
                {
-                       if (abc2 || help_mode) {
+                       if (abc2 || help_mode)
                                run("abc", "      (only if -abc2)");
-                       }
-                       std::string techmap_args = asyncprld ? "" : "-map +/ecp5/latches_map.v";
-                       if (abc9)
-                               techmap_args += " -map +/ecp5/abc9_map.v -max_iter 1";
-                       if (!techmap_args.empty())
-                               run("techmap " + techmap_args);
+                       if (asyncprld || help_mode)
+                               run("techmap -map +/ecp5/latches_map.v", "(only if -asyncprld)");
 
                        if (abc9) {
                                run("read_verilog -icells -lib -specify +/ecp5/abc9_model.v");
@@ -352,7 +348,6 @@ struct SynthEcp5Pass : public ScriptPass
                                if (dff)
                                        abc9_opts += " -dff";
                                run("abc9" + abc9_opts);
-                               run("techmap -map +/ecp5/abc9_unmap.v");
                        } else {
                                std::string abc_args = " -dress";
                                if (nowidelut)