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