aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/ecp5/abc9_map.v
diff options
context:
space:
mode:
Diffstat (limited to 'techlibs/ecp5/abc9_map.v')
-rw-r--r--techlibs/ecp5/abc9_map.v27
1 files changed, 27 insertions, 0 deletions
diff --git a/techlibs/ecp5/abc9_map.v b/techlibs/ecp5/abc9_map.v
new file mode 100644
index 000000000..113a35b91
--- /dev/null
+++ b/techlibs/ecp5/abc9_map.v
@@ -0,0 +1,27 @@
+// ---------------------------------------
+
+// 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