1 |
2 |
armando |
--
|
2 |
|
|
-- Definition of a single port ROM for KCPSM program defined by fat16rd.psm
|
3 |
|
|
-- and assmbled using KCPSM 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%\vhdl\src\unisims\unisim_VCOMP.vhd
|
14 |
|
|
--
|
15 |
|
|
library unisim;
|
16 |
|
|
use unisim.vcomponents.all;
|
17 |
|
|
--
|
18 |
|
|
--
|
19 |
|
|
entity fat16rd is
|
20 |
|
|
Port ( address : in std_logic_vector(7 downto 0);
|
21 |
|
|
instruction : out std_logic_vector(15 downto 0);
|
22 |
|
|
clk : in std_logic);
|
23 |
|
|
end fat16rd;
|
24 |
|
|
--
|
25 |
|
|
architecture low_level_definition of fat16rd 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 |
|
|
--
|
47 |
|
|
-- Attributes to define ROM contents during implementation synthesis.
|
48 |
|
|
--
|
49 |
|
|
attribute INIT_00 of ram_256_x_16 : label is "83E8910C1601A6018345C47083AE838B8348EF05EF02EF04EF03EF01EF000F00";
|
50 |
|
|
attribute INIT_01 of ram_256_x_16 : label is "951A6F01D008D108D208D30E0F07A30BA20AA109A008810C933EC551650183C4";
|
51 |
|
|
attribute INIT_02 of ram_256_x_16 : label is "0200812E952F6FFFCFD0952F6FFFCFE0C1E0C0D083E883E31F7FAF0883D38335";
|
52 |
|
|
attribute INIT_03 of ram_256_x_16 : label is "C44164018080C3F5AF07C2F5AF06C1F5AF05C0F4AF048080834583AEC4700300";
|
53 |
|
|
attribute INIT_04 of ram_256_x_16 : label is "838483E30FE383D30300020001000000808083D3050053005200510040019115";
|
54 |
|
|
attribute INIT_05 of ram_256_x_16 : label is "5B005A00C945C864C4E0C6D083E8C7E083E883E30F0683D3CB30CA20C910C800";
|
55 |
|
|
attribute INIT_06 of ram_256_x_16 : label is "D10E0F09956A6F01D100D0060F05C1D083E8C0E0C6D083E8EB0BEA0AE909E808";
|
56 |
|
|
attribute INIT_07 of ram_256_x_16 : label is "5B005A00C915C804D100D006838483E30F01CB35CA25C915C804956F6F01D008";
|
57 |
|
|
attribute INIT_08 of ram_256_x_16 : label is "CFF1CF60C6D083E883D38080C3E0C2D083E8C1E0C0D083E88080833503000200";
|
58 |
|
|
attribute INIT_09 of ram_256_x_16 : label is "0F0A83E30F05808083A2959FCF610F03C6E083E883E30F04919DCF610FE591F2";
|
59 |
|
|
attribute INIT_0A of ram_256_x_16 : label is "E10DE00C8080C1E0C0D083E883E30F02EE0FC3E0C2D083E883E30F04818C83E3";
|
60 |
|
|
attribute INIT_0B of ram_256_x_16 : label is "C08481B8D300D200D100D00699BFDD0ECD700F087300720071006002E30FE20E";
|
61 |
|
|
attribute INIT_0C of ram_256_x_16 : label is "0F00EF050F01EF070F01808091C71601A60183CBEE04ED038080C3B5C2A5C195";
|
62 |
|
|
attribute INIT_0D of ram_256_x_16 : label is "0F0083EAEF020F07E301E20083EAEF020F03E101E000EF060F018080EF05EF07";
|
63 |
|
|
attribute INIT_0E of ram_256_x_16 : label is "0F00AE03AD0291EA1F01AF00EF020F01808095E4660183E8C6F08080EF06EF02";
|
64 |
|
|
attribute INIT_0F of ram_256_x_16 : label is "000000000000000000000000000000000000000080F081F2EF050F048080EF02";
|
65 |
|
|
--
|
66 |
|
|
begin
|
67 |
|
|
--
|
68 |
|
|
--Instantiate the Xilinx primitive for a block RAM
|
69 |
|
|
ram_256_x_16: RAMB4_S16
|
70 |
|
|
--translate_off
|
71 |
|
|
--INIT values repeated to define contents for functional simulation
|
72 |
|
|
generic map (INIT_00 => X"83E8910C1601A6018345C47083AE838B8348EF05EF02EF04EF03EF01EF000F00",
|
73 |
|
|
INIT_01 => X"951A6F01D008D108D208D30E0F07A30BA20AA109A008810C933EC551650183C4",
|
74 |
|
|
INIT_02 => X"0200812E952F6FFFCFD0952F6FFFCFE0C1E0C0D083E883E31F7FAF0883D38335",
|
75 |
|
|
INIT_03 => X"C44164018080C3F5AF07C2F5AF06C1F5AF05C0F4AF048080834583AEC4700300",
|
76 |
|
|
INIT_04 => X"838483E30FE383D30300020001000000808083D3050053005200510040019115",
|
77 |
|
|
INIT_05 => X"5B005A00C945C864C4E0C6D083E8C7E083E883E30F0683D3CB30CA20C910C800",
|
78 |
|
|
INIT_06 => X"D10E0F09956A6F01D100D0060F05C1D083E8C0E0C6D083E8EB0BEA0AE909E808",
|
79 |
|
|
INIT_07 => X"5B005A00C915C804D100D006838483E30F01CB35CA25C915C804956F6F01D008",
|
80 |
|
|
INIT_08 => X"CFF1CF60C6D083E883D38080C3E0C2D083E8C1E0C0D083E88080833503000200",
|
81 |
|
|
INIT_09 => X"0F0A83E30F05808083A2959FCF610F03C6E083E883E30F04919DCF610FE591F2",
|
82 |
|
|
INIT_0A => X"E10DE00C8080C1E0C0D083E883E30F02EE0FC3E0C2D083E883E30F04818C83E3",
|
83 |
|
|
INIT_0B => X"C08481B8D300D200D100D00699BFDD0ECD700F087300720071006002E30FE20E",
|
84 |
|
|
INIT_0C => X"0F00EF050F01EF070F01808091C71601A60183CBEE04ED038080C3B5C2A5C195",
|
85 |
|
|
INIT_0D => X"0F0083EAEF020F07E301E20083EAEF020F03E101E000EF060F018080EF05EF07",
|
86 |
|
|
INIT_0E => X"0F00AE03AD0291EA1F01AF00EF020F01808095E4660183E8C6F08080EF06EF02",
|
87 |
|
|
INIT_0F => X"000000000000000000000000000000000000000080F081F2EF050F048080EF02",
|
88 |
|
|
--translate_on
|
89 |
|
|
port map( DI => "0000000000000000",
|
90 |
|
|
EN => '1',
|
91 |
|
|
WE => '0',
|
92 |
|
|
RST => '0',
|
93 |
|
|
CLK => clk,
|
94 |
|
|
ADDR => address,
|
95 |
|
|
DO => instruction(15 downto 0));
|
96 |
|
|
--
|
97 |
|
|
end low_level_definition;
|
98 |
|
|
--
|
99 |
|
|
------------------------------------------------------------------------------------
|
100 |
|
|
--
|
101 |
|
|
-- END OF FILE fat16rd.vhd
|
102 |
|
|
--
|
103 |
|
|
------------------------------------------------------------------------------------
|