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