aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/ecp5/abc9_map.v
blob: 113a35b9194ed5bedad11d96d5a7c6262e9858c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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