]> rtime.felk.cvut.cz Git - fpga/plasma.git/blob - vhdl/ram_xilinx.vhd
Local copy of Plasma MIPS project.
[fpga/plasma.git] / vhdl / ram_xilinx.vhd
1 ---------------------------------------------------------------------\r
2 -- TITLE: Random Access Memory for Xilinx\r
3 -- AUTHOR: Steve Rhoads (rhoadss@yahoo.com)\r
4 -- DATE CREATED: 11/06/05\r
5 -- FILENAME: ram_xilinx.vhd\r
6 -- PROJECT: Plasma CPU core\r
7 -- COPYRIGHT: Software placed into the public domain by the author.\r
8 --    Software 'as is' without warranty.  Author liable for nothing.\r
9 -- DESCRIPTION:\r
10 --    Implements Plasma internal RAM as RAMB for Spartan 3x \r
11 --    \r
12 --    Compile the MIPS C and assembly code into "test.axf".\r
13 --    Run convert.exe to change "test.axf" to "code.txt" which\r
14 --    will contain the hex values of the opcodes.\r
15 --    Next run "ram_image ram_xilinx.vhd code.txt ram_image.vhd",\r
16 --    to create the "ram_image.vhd" file that will have the opcodes\r
17 --    correctly placed inside the INIT_00 => strings.\r
18 --    Then include ram_image.vhd in the simulation/synthesis.\r
19 --\r
20 --    Warning:  Addresses 0x1000 - 0x1FFF are reserved for the cache\r
21 --    if the DDR cache is enabled.\r
22 ---------------------------------------------------------------------\r
23 -- UPDATED: 09/07/10 Olivier Rinaudo (orinaudo@gmail.com)\r
24 -- new behaviour: 8KB expandable to 64KB of internal RAM\r
25 --\r
26 -- MEMORY MAP\r
27 --    0000..1FFF : 8KB   8KB  block0 (upper 4KB used as DDR cache)\r
28 --    2000..3FFF : 8KB  16KB  block1 \r
29 --    4000..5FFF : 8KB  24KB  block2\r
30 --    6000..7FFF : 8KB  32KB  block3\r
31 --    8000..9FFF : 8KB  40KB  block4\r
32 --    A000..BFFF : 8KB  48KB  block5\r
33 --    C000..DFFF : 8KB  56KB  block6\r
34 --    E000..FFFF : 8KB  64KB  block7\r
35 ---------------------------------------------------------------------\r
36 library ieee;\r
37 use ieee.std_logic_1164.all;\r
38 use ieee.std_logic_unsigned.all;\r
39 use work.mlite_pack.all;\r
40 \r
41 library UNISIM;\r
42 use UNISIM.vcomponents.all;\r
43 \r
44 entity ram is\r
45    generic(memory_type : string := "DEFAULT";\r
46            --Number of 8KB blocks of internal RAM, up to 64KB (1 to 8)\r
47            block_count : integer := 1); \r
48    port(clk               : in std_logic;\r
49         enable            : in std_logic;\r
50         write_byte_enable : in std_logic_vector(3 downto 0);\r
51         address           : in std_logic_vector(31 downto 2);\r
52         data_write        : in std_logic_vector(31 downto 0);\r
53         data_read         : out std_logic_vector(31 downto 0));\r
54 end; --entity ram\r
55 \r
56 architecture logic of ram is\r
57    --type\r
58    type mem32_vector IS ARRAY (NATURAL RANGE<>) OF std_logic_vector(31 downto 0);\r
59 \r
60    --Which 8KB block\r
61    alias block_sel: std_logic_vector(2 downto 0) is address(15 downto 13);\r
62 \r
63    --Address within a 8KB block (without lower two bits)\r
64    alias block_addr : std_logic_vector(10 downto 0) is address(12 downto 2);\r
65 \r
66    --Block enable with 1 bit per memory block\r
67    signal block_enable: std_logic_vector(7 downto 0);\r
68 \r
69    --Block Data Out\r
70    signal block_do: mem32_vector(7 downto 0);\r
71 \r
72    --Remember which block was selected\r
73    signal block_sel_buf: std_logic_vector(2 downto 0);\r
74 \r
75 begin\r
76    block_enable<= "00000001" when (enable='1') and (block_sel="000") else \r
77                   "00000010" when (enable='1') and (block_sel="001") else \r
78                   "00000100" when (enable='1') and (block_sel="010") else \r
79                   "00001000" when (enable='1') and (block_sel="011") else \r
80                   "00010000" when (enable='1') and (block_sel="100") else \r
81                   "00100000" when (enable='1') and (block_sel="101") else \r
82                   "01000000" when (enable='1') and (block_sel="110") else \r
83                   "10000000" when (enable='1') and (block_sel="111") else\r
84                   "00000000";\r
85   \r
86    proc_blocksel: process (clk, block_sel) is\r
87    begin\r
88       if rising_edge(clk) then \r
89          block_sel_buf <= block_sel;\r
90       end if;\r
91    end process;\r
92 \r
93    proc_do: process (block_do, block_sel_buf) is\r
94    begin\r
95       data_read <= block_do(conv_integer(block_sel_buf));\r
96    end process;\r
97         \r
98         -- BLOCKS generation\r
99    block0: if (block_count > 0) generate\r
100         begin\r
101 \r
102     ram_byte3 : RAMB16_S9\r
103    generic map (\r
104 INIT_00 => X"000000000000000000000000000000000000000000000000000000000c080400",\r
105 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
106 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
107 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
108 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
109 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
110 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
111 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
112 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
113 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
114 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
115 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
116 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
117 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
118 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
119 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
120 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
121 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
122 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
123 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
124 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
125 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
126 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
127 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
128 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
129 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
130 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
131 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
132 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
133 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
134 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
135 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
136 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
137 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
138 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
139 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
140 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
141 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
142 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
143 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
144 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
145 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
146 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
147 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
148 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
149 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
150 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
151 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
152 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
153 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
154 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
155 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
156 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
157 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
158 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
159 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
160 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
161 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
162 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
163 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
164 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
165 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
166 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
167 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
168 )\r
169     port map (\r
170       DO   => block_do(0)(31 downto 24), \r
171       DOP  => open, \r
172       ADDR => block_addr,\r
173       CLK  => clk, \r
174       DI   => data_write(31 downto 24),\r
175       DIP  => ZERO(0 downto 0),\r
176       EN   => block_enable(0),\r
177       SSR  => ZERO(0),\r
178       WE   => write_byte_enable(3));\r
179 \r
180     ram_byte2 : RAMB16_S9\r
181    generic map (\r
182 INIT_00 => X"000000000000000000000000000000000000000000000000000000000d090501",\r
183 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
184 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
185 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
186 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
187 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
188 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
189 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
190 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
191 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
192 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
193 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
194 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
195 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
196 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
197 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
198 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
199 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
200 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
201 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
202 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
203 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
204 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
205 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
206 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
207 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
208 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
209 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
210 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
211 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
212 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
213 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
214 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
215 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
216 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
217 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
218 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
219 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
220 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
221 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
222 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
223 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
224 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
225 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
226 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
227 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
228 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
229 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
230 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
231 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
232 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
233 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
234 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
235 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
236 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
237 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
238 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
239 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
240 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
241 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
242 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
243 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
244 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
245 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
246 )\r
247     port map (\r
248       DO   => block_do(0)(23 downto 16),\r
249       DOP  => open, \r
250       ADDR => block_addr,\r
251       CLK  => clk, \r
252       DI   => data_write(23 downto 16),\r
253       DIP  => ZERO(0 downto 0),\r
254       EN   => block_enable(0),\r
255       SSR  => ZERO(0),\r
256       WE   => write_byte_enable(2));\r
257         \r
258     ram_byte1 : RAMB16_S9\r
259    generic map (\r
260 INIT_00 => X"000000000000000000000000000000000000000000000000000000000e0a0602",\r
261 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
262 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
263 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
264 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
265 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
266 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
267 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
268 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
269 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
270 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
271 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
272 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
273 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
274 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
275 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
276 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
277 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
278 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
279 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
280 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
281 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
282 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
283 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
284 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
285 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
286 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
287 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
288 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
289 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
290 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
291 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
292 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
293 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
294 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
295 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
296 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
297 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
298 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
299 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
300 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
301 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
302 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
303 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
304 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
305 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
306 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
307 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
308 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
309 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
310 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
311 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
312 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
313 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
314 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
315 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
316 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
317 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
318 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
319 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
320 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
321 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
322 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
323 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
324 )\r
325     port map (\r
326       DO   => block_do(0)(15 downto 8),\r
327       DOP  => open, \r
328       ADDR => block_addr,\r
329       CLK  => clk, \r
330       DI   => data_write(15 downto 8),\r
331       DIP  => ZERO(0 downto 0),\r
332       EN   => block_enable(0),\r
333       SSR  => ZERO(0),\r
334       WE   => write_byte_enable(1));\r
335 \r
336     ram_byte0 : RAMB16_S9\r
337    generic map (\r
338 INIT_00 => X"000000000000000000000000000000000000000000000000000000000f0b0703",\r
339 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
340 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
341 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
342 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
343 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
344 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
345 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
346 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
347 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
348 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
349 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
350 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
351 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
352 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
353 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
354 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
355 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
356 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
357 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
358 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
359 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
360 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
361 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
362 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
363 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
364 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
365 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
366 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
367 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
368 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
369 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
370 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
371 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
372 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
373 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
374 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
375 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
376 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
377 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
378 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
379 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
380 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
381 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
382 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
383 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
384 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
385 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
386 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
387 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
388 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
389 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
390 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
391 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
392 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
393 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
394 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
395 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
396 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
397 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
398 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
399 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
400 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
401 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
402 )\r
403     port map (\r
404       DO   => block_do(0)(7 downto 0),\r
405       DOP  => open, \r
406       ADDR => block_addr,\r
407       CLK  => clk, \r
408       DI   => data_write(7 downto 0),\r
409       DIP  => ZERO(0 downto 0),\r
410       EN   => block_enable(0),\r
411       SSR  => ZERO(0),\r
412       WE   => write_byte_enable(0));\r
413    end generate; --block0\r
414         \r
415 \r
416    block1: if (block_count > 1) generate\r
417         begin\r
418 \r
419     ram_byte3 : RAMB16_S9\r
420    generic map (\r
421 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
422 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
423 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
424 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
425 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
426 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
427 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
428 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
429 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
430 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
431 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
432 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
433 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
434 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
435 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
436 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
437 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
438 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
439 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
440 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
441 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
442 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
443 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
444 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
445 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
446 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
447 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
448 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
449 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
450 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
451 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
452 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
453 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
454 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
455 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
456 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
457 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
458 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
459 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
460 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
461 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
462 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
463 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
464 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
465 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
466 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
467 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
468 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
469 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
470 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
471 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
472 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
473 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
474 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
475 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
476 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
477 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
478 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
479 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
480 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
481 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
482 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
483 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
484 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
485 )\r
486     port map (\r
487       DO   => block_do(1)(31 downto 24), \r
488       DOP  => open, \r
489       ADDR => block_addr,\r
490       CLK  => clk, \r
491       DI   => data_write(31 downto 24),\r
492       DIP  => ZERO(0 downto 0),\r
493       EN   => block_enable(1),\r
494       SSR  => ZERO(0),\r
495       WE   => write_byte_enable(3));\r
496 \r
497     ram_byte2 : RAMB16_S9\r
498    generic map (\r
499 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
500 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
501 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
502 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
503 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
504 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
505 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
506 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
507 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
508 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
509 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
510 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
511 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
512 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
513 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
514 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
515 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
516 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
517 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
518 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
519 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
520 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
521 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
522 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
523 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
524 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
525 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
526 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
527 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
528 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
529 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
530 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
531 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
532 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
533 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
534 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
535 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
536 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
537 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
538 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
539 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
540 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
541 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
542 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
543 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
544 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
545 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
546 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
547 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
548 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
549 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
550 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
551 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
552 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
553 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
554 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
555 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
556 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
557 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
558 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
559 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
560 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
561 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
562 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
563 )\r
564     port map (\r
565       DO   => block_do(1)(23 downto 16),\r
566       DOP  => open, \r
567       ADDR => block_addr,\r
568       CLK  => clk, \r
569       DI   => data_write(23 downto 16),\r
570       DIP  => ZERO(0 downto 0),\r
571       EN   => block_enable(1),\r
572       SSR  => ZERO(0),\r
573       WE   => write_byte_enable(2));\r
574         \r
575     ram_byte1 : RAMB16_S9\r
576    generic map (\r
577 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
578 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
579 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
580 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
581 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
582 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
583 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
584 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
585 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
586 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
587 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
588 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
589 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
590 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
591 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
592 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
593 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
594 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
595 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
596 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
597 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
598 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
599 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
600 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
601 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
602 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
603 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
604 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
605 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
606 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
607 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
608 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
609 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
610 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
611 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
612 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
613 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
614 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
615 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
616 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
617 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
618 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
619 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
620 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
621 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
622 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
623 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
624 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
625 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
626 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
627 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
628 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
629 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
630 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
631 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
632 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
633 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
634 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
635 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
636 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
637 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
638 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
639 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
640 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
641 )\r
642     port map (\r
643       DO   => block_do(1)(15 downto 8),\r
644       DOP  => open, \r
645       ADDR => block_addr,\r
646       CLK  => clk, \r
647       DI   => data_write(15 downto 8),\r
648       DIP  => ZERO(0 downto 0),\r
649       EN   => block_enable(1),\r
650       SSR  => ZERO(0),\r
651       WE   => write_byte_enable(1));\r
652 \r
653     ram_byte0 : RAMB16_S9\r
654    generic map (\r
655 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
656 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
657 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
658 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
659 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
660 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
661 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
662 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
663 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
664 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
665 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
666 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
667 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
668 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
669 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
670 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
671 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
672 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
673 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
674 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
675 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
676 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
677 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
678 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
679 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
680 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
681 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
682 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
683 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
684 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
685 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
686 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
687 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
688 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
689 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
690 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
691 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
692 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
693 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
694 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
695 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
696 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
697 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
698 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
699 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
700 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
701 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
702 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
703 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
704 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
705 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
706 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
707 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
708 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
709 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
710 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
711 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
712 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
713 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
714 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
715 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
716 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
717 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
718 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
719 )\r
720     port map (\r
721       DO   => block_do(1)(7 downto 0),\r
722       DOP  => open, \r
723       ADDR => block_addr,\r
724       CLK  => clk, \r
725       DI   => data_write(7 downto 0),\r
726       DIP  => ZERO(0 downto 0),\r
727       EN   => block_enable(1),\r
728       SSR  => ZERO(0),\r
729       WE   => write_byte_enable(0));\r
730                 \r
731    end generate; --block1\r
732         \r
733 \r
734    block2: if (block_count > 2) generate\r
735         begin\r
736 \r
737     ram_byte3 : RAMB16_S9\r
738    generic map (\r
739 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
740 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
741 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
742 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
743 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
744 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
745 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
746 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
747 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
748 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
749 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
750 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
751 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
752 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
753 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
754 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
755 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
756 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
757 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
758 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
759 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
760 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
761 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
762 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
763 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
764 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
765 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
766 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
767 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
768 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
769 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
770 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
771 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
772 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
773 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
774 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
775 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
776 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
777 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
778 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
779 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
780 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
781 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
782 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
783 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
784 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
785 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
786 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
787 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
788 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
789 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
790 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
791 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
792 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
793 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
794 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
795 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
796 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
797 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
798 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
799 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
800 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
801 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
802 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
803 )\r
804     port map (\r
805       DO   => block_do(2)(31 downto 24), \r
806       DOP  => open, \r
807       ADDR => block_addr,\r
808       CLK  => clk, \r
809       DI   => data_write(31 downto 24),\r
810       DIP  => ZERO(0 downto 0),\r
811       EN   => block_enable(2),\r
812       SSR  => ZERO(0),\r
813       WE   => write_byte_enable(3));\r
814 \r
815     ram_byte2 : RAMB16_S9\r
816    generic map (\r
817 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
818 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
819 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
820 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
821 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
822 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
823 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
824 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
825 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
826 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
827 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
828 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
829 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
830 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
831 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
832 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
833 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
834 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
835 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
836 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
837 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
838 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
839 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
840 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
841 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
842 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
843 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
844 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
845 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
846 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
847 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
848 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
849 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
850 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
851 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
852 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
853 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
854 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
855 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
856 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
857 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
858 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
859 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
860 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
861 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
862 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
863 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
864 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
865 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
866 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
867 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
868 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
869 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
870 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
871 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
872 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
873 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
874 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
875 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
876 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
877 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
878 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
879 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
880 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
881 )\r
882     port map (\r
883       DO   => block_do(2)(23 downto 16),\r
884       DOP  => open, \r
885       ADDR => block_addr,\r
886       CLK  => clk, \r
887       DI   => data_write(23 downto 16),\r
888       DIP  => ZERO(0 downto 0),\r
889       EN   => block_enable(2),\r
890       SSR  => ZERO(0),\r
891       WE   => write_byte_enable(2));\r
892         \r
893     ram_byte1 : RAMB16_S9\r
894    generic map (\r
895 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
896 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
897 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
898 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
899 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
900 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
901 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
902 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
903 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
904 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
905 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
906 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
907 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
908 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
909 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
910 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
911 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
912 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
913 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
914 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
915 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
916 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
917 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
918 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
919 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
920 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
921 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
922 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
923 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
924 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
925 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
926 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
927 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
928 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
929 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
930 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
931 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
932 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
933 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
934 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
935 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
936 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
937 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
938 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
939 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
940 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
941 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
942 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
943 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
944 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
945 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
946 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
947 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
948 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
949 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
950 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
951 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
952 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
953 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
954 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
955 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
956 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
957 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
958 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
959 )\r
960     port map (\r
961       DO   => block_do(2)(15 downto 8),\r
962       DOP  => open, \r
963       ADDR => block_addr,\r
964       CLK  => clk, \r
965       DI   => data_write(15 downto 8),\r
966       DIP  => ZERO(0 downto 0),\r
967       EN   => block_enable(2),\r
968       SSR  => ZERO(0),\r
969       WE   => write_byte_enable(1));\r
970 \r
971     ram_byte0 : RAMB16_S9\r
972    generic map (\r
973 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
974 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
975 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
976 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
977 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
978 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
979 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
980 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
981 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
982 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
983 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
984 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
985 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
986 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
987 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
988 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
989 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
990 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
991 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
992 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
993 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
994 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
995 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
996 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
997 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
998 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
999 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1000 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1001 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1002 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1003 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1004 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1005 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1006 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1007 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1008 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1009 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1010 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1011 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1012 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1013 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1014 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1015 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1016 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1017 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1018 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1019 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1020 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1021 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1022 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1023 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1024 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1025 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1026 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1027 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1028 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1029 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1030 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1031 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1032 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1033 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1034 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1035 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1036 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
1037 )\r
1038     port map (\r
1039       DO   => block_do(2)(7 downto 0),\r
1040       DOP  => open, \r
1041       ADDR => block_addr,\r
1042       CLK  => clk, \r
1043       DI   => data_write(7 downto 0),\r
1044       DIP  => ZERO(0 downto 0),\r
1045       EN   => block_enable(2),\r
1046       SSR  => ZERO(0),\r
1047       WE   => write_byte_enable(0));\r
1048                 \r
1049    end generate; --block2\r
1050 \r
1051 \r
1052    block3: if (block_count > 3) generate\r
1053         begin\r
1054 \r
1055     ram_byte3 : RAMB16_S9\r
1056    generic map (\r
1057 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1058 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1059 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1060 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1061 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1062 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1063 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1064 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1065 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1066 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1067 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1068 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1069 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1070 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1071 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1072 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1073 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1074 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1075 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1076 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1077 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1078 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1079 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1080 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1081 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1082 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1083 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1084 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1085 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1086 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1087 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1088 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1089 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1090 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1091 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1092 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1093 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1094 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1095 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1096 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1097 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1098 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1099 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1100 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1101 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1102 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1103 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1104 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1105 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1106 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1107 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1108 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1109 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1110 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1111 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1112 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1113 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1114 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1115 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1116 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1117 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1118 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1119 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1120 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
1121 )\r
1122     port map (\r
1123       DO   => block_do(3)(31 downto 24), \r
1124       DOP  => open, \r
1125       ADDR => block_addr,\r
1126       CLK  => clk, \r
1127       DI   => data_write(31 downto 24),\r
1128       DIP  => ZERO(0 downto 0),\r
1129       EN   => block_enable(3),\r
1130       SSR  => ZERO(0),\r
1131       WE   => write_byte_enable(3));\r
1132 \r
1133     ram_byte2 : RAMB16_S9\r
1134    generic map (\r
1135 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1136 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1137 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1138 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1139 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1140 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1141 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1142 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1143 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1144 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1145 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1146 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1147 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1148 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1149 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1150 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1151 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1152 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1153 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1154 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1155 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1156 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1157 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1158 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1159 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1160 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1161 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1162 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1163 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1164 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1165 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1166 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1167 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1168 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1169 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1170 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1171 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1172 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1173 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1174 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1175 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1176 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1177 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1178 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1179 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1180 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1181 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1182 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1183 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1184 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1185 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1186 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1187 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1188 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1189 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1190 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1191 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1192 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1193 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1194 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1195 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1196 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1197 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1198 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
1199 )\r
1200     port map (\r
1201       DO   => block_do(3)(23 downto 16),\r
1202       DOP  => open, \r
1203       ADDR => block_addr,\r
1204       CLK  => clk, \r
1205       DI   => data_write(23 downto 16),\r
1206       DIP  => ZERO(0 downto 0),\r
1207       EN   => block_enable(3),\r
1208       SSR  => ZERO(0),\r
1209       WE   => write_byte_enable(2));\r
1210         \r
1211     ram_byte1 : RAMB16_S9\r
1212    generic map (\r
1213 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1214 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1215 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1216 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1217 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1218 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1219 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1220 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1221 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1222 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1223 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1224 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1225 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1226 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1227 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1228 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1229 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1230 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1231 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1232 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1233 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1234 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1235 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1236 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1237 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1238 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1239 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1240 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1241 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1242 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1243 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1244 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1245 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1246 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1247 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1248 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1249 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1250 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1251 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1252 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1253 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1254 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1255 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1256 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1257 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1258 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1259 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1260 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1261 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1262 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1263 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1264 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1265 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1266 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1267 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1268 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1269 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1270 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1271 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1272 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1273 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1274 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1275 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1276 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
1277 )\r
1278     port map (\r
1279       DO   => block_do(3)(15 downto 8),\r
1280       DOP  => open, \r
1281       ADDR => block_addr,\r
1282       CLK  => clk, \r
1283       DI   => data_write(15 downto 8),\r
1284       DIP  => ZERO(0 downto 0),\r
1285       EN   => block_enable(3),\r
1286       SSR  => ZERO(0),\r
1287       WE   => write_byte_enable(1));\r
1288 \r
1289     ram_byte0 : RAMB16_S9\r
1290    generic map (\r
1291 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1292 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1293 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1294 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1295 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1296 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1297 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1298 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1299 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1300 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1301 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1302 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1303 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1304 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1305 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1306 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1307 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1308 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1309 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1310 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1311 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1312 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1313 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1314 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1315 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1316 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1317 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1318 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1319 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1320 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1321 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1322 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1323 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1324 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1325 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1326 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1327 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1328 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1329 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1330 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1331 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1332 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1333 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1334 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1335 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1336 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1337 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1338 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1339 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1340 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1341 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1342 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1343 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1344 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1345 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1346 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1347 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1348 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1349 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1350 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1351 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1352 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1353 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1354 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
1355 )\r
1356     port map (\r
1357       DO   => block_do(3)(7 downto 0),\r
1358       DOP  => open, \r
1359       ADDR => block_addr,\r
1360       CLK  => clk, \r
1361       DI   => data_write(7 downto 0),\r
1362       DIP  => ZERO(0 downto 0),\r
1363       EN   => block_enable(3),\r
1364       SSR  => ZERO(0),\r
1365       WE   => write_byte_enable(0));\r
1366                 \r
1367    end generate; --block3\r
1368 \r
1369 \r
1370    block4: if (block_count > 4) generate\r
1371         begin\r
1372 \r
1373     ram_byte3 : RAMB16_S9\r
1374    generic map (\r
1375 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1376 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1377 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1378 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1379 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1380 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1381 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1382 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1383 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1384 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1385 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1386 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1387 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1388 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1389 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1390 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1391 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1392 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1393 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1394 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1395 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1396 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1397 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1398 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1399 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1400 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1401 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1402 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1403 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1404 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1405 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1406 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1407 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1408 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1409 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1410 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1411 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1412 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1413 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1414 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1415 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1416 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1417 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1418 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1419 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1420 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1421 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1422 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1423 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1424 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1425 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1426 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1427 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1428 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1429 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1430 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1431 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1432 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1433 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1434 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1435 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1436 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1437 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1438 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
1439 )\r
1440     port map (\r
1441       DO   => block_do(4)(31 downto 24), \r
1442       DOP  => open, \r
1443       ADDR => block_addr,\r
1444       CLK  => clk, \r
1445       DI   => data_write(31 downto 24),\r
1446       DIP  => ZERO(0 downto 0),\r
1447       EN   => block_enable(4),\r
1448       SSR  => ZERO(0),\r
1449       WE   => write_byte_enable(3));\r
1450 \r
1451     ram_byte2 : RAMB16_S9\r
1452    generic map (\r
1453 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1454 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1455 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1456 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1457 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1458 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1459 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1460 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1461 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1462 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1463 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1464 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1465 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1466 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1467 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1468 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1469 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1470 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1471 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1472 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1473 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1474 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1475 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1476 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1477 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1478 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1479 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1480 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1481 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1482 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1483 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1484 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1485 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1486 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1487 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1488 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1489 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1490 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1491 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1492 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1493 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1494 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1495 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1496 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1497 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1498 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1499 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1500 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1501 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1502 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1503 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1504 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1505 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1506 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1507 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1508 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1509 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1510 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1511 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1512 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1513 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1514 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1515 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1516 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
1517 )\r
1518     port map (\r
1519       DO   => block_do(4)(23 downto 16),\r
1520       DOP  => open, \r
1521       ADDR => block_addr,\r
1522       CLK  => clk, \r
1523       DI   => data_write(23 downto 16),\r
1524       DIP  => ZERO(0 downto 0),\r
1525       EN   => block_enable(4),\r
1526       SSR  => ZERO(0),\r
1527       WE   => write_byte_enable(2));\r
1528         \r
1529     ram_byte1 : RAMB16_S9\r
1530    generic map (\r
1531 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1532 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1533 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1534 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1535 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1536 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1537 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1538 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1539 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1540 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1541 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1542 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1543 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1544 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1545 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1546 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1547 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1548 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1549 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1550 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1551 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1552 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1553 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1554 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1555 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1556 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1557 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1558 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1559 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1560 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1561 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1562 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1563 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1564 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1565 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1566 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1567 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1568 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1569 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1570 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1571 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1572 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1573 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1574 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1575 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1576 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1577 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1578 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1579 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1580 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1581 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1582 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1583 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1584 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1585 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1586 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1587 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1588 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1589 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1590 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1591 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1592 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1593 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1594 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
1595 )\r
1596     port map (\r
1597       DO   => block_do(4)(15 downto 8),\r
1598       DOP  => open, \r
1599       ADDR => block_addr,\r
1600       CLK  => clk, \r
1601       DI   => data_write(15 downto 8),\r
1602       DIP  => ZERO(0 downto 0),\r
1603       EN   => block_enable(4),\r
1604       SSR  => ZERO(0),\r
1605       WE   => write_byte_enable(1));\r
1606 \r
1607     ram_byte0 : RAMB16_S9\r
1608    generic map (\r
1609 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1610 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1611 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1612 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1613 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1614 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1615 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1616 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1617 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1618 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1619 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1620 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1621 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1622 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1623 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1624 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1625 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1626 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1627 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1628 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1629 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1630 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1631 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1632 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1633 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1634 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1635 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1636 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1637 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1638 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1639 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1640 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1641 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1642 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1643 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1644 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1645 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1646 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1647 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1648 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1649 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1650 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1651 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1652 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1653 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1654 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1655 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1656 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1657 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1658 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1659 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1660 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1661 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1662 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1663 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1664 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1665 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1666 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1667 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1668 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1669 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1670 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1671 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1672 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
1673 )\r
1674     port map (\r
1675       DO   => block_do(4)(7 downto 0),\r
1676       DOP  => open, \r
1677       ADDR => block_addr,\r
1678       CLK  => clk, \r
1679       DI   => data_write(7 downto 0),\r
1680       DIP  => ZERO(0 downto 0),\r
1681       EN   => block_enable(4),\r
1682       SSR  => ZERO(0),\r
1683       WE   => write_byte_enable(0));\r
1684                 \r
1685    end generate; --block4\r
1686 \r
1687 \r
1688    block5: if (block_count > 5) generate\r
1689         begin\r
1690 \r
1691     ram_byte3 : RAMB16_S9\r
1692    generic map (\r
1693 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1694 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1695 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1696 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1697 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1698 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1699 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1700 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1701 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1702 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1703 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1704 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1705 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1706 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1707 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1708 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1709 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1710 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1711 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1712 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1713 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1714 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1715 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1716 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1717 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1718 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1719 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1720 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1721 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1722 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1723 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1724 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1725 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1726 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1727 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1728 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1729 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1730 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1731 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1732 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1733 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1734 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1735 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1736 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1737 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1738 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1739 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1740 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1741 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1742 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1743 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1744 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1745 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1746 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1747 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1748 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1749 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1750 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1751 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1752 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1753 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1754 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1755 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1756 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
1757 )\r
1758     port map (\r
1759       DO   => block_do(5)(31 downto 24), \r
1760       DOP  => open, \r
1761       ADDR => block_addr,\r
1762       CLK  => clk, \r
1763       DI   => data_write(31 downto 24),\r
1764       DIP  => ZERO(0 downto 0),\r
1765       EN   => block_enable(5),\r
1766       SSR  => ZERO(0),\r
1767       WE   => write_byte_enable(3));\r
1768 \r
1769     ram_byte2 : RAMB16_S9\r
1770    generic map (\r
1771 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1772 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1773 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1774 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1775 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1776 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1777 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1778 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1779 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1780 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1781 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1782 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1783 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1784 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1785 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1786 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1787 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1788 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1789 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1790 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1791 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1792 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1793 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1794 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1795 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1796 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1797 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1798 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1799 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1800 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1801 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1802 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1803 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1804 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1805 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1806 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1807 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1808 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1809 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1810 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1811 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1812 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1813 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1814 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1815 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1816 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1817 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1818 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1819 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1820 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1821 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1822 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1823 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1824 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1825 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1826 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1827 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1828 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1829 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1830 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1831 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1832 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1833 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1834 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
1835 )\r
1836     port map (\r
1837       DO   => block_do(5)(23 downto 16),\r
1838       DOP  => open, \r
1839       ADDR => block_addr,\r
1840       CLK  => clk, \r
1841       DI   => data_write(23 downto 16),\r
1842       DIP  => ZERO(0 downto 0),\r
1843       EN   => block_enable(5),\r
1844       SSR  => ZERO(0),\r
1845       WE   => write_byte_enable(2));\r
1846         \r
1847     ram_byte1 : RAMB16_S9\r
1848    generic map (\r
1849 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1850 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1851 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1852 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1853 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1854 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1855 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1856 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1857 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1858 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1859 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1860 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1861 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1862 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1863 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1864 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1865 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1866 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1867 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1868 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1869 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1870 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1871 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1872 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1873 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1874 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1875 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1876 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1877 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1878 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1879 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1880 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1881 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1882 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1883 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1884 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1885 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1886 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1887 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1888 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1889 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1890 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1891 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1892 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1893 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1894 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1895 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1896 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1897 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1898 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1899 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1900 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1901 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1902 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1903 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1904 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1905 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1906 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1907 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1908 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1909 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1910 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1911 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1912 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
1913 )\r
1914     port map (\r
1915       DO   => block_do(5)(15 downto 8),\r
1916       DOP  => open, \r
1917       ADDR => block_addr,\r
1918       CLK  => clk, \r
1919       DI   => data_write(15 downto 8),\r
1920       DIP  => ZERO(0 downto 0),\r
1921       EN   => block_enable(5),\r
1922       SSR  => ZERO(0),\r
1923       WE   => write_byte_enable(1));\r
1924 \r
1925     ram_byte0 : RAMB16_S9\r
1926    generic map (\r
1927 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1928 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1929 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1930 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1931 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1932 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1933 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1934 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1935 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1936 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1937 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1938 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1939 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1940 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1941 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1942 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1943 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1944 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1945 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1946 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1947 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1948 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1949 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1950 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1951 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1952 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1953 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1954 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1955 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1956 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1957 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1958 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1959 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1960 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1961 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1962 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1963 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1964 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1965 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1966 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1967 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1968 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1969 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1970 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1971 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1972 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1973 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1974 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1975 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1976 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1977 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1978 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1979 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1980 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1981 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1982 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1983 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1984 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1985 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1986 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1987 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1988 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1989 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
1990 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
1991 )\r
1992     port map (\r
1993       DO   => block_do(5)(7 downto 0),\r
1994       DOP  => open, \r
1995       ADDR => block_addr,\r
1996       CLK  => clk, \r
1997       DI   => data_write(7 downto 0),\r
1998       DIP  => ZERO(0 downto 0),\r
1999       EN   => block_enable(5),\r
2000       SSR  => ZERO(0),\r
2001       WE   => write_byte_enable(0));\r
2002                 \r
2003    end generate; --block5\r
2004 \r
2005 \r
2006    block6: if (block_count > 6) generate\r
2007         begin\r
2008 \r
2009     ram_byte3 : RAMB16_S9\r
2010    generic map (\r
2011 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2012 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2013 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2014 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2015 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2016 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2017 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2018 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2019 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2020 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2021 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2022 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2023 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2024 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2025 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2026 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2027 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2028 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2029 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2030 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2031 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2032 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2033 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2034 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2035 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2036 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2037 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2038 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2039 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2040 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2041 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2042 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2043 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2044 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2045 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2046 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2047 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2048 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2049 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2050 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2051 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2052 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2053 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2054 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2055 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2056 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2057 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2058 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2059 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2060 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2061 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2062 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2063 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2064 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2065 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2066 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2067 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2068 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2069 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2070 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2071 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2072 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2073 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2074 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
2075 )\r
2076     port map (\r
2077       DO   => block_do(6)(31 downto 24), \r
2078       DOP  => open, \r
2079       ADDR => block_addr,\r
2080       CLK  => clk, \r
2081       DI   => data_write(31 downto 24),\r
2082       DIP  => ZERO(0 downto 0),\r
2083       EN   => block_enable(6),\r
2084       SSR  => ZERO(0),\r
2085       WE   => write_byte_enable(3));\r
2086 \r
2087     ram_byte2 : RAMB16_S9\r
2088    generic map (\r
2089 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2090 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2091 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2092 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2093 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2094 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2095 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2096 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2097 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2098 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2099 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2100 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2101 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2102 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2103 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2104 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2105 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2106 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2107 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2108 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2109 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2110 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2111 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2112 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2113 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2114 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2115 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2116 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2117 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2118 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2119 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2120 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2121 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2122 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2123 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2124 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2125 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2126 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2127 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2128 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2129 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2130 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2131 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2132 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2133 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2134 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2135 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2136 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2137 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2138 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2139 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2140 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2141 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2142 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2143 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2144 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2145 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2146 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2147 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2148 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2149 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2150 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2151 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2152 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
2153 )\r
2154     port map (\r
2155       DO   => block_do(6)(23 downto 16),\r
2156       DOP  => open, \r
2157       ADDR => block_addr,\r
2158       CLK  => clk, \r
2159       DI   => data_write(23 downto 16),\r
2160       DIP  => ZERO(0 downto 0),\r
2161       EN   => block_enable(6),\r
2162       SSR  => ZERO(0),\r
2163       WE   => write_byte_enable(2));\r
2164         \r
2165     ram_byte1 : RAMB16_S9\r
2166    generic map (\r
2167 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2168 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2169 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2170 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2171 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2172 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2173 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2174 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2175 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2176 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2177 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2178 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2179 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2180 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2181 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2182 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2183 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2184 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2185 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2186 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2187 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2188 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2189 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2190 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2191 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2192 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2193 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2194 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2195 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2196 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2197 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2198 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2199 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2200 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2201 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2202 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2203 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2204 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2205 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2206 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2207 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2208 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2209 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2210 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2211 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2212 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2213 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2214 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2215 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2216 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2217 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2218 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2219 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2220 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2221 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2222 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2223 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2224 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2225 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2226 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2227 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2228 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2229 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2230 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
2231 )\r
2232     port map (\r
2233       DO   => block_do(6)(15 downto 8),\r
2234       DOP  => open, \r
2235       ADDR => block_addr,\r
2236       CLK  => clk, \r
2237       DI   => data_write(15 downto 8),\r
2238       DIP  => ZERO(0 downto 0),\r
2239       EN   => block_enable(6),\r
2240       SSR  => ZERO(0),\r
2241       WE   => write_byte_enable(1));\r
2242 \r
2243     ram_byte0 : RAMB16_S9\r
2244    generic map (\r
2245 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2246 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2247 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2248 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2249 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2250 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2251 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2252 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2253 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2254 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2255 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2256 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2257 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2258 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2259 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2260 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2261 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2262 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2263 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2264 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2265 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2266 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2267 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2268 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2269 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2270 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2271 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2272 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2273 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2274 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2275 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2276 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2277 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2278 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2279 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2280 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2281 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2282 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2283 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2284 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2285 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2286 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2287 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2288 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2289 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2290 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2291 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2292 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2293 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2294 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2295 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2296 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2297 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2298 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2299 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2300 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2301 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2302 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2303 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2304 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2305 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2306 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2307 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2308 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
2309 )\r
2310     port map (\r
2311       DO   => block_do(6)(7 downto 0),\r
2312       DOP  => open, \r
2313       ADDR => block_addr,\r
2314       CLK  => clk, \r
2315       DI   => data_write(7 downto 0),\r
2316       DIP  => ZERO(0 downto 0),\r
2317       EN   => block_enable(6),\r
2318       SSR  => ZERO(0),\r
2319       WE   => write_byte_enable(0));\r
2320                 \r
2321    end generate; --block6\r
2322 \r
2323 \r
2324    block7: if (block_count > 7) generate\r
2325         begin\r
2326 \r
2327     ram_byte3 : RAMB16_S9\r
2328    generic map (\r
2329 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2330 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2331 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2332 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2333 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2334 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2335 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2336 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2337 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2338 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2339 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2340 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2341 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2342 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2343 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2344 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2345 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2346 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2347 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2348 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2349 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2350 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2351 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2352 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2353 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2354 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2355 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2356 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2357 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2358 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2359 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2360 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2361 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2362 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2363 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2364 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2365 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2366 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2367 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2368 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2369 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2370 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2371 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2372 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2373 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2374 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2375 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2376 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2377 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2378 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2379 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2380 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2381 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2382 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2383 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2384 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2385 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2386 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2387 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2388 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2389 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2390 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2391 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2392 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
2393 )\r
2394     port map (\r
2395       DO   => block_do(7)(31 downto 24), \r
2396       DOP  => open, \r
2397       ADDR => block_addr,\r
2398       CLK  => clk, \r
2399       DI   => data_write(31 downto 24),\r
2400       DIP  => ZERO(0 downto 0),\r
2401       EN   => block_enable(7),\r
2402       SSR  => ZERO(0),\r
2403       WE   => write_byte_enable(3));\r
2404 \r
2405     ram_byte2 : RAMB16_S9\r
2406    generic map (\r
2407 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2408 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2409 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2410 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2411 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2412 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2413 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2414 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2415 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2416 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2417 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2418 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2419 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2420 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2421 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2422 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2423 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2424 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2425 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2426 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2427 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2428 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2429 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2430 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2431 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2432 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2433 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2434 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2435 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2436 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2437 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2438 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2439 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2440 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2441 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2442 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2443 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2444 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2445 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2446 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2447 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2448 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2449 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2450 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2451 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2452 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2453 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2454 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2455 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2456 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2457 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2458 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2459 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2460 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2461 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2462 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2463 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2464 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2465 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2466 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2467 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2468 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2469 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2470 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
2471 )\r
2472     port map (\r
2473       DO   => block_do(7)(23 downto 16),\r
2474       DOP  => open, \r
2475       ADDR => block_addr,\r
2476       CLK  => clk, \r
2477       DI   => data_write(23 downto 16),\r
2478       DIP  => ZERO(0 downto 0),\r
2479       EN   => block_enable(7),\r
2480       SSR  => ZERO(0),\r
2481       WE   => write_byte_enable(2));\r
2482         \r
2483     ram_byte1 : RAMB16_S9\r
2484    generic map (\r
2485 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2486 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2487 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2488 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2489 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2490 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2491 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2492 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2493 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2494 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2495 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2496 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2497 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2498 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2499 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2500 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2501 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2502 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2503 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2504 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2505 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2506 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2507 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2508 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2509 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2510 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2511 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2512 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2513 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2514 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2515 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2516 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2517 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2518 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2519 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2520 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2521 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2522 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2523 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2524 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2525 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2526 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2527 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2528 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2529 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2530 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2531 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2532 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2533 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2534 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2535 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2536 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2537 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2538 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2539 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2540 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2541 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2542 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2543 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2544 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2545 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2546 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2547 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2548 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
2549 )\r
2550     port map (\r
2551       DO   => block_do(7)(15 downto 8),\r
2552       DOP  => open, \r
2553       ADDR => block_addr,\r
2554       CLK  => clk, \r
2555       DI   => data_write(15 downto 8),\r
2556       DIP  => ZERO(0 downto 0),\r
2557       EN   => block_enable(7),\r
2558       SSR  => ZERO(0),\r
2559       WE   => write_byte_enable(1));\r
2560 \r
2561     ram_byte0 : RAMB16_S9\r
2562    generic map (\r
2563 INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2564 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2565 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2566 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2567 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2568 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2569 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2570 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2571 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2572 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2573 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2574 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2575 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2576 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2577 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2578 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2579 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2580 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2581 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2582 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2583 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2584 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2585 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2586 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2587 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2588 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2589 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2590 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2591 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2592 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2593 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2594 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2595 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2596 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2597 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2598 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2599 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2600 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2601 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2602 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2603 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2604 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2605 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2606 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2607 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2608 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2609 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2610 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2611 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2612 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2613 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2614 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2615 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2616 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2617 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2618 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2619 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2620 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2621 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2622 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2623 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2624 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2625 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
2626 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
2627 )\r
2628     port map (\r
2629       DO   => block_do(7)(7 downto 0),\r
2630       DOP  => open, \r
2631       ADDR => block_addr,\r
2632       CLK  => clk, \r
2633       DI   => data_write(7 downto 0),\r
2634       DIP  => ZERO(0 downto 0),\r
2635       EN   => block_enable(7),\r
2636       SSR  => ZERO(0),\r
2637       WE   => write_byte_enable(0));\r
2638                 \r
2639    end generate; --block7\r
2640 \r
2641 end; --architecture logic\r