OpenCores
URL https://opencores.org/ocsvn/plasma/plasma/trunk

Subversion Repositories plasma

[/] [plasma/] [trunk/] [vhdl/] [ram_xilinx.vhd] - Blame information for rev 384

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.