Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

351 wiersze
23KB

  1. ---------------------------------------------------------------------
  2. -- TITLE: Random Access Memory for Xilinx
  3. -- AUTHOR: Steve Rhoads (rhoadss@yahoo.com)
  4. -- DATE CREATED: 11/06/05
  5. -- FILENAME: ram_xilinx.vhd
  6. -- PROJECT: Plasma CPU core
  7. -- COPYRIGHT: Software placed into the public domain by the author.
  8. -- Software 'as is' without warranty. Author liable for nothing.
  9. -- DESCRIPTION:
  10. -- Implements the RAM for Spartan 3 Xilinx FPGA
  11. --
  12. -- Compile the MIPS C and assembly code into "test.axf".
  13. -- Run convert.exe to change "test.axf" to "code.txt" which
  14. -- will contain the hex values of the opcodes.
  15. -- Next run "ram_image ram_xilinx.vhd code.txt ram_image.vhd",
  16. -- to create the "ram_image.vhd" file that will have the opcodes
  17. -- correctly placed inside the INIT_00 => strings.
  18. -- Then include ram_image.vhd in the simulation/synthesis.
  19. ---------------------------------------------------------------------
  20. library ieee;
  21. use ieee.std_logic_1164.all;
  22. use ieee.std_logic_misc.all;
  23. use ieee.std_logic_arith.all;
  24. use ieee.std_logic_unsigned.all;
  25. use work.mlite_pack.all;
  26. library UNISIM;
  27. use UNISIM.vcomponents.all;
  28. entity ram is
  29. generic(memory_type : string := "DEFAULT");
  30. port(clk : in std_logic;
  31. enable : in std_logic;
  32. write_byte_enable : in std_logic_vector(3 downto 0);
  33. address : in std_logic_vector(31 downto 2);
  34. data_write : in std_logic_vector(31 downto 0);
  35. data_read : out std_logic_vector(31 downto 0));
  36. end; --entity ram
  37. architecture logic of ram is
  38. begin
  39. RAMB16_S9_inst0 : RAMB16_S9
  40. generic map (
  41. INIT_00 => X"afafafafafafafafafafafafafafafaf2308000c241400ac273c243c243c273c",
  42. INIT_01 => X"8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f230c008c8c3caf00af00af2340afaf",
  43. INIT_02 => X"acacacac0003373cac038cac8cac8cac8c243c40034040033423038f038f8f8f",
  44. INIT_03 => X"000300ac0300000034038c8c8c8c8c8c8c8c8c8c8c8c3403acacacacacacacac",
  45. INIT_04 => X"1c24001030008c24ac24ac9424003c00180003241c24a4248c0018ac2400003c",
  46. INIT_05 => X"002400002424102830242400a0243c0003001030008cacac242400003c000300",
  47. INIT_06 => X"24100010000c00102a0200260c24af08af2424240000afafafafaf270103a014",
  48. INIT_07 => X"0c240c001a001427038f8f8f8f8f8f8f02240c240c000824102c24142c24142e",
  49. INIT_08 => X"0c3c240c3c240c3c240c3c240c3caf0cafafafafafafafafaf270008260c2424",
  50. INIT_09 => X"0c3c3c3c3c3c3c003c3c0c003c240c3c3c1430248c3c1030008c34ac3c3c2424",
  51. INIT_0A => X"240c3c240c3c270c260c260c260c260c240c3c240c3c240c3c240c3c240c3c24",
  52. INIT_0B => X"0c3c3c08240c3c000c000c8e0000008c0024003c3c102c260000142c2400000c",
  53. INIT_0C => X"0c3c3c080002a208000c000c00000c240c3c0008923c08ae000c000c00000c24",
  54. INIT_0D => X"3c080216a002260c00000010000c240c3c3c080216260c900200000010000c24",
  55. INIT_0E => X"000010000c240c3c3c08240c000c000c0014002490020000000010000c240c3c",
  56. INIT_0F => X"08240c3c021402240c000c260c8c021032021002240c000c260c8c02240c3c00",
  57. INIT_10 => X"0014343c000c240c3c3c0800003c0016260c262610000c3c120008a23c243c3c",
  58. INIT_11 => X"000c000c2608240c3c000c020c240c3c00000c240c3c020c3c083c0c003c000c",
  59. INIT_12 => X"1400100082260c00240800100080afafaf270003ac001030008c343c3c08240c",
  60. INIT_13 => X"0c2424142c3002242400afafafaf272703008f8f8f00140082000c2682000c24",
  61. INIT_14 => X"3c24243c3c2703008f8c3c10000caf2730038c343c240827038f8f8f8f021626",
  62. INIT_15 => X"20740a00616d20423a003931303144656c62747267650a24038c0014ac00248c",
  63. INIT_16 => X"79617965330a7769796532006f61796531006e706e724f303030206e65696120",
  64. INIT_17 => X"6f4600753900736838006979656137617965613673647475350a626979653400",
  65. INIT_18 => X"0037336820660a0d786e6e0a786e750a3d6541206820720a3e00616f446f4231",
  66. INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",
  67. INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",
  68. INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",
  69. INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",
  70. INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",
  71. INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",
  72. INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",
  73. INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",
  74. INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",
  75. INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",
  76. INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",
  77. INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",
  78. INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",
  79. INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",
  80. INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",
  81. INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",
  82. INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",
  83. INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",
  84. INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",
  85. INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",
  86. INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",
  87. INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",
  88. INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",
  89. INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",
  90. INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",
  91. INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",
  92. INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",
  93. INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",
  94. INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",
  95. INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",
  96. INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",
  97. INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",
  98. INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",
  99. INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",
  100. INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",
  101. INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",
  102. INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",
  103. INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",
  104. INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000")
  105. port map (
  106. DO => data_read(31 downto 24),
  107. DOP => open,
  108. ADDR => address(12 downto 2),
  109. CLK => clk,
  110. DI => data_write(31 downto 24),
  111. DIP => ZERO(0 downto 0),
  112. EN => enable,
  113. SSR => ZERO(0),
  114. WE => write_byte_enable(3));
  115. RAMB16_S9_inst1 : RAMB16_S9
  116. generic map (
  117. INIT_00 => X"b8afaeadacabaaa9a8a7a6a5a4a3a2a1bd000000a560a4a0bd1d8404a5059c1c",
  118. INIT_01 => X"b9b8afaeadacabaaa9a8a7a6a5a4a3a2a1a50086c6c406bb00bb00ba5a1abfb9",
  119. INIT_02 => X"9392919000405a1a06e0a606a606a606a6a50584e0029b401bbd60bb60bbbabf",
  120. INIT_03 => X"00e000c4e0000085a2e09f9d9c9e979695949392919002e09f9d9c9e97969594",
  121. INIT_04 => X"c0c60040420062636284658205620205c000e084c0a582c6a200c0a202a20502",
  122. INIT_05 => X"04a5c3a8060640628307054040420200e000404200828283020382040200e000",
  123. INIT_06 => X"5054405300000040220312310090b000bf1514130000b1b2b3b4b5bd00e043a7",
  124. INIT_07 => X"00040000208095bde0b0b1b2b3b4b5bf40040004000000904042824042824002",
  125. INIT_08 => X"0004840004840004840004840004b000b1b2b3b4b5b6b7bebfbd120031000404",
  126. INIT_09 => X"00021e1716151440020600000484000415434203821460630043428302040384",
  127. INIT_0A => X"440002440002c400e400c400a400840044000244000244000244000244000244",
  128. INIT_0B => X"0002020044000240000000440080004443830304024062030000404242400000",
  129. INIT_0C => X"0002020000405000400040004000004400020000440200504000400040000044",
  130. INIT_0D => X"0200001362511000000040400000440002020000111000444200004040000044",
  131. INIT_0E => X"00404000004400020200040040000000a0a683a5434200000040400000440002",
  132. INIT_0F => X"0044000200601304004000300044504002006013040040003000445044000200",
  133. INIT_10 => X"0043630300004400020200004002405352001010400000021100005013111202",
  134. INIT_11 => X"4000000003004400024000400044000240000044000200000200060000040000",
  135. INIT_12 => X"5100400002100040110080400082b1bfb0bd00e0a40040420062a30502000400",
  136. INIT_13 => X"00646440624312111080bfb0b1b2bdbde000b0b1bf0040000240001002000004",
  137. INIT_14 => X"0563440302bde000bf6203400000bfbd42e06263030400bde0b0b1b2bf121110",
  138. INIT_15 => X"666957007320666f0a003a36303465726f6f686f73744742e0a2008340458482",
  139. INIT_16 => X"7464206d2e006f74206d2e007264206d2e007374752074303078616b206d7262",
  140. INIT_17 => X"702e006d2e0075652e0074206d772e64206d772e73646f6d2e007974206d2e00",
  141. INIT_18 => X"003834207769430a3e2074433e206556207364006569654120007320526d2032",
  142. INIT_19 => X"0000040000802400800000000000000000000000000000000000000000000000",
  143. INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",
  144. INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",
  145. INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",
  146. INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",
  147. INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",
  148. INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",
  149. INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",
  150. INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",
  151. INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",
  152. INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",
  153. INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",
  154. INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",
  155. INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",
  156. INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",
  157. INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",
  158. INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",
  159. INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",
  160. INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",
  161. INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",
  162. INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",
  163. INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",
  164. INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",
  165. INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",
  166. INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",
  167. INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",
  168. INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",
  169. INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",
  170. INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",
  171. INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",
  172. INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",
  173. INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",
  174. INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",
  175. INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",
  176. INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",
  177. INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",
  178. INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",
  179. INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",
  180. INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000")
  181. port map (
  182. DO => data_read(23 downto 16),
  183. DOP => open,
  184. ADDR => address(12 downto 2),
  185. CLK => clk,
  186. DI => data_write(23 downto 16),
  187. DIP => ZERO(0 downto 0),
  188. EN => enable,
  189. SSR => ZERO(0),
  190. WE => write_byte_enable(2));
  191. RAMB16_S9_inst2 : RAMB16_S9
  192. generic map (
  193. INIT_00 => X"00000000000000000000000000000000ff00000100ff18000e000f000c008c00",
  194. INIT_01 => X"000000000000000000000000000000000000022000002000d800d800ff700000",
  195. INIT_02 => X"0000000000000010000000000000000000010060006060000000000000000000",
  196. INIT_03 => X"0000000000201000000000000000000000000000000000000000000000000000",
  197. INIT_04 => X"ffff00ff00000000000000000018301800000000ff0000ff0000000000282830",
  198. INIT_05 => X"21ff18100000000000ff0040000d00000000ff00000000000000202030000000",
  199. INIT_06 => X"ff002000000200000090190002ff00000000000088900000000000ff100000ff",
  200. INIT_07 => X"020002000080ff00000000000000000010000200020000ff0000ffff00ffff00",
  201. INIT_08 => X"02000a02000c02000a02000a02000002000000000000000000ff9100ff020000",
  202. INIT_09 => X"02000000000000f810000028100a02000000ff3c00000000000000002030000a",
  203. INIT_0A => X"0c02000b02000b020b020b020b020b020b02000b02000b02000b02000b02000a",
  204. INIT_0B => X"020000010b0200200200000000000000100c100000ff00ff90000000ff800002",
  205. INIT_0C => X"0200000100f80001200280002000000c0200000100000100200280002000000c",
  206. INIT_0D => X"000188ff00180002888098ff00000c0200000110ff00020010108088ff00000c",
  207. INIT_0E => X"80980000000c0200000100022002000010ff20000010102028300000000c0200",
  208. INIT_0F => X"010c020088ff180002200200000010ff0088001800022002000000100c020088",
  209. INIT_10 => X"00ff561200000c0200000100f81080ff0002ff00ff0002100080020010271000",
  210. INIT_11 => X"20022000ff010b0200200220000c02009000000c020020020001000028102000",
  211. INIT_12 => X"ff00000000000220000280000000000000ff00000010ff000000002000010002",
  212. INIT_13 => X"02000000000010ff009000000000ff00001000000000ff000020020000000200",
  213. INIT_14 => X"100c0c0000000000000020ff000200ff0000000020000200000000000010ffff",
  214. INIT_15 => X"6f6e61006866726f0000303a38206320616f656d20697200000000ff00100000",
  215. INIT_16 => X"6520726f20007265776f20006420726f20003a69204d680a303174656c617969",
  216. INIT_17 => X"7920007020006d63200065776f20200a726f20200a72207020007465776f2000",
  217. INIT_18 => X"003e353169726f002068206f2068206100736400786e73640000686620206638",
  218. INIT_19 => X"0000200000002028000008040404040404040404080404070706060606060505",
  219. INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",
  220. INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",
  221. INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",
  222. INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",
  223. INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",
  224. INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",
  225. INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",
  226. INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",
  227. INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",
  228. INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",
  229. INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",
  230. INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",
  231. INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",
  232. INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",
  233. INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",
  234. INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",
  235. INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",
  236. INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",
  237. INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",
  238. INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",
  239. INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",
  240. INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",
  241. INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",
  242. INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",
  243. INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",
  244. INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",
  245. INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",
  246. INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",
  247. INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",
  248. INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",
  249. INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",
  250. INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",
  251. INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",
  252. INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",
  253. INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",
  254. INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",
  255. INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",
  256. INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000")
  257. port map (
  258. DO => data_read(15 downto 8),
  259. DOP => open,
  260. ADDR => address(12 downto 2),
  261. CLK => clk,
  262. DI => data_write(15 downto 8),
  263. DIP => ZERO(0 downto 0),
  264. EN => enable,
  265. SSR => ZERO(0),
  266. WE => write_byte_enable(1));
  267. RAMB16_S9_inst3 : RAMB16_S9
  268. generic map (
  269. INIT_00 => X"4c4844403c3834302c2824201c181410980e000604fd2a00f8001000f800f001",
  270. INIT_01 => X"504c4844403c3834302c2824201c18141000892410200060125c1058fc005450",
  271. INIT_02 => X"0c08040000083c0048080c440840043c006000000800000801681360115c5854",
  272. INIT_03 => X"00080c000810121900082c2824201c1814100c08040000082c2824201c181410",
  273. INIT_04 => X"f4fe00fc80000004000200004021004011000802fb0400fe00000700ff214000",
  274. INIT_05 => X"02ff21213037020a0fff0721080000000800fc8000000000d020214000000800",
  275. INIT_06 => X"d00c210e009000121021000144c910da28080d0a212114181c2024d0210800f6",
  276. INIT_07 => X"440844000821d930081014181c202428210a440d4400d3a9111a9fed1abff10a",
  277. INIT_08 => X"4e00d04e00304e00c44e00a44e00109b14181c2024282c3034c802d7ff440820",
  278. INIT_09 => X"4e000000000000090002802100e04e00000cff1c00001001000050000000ffdc",
  279. INIT_0A => X"1c4e00f84e00ec4edc4ec44eb04e9c4e844e006c4e00544e003c4e00244e00f4",
  280. INIT_0B => X"4e00003f684e00214e00b100000800002180800000d416cf2100c20ad0210090",
  281. INIT_0C => X"4e00003f0009003e214e21b12100c4404e00007500003f00214e21b12100c440",
  282. INIT_0D => X"003f21fb002101902121218900c4504e00003f21fb014400212121219a00c450",
  283. INIT_0E => X"21211e00c4504e00003f0a44214e00b121fb21010021212121217600c4504e00",
  284. INIT_0F => X"3f604e0021f42b2044214e04b10021f00f210e2b2044214e04b10021604e0021",
  285. INIT_10 => X"001f783400c4644e00003f00090021f30190ff01fb008b000b21090010100000",
  286. INIT_11 => X"214e21b1cf69684e00214e21b1344e002100c4204e002144003f028f210021a3",
  287. INIT_12 => X"f8000d00000144210a5f21160000141810e000080021fc0200002000003f0a44",
  288. INIT_13 => X"445730020a0f06fc1c211c101418e020082110141800f500002144010000440d",
  289. INIT_14 => X"00f8d80000180800100000fd008b10e80108002000494420081014181c06f8fc",
  290. INIT_15 => X"726769000a6c6f74000034330032200064742020666e6584080000fb00210400",
  291. INIT_16 => X"0a6265724d00642072724d000a7765724d000a6f4f656500303020646967206e",
  292. INIT_17 => X"2043000a44000a6b43000a72726d520065726d52006561204a00652072724d00",
  293. INIT_18 => X"00203632746d6e00006569750065696c002072003e20736400000a6c7444724b",
  294. INIT_19 => X"000000101020000020705cf8f8f8f8f8f8f8f8f804f8f86000bc7868382cf8d0",
  295. INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",
  296. INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",
  297. INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",
  298. INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",
  299. INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",
  300. INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",
  301. INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",
  302. INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",
  303. INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",
  304. INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",
  305. INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",
  306. INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",
  307. INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",
  308. INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",
  309. INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",
  310. INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",
  311. INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",
  312. INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",
  313. INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",
  314. INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",
  315. INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",
  316. INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",
  317. INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",
  318. INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",
  319. INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",
  320. INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",
  321. INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",
  322. INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",
  323. INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",
  324. INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",
  325. INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",
  326. INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",
  327. INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",
  328. INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",
  329. INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",
  330. INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",
  331. INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",
  332. INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000")
  333. port map (
  334. DO => data_read(7 downto 0),
  335. DOP => open,
  336. ADDR => address(12 downto 2),
  337. CLK => clk,
  338. DI => data_write(7 downto 0),
  339. DIP => ZERO(0 downto 0),
  340. EN => enable,
  341. SSR => ZERO(0),
  342. WE => write_byte_enable(0));
  343. end; --architecture logic