SW_LED.VHD
上传用户:hbxtsdjs
上传日期:2022-07-03
资源大小:753k
文件大小:19k
源码类别:

汇编语言

开发平台:

Windows_Unix

  1. --
  2. -- Definition of a single port ROM for KCPSM3 program defined by sw_led.psm
  3. -- and assmbled using KCPSM3 assembler.
  4. --
  5. -- Standard IEEE libraries
  6. --
  7. library IEEE;
  8. use IEEE.STD_LOGIC_1164.ALL;
  9. use IEEE.STD_LOGIC_ARITH.ALL;
  10. use IEEE.STD_LOGIC_UNSIGNED.ALL;
  11. --
  12. -- The Unisim Library is used to define Xilinx primitives. It is also used during
  13. -- simulation. The source can be viewed at %XILINX%vhdlsrcunisimsunisim_VCOMP.vhd
  14. --  
  15. library unisim;
  16. use unisim.vcomponents.all;
  17. --
  18. --
  19. entity sw_led is
  20.     Port (      address : in std_logic_vector(9 downto 0);
  21.             instruction : out std_logic_vector(17 downto 0);
  22.                     clk : in std_logic);
  23.     end sw_led;
  24. --
  25. architecture low_level_definition of sw_led is
  26. --
  27. -- Attributes to define ROM contents during implementation synthesis. 
  28. -- The information is repeated in the generic map for functional simulation
  29. --
  30. attribute INIT_00 : string; 
  31. attribute INIT_01 : string; 
  32. attribute INIT_02 : string; 
  33. attribute INIT_03 : string; 
  34. attribute INIT_04 : string; 
  35. attribute INIT_05 : string; 
  36. attribute INIT_06 : string; 
  37. attribute INIT_07 : string; 
  38. attribute INIT_08 : string; 
  39. attribute INIT_09 : string; 
  40. attribute INIT_0A : string; 
  41. attribute INIT_0B : string; 
  42. attribute INIT_0C : string; 
  43. attribute INIT_0D : string; 
  44. attribute INIT_0E : string; 
  45. attribute INIT_0F : string; 
  46. attribute INIT_10 : string; 
  47. attribute INIT_11 : string; 
  48. attribute INIT_12 : string; 
  49. attribute INIT_13 : string; 
  50. attribute INIT_14 : string; 
  51. attribute INIT_15 : string; 
  52. attribute INIT_16 : string; 
  53. attribute INIT_17 : string; 
  54. attribute INIT_18 : string; 
  55. attribute INIT_19 : string; 
  56. attribute INIT_1A : string; 
  57. attribute INIT_1B : string; 
  58. attribute INIT_1C : string; 
  59. attribute INIT_1D : string; 
  60. attribute INIT_1E : string; 
  61. attribute INIT_1F : string; 
  62. attribute INIT_20 : string; 
  63. attribute INIT_21 : string; 
  64. attribute INIT_22 : string; 
  65. attribute INIT_23 : string; 
  66. attribute INIT_24 : string; 
  67. attribute INIT_25 : string; 
  68. attribute INIT_26 : string; 
  69. attribute INIT_27 : string; 
  70. attribute INIT_28 : string; 
  71. attribute INIT_29 : string; 
  72. attribute INIT_2A : string; 
  73. attribute INIT_2B : string; 
  74. attribute INIT_2C : string; 
  75. attribute INIT_2D : string; 
  76. attribute INIT_2E : string; 
  77. attribute INIT_2F : string; 
  78. attribute INIT_30 : string; 
  79. attribute INIT_31 : string; 
  80. attribute INIT_32 : string; 
  81. attribute INIT_33 : string; 
  82. attribute INIT_34 : string; 
  83. attribute INIT_35 : string; 
  84. attribute INIT_36 : string; 
  85. attribute INIT_37 : string; 
  86. attribute INIT_38 : string; 
  87. attribute INIT_39 : string; 
  88. attribute INIT_3A : string; 
  89. attribute INIT_3B : string; 
  90. attribute INIT_3C : string; 
  91. attribute INIT_3D : string; 
  92. attribute INIT_3E : string; 
  93. attribute INIT_3F : string; 
  94. attribute INITP_00 : string;
  95. attribute INITP_01 : string;
  96. attribute INITP_02 : string;
  97. attribute INITP_03 : string;
  98. attribute INITP_04 : string;
  99. attribute INITP_05 : string;
  100. attribute INITP_06 : string;
  101. attribute INITP_07 : string;
  102. --
  103. -- Attributes to define ROM contents during implementation synthesis.
  104. --
  105. attribute INIT_00 of ram_1024_x_18  : label is "00000000000000000000000000004000C0044000C0034000C0024000C0014000";
  106. attribute INIT_01 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  107. attribute INIT_02 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  108. attribute INIT_03 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  109. attribute INIT_04 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  110. attribute INIT_05 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  111. attribute INIT_06 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  112. attribute INIT_07 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  113. attribute INIT_08 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  114. attribute INIT_09 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  115. attribute INIT_0A of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  116. attribute INIT_0B of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  117. attribute INIT_0C of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  118. attribute INIT_0D of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  119. attribute INIT_0E of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  120. attribute INIT_0F of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  121. attribute INIT_10 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  122. attribute INIT_11 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  123. attribute INIT_12 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  124. attribute INIT_13 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  125. attribute INIT_14 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  126. attribute INIT_15 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  127. attribute INIT_16 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  128. attribute INIT_17 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  129. attribute INIT_18 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  130. attribute INIT_19 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  131. attribute INIT_1A of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  132. attribute INIT_1B of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  133. attribute INIT_1C of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  134. attribute INIT_1D of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  135. attribute INIT_1E of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  136. attribute INIT_1F of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  137. attribute INIT_20 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  138. attribute INIT_21 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  139. attribute INIT_22 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  140. attribute INIT_23 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  141. attribute INIT_24 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  142. attribute INIT_25 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  143. attribute INIT_26 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  144. attribute INIT_27 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  145. attribute INIT_28 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  146. attribute INIT_29 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  147. attribute INIT_2A of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  148. attribute INIT_2B of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  149. attribute INIT_2C of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  150. attribute INIT_2D of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  151. attribute INIT_2E of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  152. attribute INIT_2F of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  153. attribute INIT_30 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  154. attribute INIT_31 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  155. attribute INIT_32 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  156. attribute INIT_33 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  157. attribute INIT_34 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  158. attribute INIT_35 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  159. attribute INIT_36 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  160. attribute INIT_37 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  161. attribute INIT_38 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  162. attribute INIT_39 of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  163. attribute INIT_3A of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  164. attribute INIT_3B of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  165. attribute INIT_3C of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  166. attribute INIT_3D of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  167. attribute INIT_3E of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  168. attribute INIT_3F of ram_1024_x_18  : label is "0000000000000000000000000000000000000000000000000000000000000000";
  169. attribute INITP_00 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000038888";
  170. attribute INITP_01 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
  171. attribute INITP_02 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
  172. attribute INITP_03 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
  173. attribute INITP_04 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
  174. attribute INITP_05 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
  175. attribute INITP_06 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
  176. attribute INITP_07 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
  177. --
  178. begin
  179. --
  180.   --Instantiate the Xilinx primitive for a block RAM
  181.   ram_1024_x_18: RAMB16_S18
  182.   --synthesis translate_off
  183.   --INIT values repeated to define contents for functional simulation
  184.   generic map ( INIT_00 => X"00000000000000000000000000004000C0044000C0034000C0024000C0014000",
  185.                 INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",
  186.                 INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",
  187.                 INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",
  188.                 INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",
  189.                 INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",
  190.                 INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",
  191.                 INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",
  192.                 INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",
  193.                 INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",
  194.                 INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",
  195.                 INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",
  196.                 INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",
  197.                 INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",
  198.                 INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",
  199.                 INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",
  200.                 INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",
  201.                 INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",
  202.                 INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",
  203.                 INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",
  204.                 INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",
  205.                 INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",
  206.                 INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",
  207.                 INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",
  208.                 INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",
  209.                 INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",
  210.                 INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",
  211.                 INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",
  212.                 INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",
  213.                 INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",
  214.                 INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",
  215.                 INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",
  216.                 INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",
  217.                 INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",
  218.                 INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",
  219.                 INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",
  220.                 INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",
  221.                 INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",
  222.                 INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",
  223.                 INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",
  224.                 INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",
  225.                 INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",
  226.                 INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",
  227.                 INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",
  228.                 INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",
  229.                 INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",
  230.                 INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",
  231.                 INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",
  232.                 INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",
  233.                 INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",
  234.                 INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",
  235.                 INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",
  236.                 INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",
  237.                 INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",
  238.                 INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",
  239.                 INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",
  240.                 INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",
  241.                 INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",
  242.                 INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",
  243.                 INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",
  244.                 INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",
  245.                 INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",
  246.                 INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",
  247.                 INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000",    
  248.                INITP_00 => X"0000000000000000000000000000000000000000000000000000000000038888",
  249.                INITP_01 => X"0000000000000000000000000000000000000000000000000000000000000000",
  250.                INITP_02 => X"0000000000000000000000000000000000000000000000000000000000000000",
  251.                INITP_03 => X"0000000000000000000000000000000000000000000000000000000000000000",
  252.                INITP_04 => X"0000000000000000000000000000000000000000000000000000000000000000",
  253.                INITP_05 => X"0000000000000000000000000000000000000000000000000000000000000000",
  254.                INITP_06 => X"0000000000000000000000000000000000000000000000000000000000000000",
  255.                INITP_07 => X"0000000000000000000000000000000000000000000000000000000000000000")
  256.   --synthesis translate_on
  257.   port map(    DI => "0000000000000000",
  258.               DIP => "00",
  259.                EN => '1',
  260.                WE => '0',
  261.               SSR => '0',
  262.               CLK => clk,
  263.              ADDR => address,
  264.                DO => instruction(15 downto 0),
  265.               DOP => instruction(17 downto 16)); 
  266. --
  267. end low_level_definition;
  268. --
  269. ------------------------------------------------------------------------------------
  270. --
  271. -- END OF FILE sw_led.vhd
  272. --
  273. ------------------------------------------------------------------------------------