Merge remote-tracking branch 'origin/master' into mwk/xilinx_bufgmap
[yosys.git] / techlibs / xilinx / xc6s_brams_bb.v
1 module RAMB8BWER (
2 (* clkbuf_sink *)
3 input CLKAWRCLK,
4 (* clkbuf_sink *)
5 input CLKBRDCLK,
6 input ENAWREN,
7 input ENBRDEN,
8 input REGCEA,
9 input REGCEBREGCE,
10 input RSTA,
11 input RSTBRST,
12
13 input [12:0] ADDRAWRADDR,
14 input [12:0] ADDRBRDADDR,
15 input [15:0] DIADI,
16 input [15:0] DIBDI,
17 input [1:0] DIPADIP,
18 input [1:0] DIPBDIP,
19 input [1:0] WEAWEL,
20 input [1:0] WEBWEU,
21
22 output [15:0] DOADO,
23 output [15:0] DOBDO,
24 output [1:0] DOPADOP,
25 output [1:0] DOPBDOP
26 );
27 parameter INITP_00 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
28 parameter INITP_01 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
29 parameter INITP_02 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
30 parameter INITP_03 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
31
32 parameter INIT_00 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
33 parameter INIT_01 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
34 parameter INIT_02 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
35 parameter INIT_03 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
36 parameter INIT_04 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
37 parameter INIT_05 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
38 parameter INIT_06 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
39 parameter INIT_07 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
40 parameter INIT_08 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
41 parameter INIT_09 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
42 parameter INIT_0A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
43 parameter INIT_0B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
44 parameter INIT_0C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
45 parameter INIT_0D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
46 parameter INIT_0E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
47 parameter INIT_0F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
48 parameter INIT_10 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
49 parameter INIT_11 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
50 parameter INIT_12 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
51 parameter INIT_13 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
52 parameter INIT_14 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
53 parameter INIT_15 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
54 parameter INIT_16 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
55 parameter INIT_17 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
56 parameter INIT_18 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
57 parameter INIT_19 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
58 parameter INIT_1A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
59 parameter INIT_1B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
60 parameter INIT_1C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
61 parameter INIT_1D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
62 parameter INIT_1E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
63 parameter INIT_1F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
64
65 parameter RAM_MODE = "TDP";
66 parameter integer DOA_REG = 0;
67 parameter integer DOB_REG = 0;
68
69 parameter integer DATA_WIDTH_A = 0;
70 parameter integer DATA_WIDTH_B = 0;
71
72 parameter WRITE_MODE_A = "WRITE_FIRST";
73 parameter WRITE_MODE_B = "WRITE_FIRST";
74
75 parameter EN_RSTRAM_A = "TRUE";
76 parameter EN_RSTRAM_B = "TRUE";
77
78 parameter INIT_A = 18'h000000000;
79 parameter INIT_B = 18'h000000000;
80 parameter SRVAL_A = 18'h000000000;
81 parameter SRVAL_B = 18'h000000000;
82
83 parameter RST_PRIORITY_A = "CE";
84 parameter RST_PRIORITY_B = "CE";
85
86 parameter RSTTYPE = "SYNC";
87
88 parameter SIM_COLLISION_CHECK = "ALL";
89 endmodule
90
91 module RAMB16BWER (
92 (* clkbuf_sink *)
93 input CLKA,
94 (* clkbuf_sink *)
95 input CLKB,
96 input ENA,
97 input ENB,
98 input REGCEA,
99 input REGCEB,
100 input RSTA,
101 input RSTB,
102
103 input [13:0] ADDRA,
104 input [13:0] ADDRB,
105 input [31:0] DIA,
106 input [31:0] DIB,
107 input [3:0] DIPA,
108 input [3:0] DIPB,
109 input [3:0] WEA,
110 input [3:0] WEB,
111
112 output [31:0] DOA,
113 output [31:0] DOB,
114 output [3:0] DOPA,
115 output [3:0] DOPB
116 );
117 parameter INITP_00 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
118 parameter INITP_01 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
119 parameter INITP_02 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
120 parameter INITP_03 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
121 parameter INITP_04 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
122 parameter INITP_05 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
123 parameter INITP_06 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
124 parameter INITP_07 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
125
126 parameter INIT_00 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
127 parameter INIT_01 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
128 parameter INIT_02 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
129 parameter INIT_03 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
130 parameter INIT_04 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
131 parameter INIT_05 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
132 parameter INIT_06 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
133 parameter INIT_07 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
134 parameter INIT_08 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
135 parameter INIT_09 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
136 parameter INIT_0A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
137 parameter INIT_0B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
138 parameter INIT_0C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
139 parameter INIT_0D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
140 parameter INIT_0E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
141 parameter INIT_0F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
142 parameter INIT_10 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
143 parameter INIT_11 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
144 parameter INIT_12 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
145 parameter INIT_13 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
146 parameter INIT_14 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
147 parameter INIT_15 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
148 parameter INIT_16 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
149 parameter INIT_17 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
150 parameter INIT_18 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
151 parameter INIT_19 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
152 parameter INIT_1A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
153 parameter INIT_1B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
154 parameter INIT_1C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
155 parameter INIT_1D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
156 parameter INIT_1E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
157 parameter INIT_1F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
158 parameter INIT_20 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
159 parameter INIT_21 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
160 parameter INIT_22 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
161 parameter INIT_23 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
162 parameter INIT_24 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
163 parameter INIT_25 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
164 parameter INIT_26 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
165 parameter INIT_27 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
166 parameter INIT_28 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
167 parameter INIT_29 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
168 parameter INIT_2A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
169 parameter INIT_2B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
170 parameter INIT_2C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
171 parameter INIT_2D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
172 parameter INIT_2E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
173 parameter INIT_2F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
174 parameter INIT_30 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
175 parameter INIT_31 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
176 parameter INIT_32 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
177 parameter INIT_33 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
178 parameter INIT_34 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
179 parameter INIT_35 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
180 parameter INIT_36 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
181 parameter INIT_37 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
182 parameter INIT_38 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
183 parameter INIT_39 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
184 parameter INIT_3A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
185 parameter INIT_3B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
186 parameter INIT_3C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
187 parameter INIT_3D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
188 parameter INIT_3E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
189 parameter INIT_3F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
190
191 parameter integer DOA_REG = 0;
192 parameter integer DOB_REG = 0;
193
194 parameter integer DATA_WIDTH_A = 0;
195 parameter integer DATA_WIDTH_B = 0;
196
197 parameter WRITE_MODE_A = "WRITE_FIRST";
198 parameter WRITE_MODE_B = "WRITE_FIRST";
199
200 parameter EN_RSTRAM_A = "TRUE";
201 parameter EN_RSTRAM_B = "TRUE";
202
203 parameter INIT_A = 36'h000000000;
204 parameter INIT_B = 36'h000000000;
205 parameter SRVAL_A = 36'h000000000;
206 parameter SRVAL_B = 36'h000000000;
207
208 parameter RST_PRIORITY_A = "CE";
209 parameter RST_PRIORITY_B = "CE";
210
211 parameter RSTTYPE = "SYNC";
212
213 parameter SIM_COLLISION_CHECK = "ALL";
214 endmodule
215