+---------------------------------------------------------------------\r
+-- TITLE: Random Access Memory for Xilinx\r
+-- AUTHOR: Steve Rhoads (rhoadss@yahoo.com)\r
+-- DATE CREATED: 11/06/05\r
+-- FILENAME: ram_xilinx.vhd\r
+-- PROJECT: Plasma CPU core\r
+-- COPYRIGHT: Software placed into the public domain by the author.\r
+-- Software 'as is' without warranty. Author liable for nothing.\r
+-- DESCRIPTION:\r
+-- Implements Plasma internal RAM as RAMB for Spartan 3x \r
+-- \r
+-- Compile the MIPS C and assembly code into "test.axf".\r
+-- Run convert.exe to change "test.axf" to "code.txt" which\r
+-- will contain the hex values of the opcodes.\r
+-- Next run "ram_image ram_xilinx.vhd code.txt ram_image.vhd",\r
+-- to create the "ram_image.vhd" file that will have the opcodes\r
+-- correctly placed inside the INIT_00 => strings.\r
+-- Then include ram_image.vhd in the simulation/synthesis.\r
+--\r
+-- Warning: Addresses 0x1000 - 0x1FFF are reserved for the cache\r
+-- if the DDR cache is enabled.\r
+---------------------------------------------------------------------\r
+-- UPDATED: 09/07/10 Olivier Rinaudo (orinaudo@gmail.com)\r
+-- new behaviour: 8KB expandable to 64KB of internal RAM\r
+--\r
+-- MEMORY MAP\r
+-- 0000..1FFF : 8KB 8KB block0 (upper 4KB used as DDR cache)\r
+-- 2000..3FFF : 8KB 16KB block1 \r
+-- 4000..5FFF : 8KB 24KB block2\r
+-- 6000..7FFF : 8KB 32KB block3\r
+-- 8000..9FFF : 8KB 40KB block4\r
+-- A000..BFFF : 8KB 48KB block5\r
+-- C000..DFFF : 8KB 56KB block6\r
+-- E000..FFFF : 8KB 64KB block7\r
+---------------------------------------------------------------------\r
+library ieee;\r
+use ieee.std_logic_1164.all;\r
+use ieee.std_logic_unsigned.all;\r
+use work.mlite_pack.all;\r
+\r
+library UNISIM;\r
+use UNISIM.vcomponents.all;\r
+\r
+entity ram is\r
+ generic(memory_type : string := "DEFAULT";\r
+ --Number of 8KB blocks of internal RAM, up to 64KB (1 to 8)\r
+ block_count : integer := 1); \r
+ port(clk : in std_logic;\r
+ enable : in std_logic;\r
+ write_byte_enable : in std_logic_vector(3 downto 0);\r
+ address : in std_logic_vector(31 downto 2);\r
+ data_write : in std_logic_vector(31 downto 0);\r
+ data_read : out std_logic_vector(31 downto 0));\r
+end; --entity ram\r
+\r
+architecture logic of ram is\r
+ --type\r
+ type mem32_vector IS ARRAY (NATURAL RANGE<>) OF std_logic_vector(31 downto 0);\r
+\r
+ --Which 8KB block\r
+ alias block_sel: std_logic_vector(2 downto 0) is address(15 downto 13);\r
+\r
+ --Address within a 8KB block (without lower two bits)\r
+ alias block_addr : std_logic_vector(10 downto 0) is address(12 downto 2);\r
+\r
+ --Block enable with 1 bit per memory block\r
+ signal block_enable: std_logic_vector(7 downto 0);\r
+\r
+ --Block Data Out\r
+ signal block_do: mem32_vector(7 downto 0);\r
+\r
+ --Remember which block was selected\r
+ signal block_sel_buf: std_logic_vector(2 downto 0);\r
+\r
+begin\r
+ block_enable<= "00000001" when (enable='1') and (block_sel="000") else \r
+ "00000010" when (enable='1') and (block_sel="001") else \r
+ "00000100" when (enable='1') and (block_sel="010") else \r
+ "00001000" when (enable='1') and (block_sel="011") else \r
+ "00010000" when (enable='1') and (block_sel="100") else \r
+ "00100000" when (enable='1') and (block_sel="101") else \r
+ "01000000" when (enable='1') and (block_sel="110") else \r
+ "10000000" when (enable='1') and (block_sel="111") else\r
+ "00000000";\r
+ \r
+ proc_blocksel: process (clk, block_sel) is\r
+ begin\r
+ if rising_edge(clk) then \r
+ block_sel_buf <= block_sel;\r
+ end if;\r
+ end process;\r
+\r
+ proc_do: process (block_do, block_sel_buf) is\r
+ begin\r
+ data_read <= block_do(conv_integer(block_sel_buf));\r
+ end process;\r
+ \r
+ -- BLOCKS generation\r
+ block0: if (block_count > 0) generate\r
+ begin\r
+\r
+ ram_byte3 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"000000000000000000000000000000000000000000000000000000000c080400",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(0)(31 downto 24), \r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(31 downto 24),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(0),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(3));\r
+\r
+ ram_byte2 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"000000000000000000000000000000000000000000000000000000000d090501",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(0)(23 downto 16),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(23 downto 16),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(0),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(2));\r
+ \r
+ ram_byte1 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"000000000000000000000000000000000000000000000000000000000e0a0602",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(0)(15 downto 8),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(15 downto 8),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(0),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(1));\r
+\r
+ ram_byte0 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"000000000000000000000000000000000000000000000000000000000f0b0703",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(0)(7 downto 0),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(7 downto 0),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(0),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(0));\r
+ end generate; --block0\r
+ \r
+\r
+ block1: if (block_count > 1) generate\r
+ begin\r
+\r
+ ram_byte3 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(1)(31 downto 24), \r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(31 downto 24),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(1),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(3));\r
+\r
+ ram_byte2 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(1)(23 downto 16),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(23 downto 16),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(1),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(2));\r
+ \r
+ ram_byte1 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(1)(15 downto 8),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(15 downto 8),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(1),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(1));\r
+\r
+ ram_byte0 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(1)(7 downto 0),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(7 downto 0),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(1),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(0));\r
+ \r
+ end generate; --block1\r
+ \r
+\r
+ block2: if (block_count > 2) generate\r
+ begin\r
+\r
+ ram_byte3 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(2)(31 downto 24), \r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(31 downto 24),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(2),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(3));\r
+\r
+ ram_byte2 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(2)(23 downto 16),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(23 downto 16),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(2),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(2));\r
+ \r
+ ram_byte1 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(2)(15 downto 8),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(15 downto 8),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(2),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(1));\r
+\r
+ ram_byte0 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(2)(7 downto 0),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(7 downto 0),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(2),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(0));\r
+ \r
+ end generate; --block2\r
+\r
+\r
+ block3: if (block_count > 3) generate\r
+ begin\r
+\r
+ ram_byte3 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(3)(31 downto 24), \r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(31 downto 24),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(3),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(3));\r
+\r
+ ram_byte2 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(3)(23 downto 16),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(23 downto 16),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(3),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(2));\r
+ \r
+ ram_byte1 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(3)(15 downto 8),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(15 downto 8),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(3),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(1));\r
+\r
+ ram_byte0 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(3)(7 downto 0),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(7 downto 0),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(3),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(0));\r
+ \r
+ end generate; --block3\r
+\r
+\r
+ block4: if (block_count > 4) generate\r
+ begin\r
+\r
+ ram_byte3 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(4)(31 downto 24), \r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(31 downto 24),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(4),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(3));\r
+\r
+ ram_byte2 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(4)(23 downto 16),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(23 downto 16),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(4),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(2));\r
+ \r
+ ram_byte1 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(4)(15 downto 8),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(15 downto 8),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(4),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(1));\r
+\r
+ ram_byte0 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(4)(7 downto 0),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(7 downto 0),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(4),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(0));\r
+ \r
+ end generate; --block4\r
+\r
+\r
+ block5: if (block_count > 5) generate\r
+ begin\r
+\r
+ ram_byte3 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(5)(31 downto 24), \r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(31 downto 24),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(5),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(3));\r
+\r
+ ram_byte2 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(5)(23 downto 16),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(23 downto 16),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(5),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(2));\r
+ \r
+ ram_byte1 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(5)(15 downto 8),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(15 downto 8),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(5),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(1));\r
+\r
+ ram_byte0 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(5)(7 downto 0),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(7 downto 0),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(5),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(0));\r
+ \r
+ end generate; --block5\r
+\r
+\r
+ block6: if (block_count > 6) generate\r
+ begin\r
+\r
+ ram_byte3 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(6)(31 downto 24), \r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(31 downto 24),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(6),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(3));\r
+\r
+ ram_byte2 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(6)(23 downto 16),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(23 downto 16),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(6),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(2));\r
+ \r
+ ram_byte1 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(6)(15 downto 8),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(15 downto 8),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(6),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(1));\r
+\r
+ ram_byte0 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(6)(7 downto 0),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(7 downto 0),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(6),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(0));\r
+ \r
+ end generate; --block6\r
+\r
+\r
+ block7: if (block_count > 7) generate\r
+ begin\r
+\r
+ ram_byte3 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(7)(31 downto 24), \r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(31 downto 24),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(7),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(3));\r
+\r
+ ram_byte2 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(7)(23 downto 16),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(23 downto 16),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(7),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(2));\r
+ \r
+ ram_byte1 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(7)(15 downto 8),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(15 downto 8),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(7),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(1));\r
+\r
+ ram_byte0 : RAMB16_S9\r
+ generic map (\r
+INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",\r
+INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000"\r
+)\r
+ port map (\r
+ DO => block_do(7)(7 downto 0),\r
+ DOP => open, \r
+ ADDR => block_addr,\r
+ CLK => clk, \r
+ DI => data_write(7 downto 0),\r
+ DIP => ZERO(0 downto 0),\r
+ EN => block_enable(7),\r
+ SSR => ZERO(0),\r
+ WE => write_byte_enable(0));\r
+ \r
+ end generate; --block7\r
+\r
+end; --architecture logic\r