2019-08-21 03:59:03 +02:00
|
|
|
// ---------------------------------------
|
|
|
|
|
|
2020-01-01 03:29:29 +01:00
|
|
|
// Attach a (combinatorial) black-box onto the output
|
|
|
|
|
// of this LUTRAM primitive to capture its
|
|
|
|
|
// asynchronous read behaviour
|
2019-08-21 03:59:03 +02:00
|
|
|
module TRELLIS_DPR16X4 (
|
2020-01-01 03:29:29 +01:00
|
|
|
(* 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,
|
2019-08-21 03:59:03 +02:00
|
|
|
output [3:0] DO
|
|
|
|
|
);
|
|
|
|
|
parameter WCKMUX = "WCK";
|
|
|
|
|
parameter WREMUX = "WRE";
|
|
|
|
|
parameter [63:0] INITVAL = 64'h0000000000000000;
|
2020-01-01 03:29:29 +01:00
|
|
|
wire [3:0] $DO;
|
2019-08-21 03:59:03 +02:00
|
|
|
|
2019-08-21 04:18:36 +02:00
|
|
|
TRELLIS_DPR16X4 #(
|
2019-08-21 03:59:03 +02:00
|
|
|
.WCKMUX(WCKMUX), .WREMUX(WREMUX), .INITVAL(INITVAL)
|
|
|
|
|
) _TECHMAP_REPLACE_ (
|
|
|
|
|
.DI(DI), .WAD(WAD), .WRE(WRE), .WCK(WCK),
|
2020-01-01 03:29:29 +01:00
|
|
|
.RAD(RAD), .DO($DO)
|
2019-08-21 03:59:03 +02:00
|
|
|
);
|
|
|
|
|
|
2020-01-01 03:29:29 +01:00
|
|
|
$__ABC9_DPR16X4_COMB do (.$DO($DO), .RAD(RAD), .DO(DO));
|
2019-08-21 03:59:03 +02:00
|
|
|
endmodule
|