aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/xilinx/lutrams_map.v
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-08-20 20:18:17 -0700
committerEddie Hung <eddie@fpgeh.com>2019-08-20 20:18:17 -0700
commitb7a48e3e0f49f09e12a2b394b62256a87c398dbc (patch)
tree9667249b7e1ab86c264f44d0a2f03b326e2763fa /techlibs/xilinx/lutrams_map.v
parentc320abc3f490b09b21804581c2b386c30d186a1e (diff)
parent33960dd3d84b628f6e5de45c112368dc80626457 (diff)
downloadyosys-b7a48e3e0f49f09e12a2b394b62256a87c398dbc.tar.gz
yosys-b7a48e3e0f49f09e12a2b394b62256a87c398dbc.tar.bz2
yosys-b7a48e3e0f49f09e12a2b394b62256a87c398dbc.zip
Merge remote-tracking branch 'origin/master' into xc7dsp
Diffstat (limited to 'techlibs/xilinx/lutrams_map.v')
-rw-r--r--techlibs/xilinx/lutrams_map.v97
1 files changed, 97 insertions, 0 deletions
diff --git a/techlibs/xilinx/lutrams_map.v b/techlibs/xilinx/lutrams_map.v
new file mode 100644
index 000000000..77041ca86
--- /dev/null
+++ b/techlibs/xilinx/lutrams_map.v
@@ -0,0 +1,97 @@
+
+module \$__XILINX_RAM32X1D (CLK1, A1ADDR, A1DATA, B1ADDR, B1DATA, B1EN);
+ parameter [31:0] INIT = 32'bx;
+ parameter CLKPOL2 = 1;
+ input CLK1;
+
+ input [4:0] A1ADDR;
+ output A1DATA;
+
+ input [4:0] B1ADDR;
+ input B1DATA;
+ input B1EN;
+
+ RAM32X1D #(
+ .INIT(INIT),
+ .IS_WCLK_INVERTED(!CLKPOL2)
+ ) _TECHMAP_REPLACE_ (
+ .DPRA0(A1ADDR[0]),
+ .DPRA1(A1ADDR[1]),
+ .DPRA2(A1ADDR[2]),
+ .DPRA3(A1ADDR[3]),
+ .DPRA4(A1ADDR[4]),
+ .DPO(A1DATA),
+
+ .A0(B1ADDR[0]),
+ .A1(B1ADDR[1]),
+ .A2(B1ADDR[2]),
+ .A3(B1ADDR[3]),
+ .A4(B1ADDR[4]),
+ .D(B1DATA),
+ .WCLK(CLK1),
+ .WE(B1EN)
+ );
+endmodule
+
+module \$__XILINX_RAM64X1D (CLK1, A1ADDR, A1DATA, B1ADDR, B1DATA, B1EN);
+ parameter [63:0] INIT = 64'bx;
+ parameter CLKPOL2 = 1;
+ input CLK1;
+
+ input [5:0] A1ADDR;
+ output A1DATA;
+
+ input [5:0] B1ADDR;
+ input B1DATA;
+ input B1EN;
+
+ RAM64X1D #(
+ .INIT(INIT),
+ .IS_WCLK_INVERTED(!CLKPOL2)
+ ) _TECHMAP_REPLACE_ (
+ .DPRA0(A1ADDR[0]),
+ .DPRA1(A1ADDR[1]),
+ .DPRA2(A1ADDR[2]),
+ .DPRA3(A1ADDR[3]),
+ .DPRA4(A1ADDR[4]),
+ .DPRA5(A1ADDR[5]),
+ .DPO(A1DATA),
+
+ .A0(B1ADDR[0]),
+ .A1(B1ADDR[1]),
+ .A2(B1ADDR[2]),
+ .A3(B1ADDR[3]),
+ .A4(B1ADDR[4]),
+ .A5(B1ADDR[5]),
+ .D(B1DATA),
+ .WCLK(CLK1),
+ .WE(B1EN)
+ );
+endmodule
+
+module \$__XILINX_RAM128X1D (CLK1, A1ADDR, A1DATA, B1ADDR, B1DATA, B1EN);
+ parameter [127:0] INIT = 128'bx;
+ parameter CLKPOL2 = 1;
+ input CLK1;
+
+ input [6:0] A1ADDR;
+ output A1DATA;
+
+ input [6:0] B1ADDR;
+ input B1DATA;
+ input B1EN;
+
+ RAM128X1D #(
+ .INIT(INIT),
+ .IS_WCLK_INVERTED(!CLKPOL2)
+ ) _TECHMAP_REPLACE_ (
+ .DPRA(A1ADDR),
+ .DPO(A1DATA),
+
+ .A(B1ADDR),
+ .D(B1DATA),
+ .WCLK(CLK1),
+ .WE(B1EN)
+ );
+endmodule
+