]>
Commit | Line | Data |
---|---|---|
1 | --+-------------------------------------------------------------------------------------------------+\r | |
2 | --| |\r | |
3 | --| File: pci32tlite.vhd |\r | |
4 | --| |\r | |
5 | --| Components: pcidec_new.vhd |\r | |
6 | --| pciwbsequ.vhd |\r | |
7 | --| pcidmux.vhd |\r | |
8 | --| pciregs.vhd |\r | |
9 | --| pcipargen.vhd |\r | |
10 | --| -- Libs -- |\r | |
11 | --| ona.vhd |\r | |
12 | --| |\r | |
13 | --| Description: TARGET PCI : |\r | |
14 | --| |\r | |
15 | --| * PCI Target 32 Bits |\r | |
16 | --| * BAR0 32MByte address space |\r | |
17 | --| * Whisbone compatible: D16, 32MB address space |\r | |
18 | --| |\r | |
19 | --+-------------------------------------------------------------------------------------------------+\r | |
20 | --| |\r | |
21 | --| Revision history : |\r | |
22 | --| Date Version Author Description |\r | |
23 | --| 2005-05-13 R00A00 PAU First alfa revision (eng) |\r | |
24 | --| 2006-01-05 R00B00 MS inverted reset nres |\r | |
25 | --| and added debug signals debug_init and debug_access | |\r | |
26 | --| |\r | |
27 | --| To do: |\r | |
28 | --| |\r | |
29 | --+-------------------------------------------------------------------------------------------------+\r | |
30 | --+-----------------------------------------------------------------+\r | |
31 | --| |\r | |
32 | --| Copyright (C) 2005 Peio Azkarate, peio@opencores.org | \r | |
33 | --| |\r | |
34 | --| This source file may be used and distributed without |\r | |
35 | --| restriction provided that this copyright statement is not |\r | |
36 | --| removed from the file and that any derivative work contains |\r | |
37 | --| the original copyright notice and the associated disclaimer. |\r | |
38 | --| |\r | |
39 | --| This source file is free software; you can redistribute it |\r | |
40 | --| and/or modify it under the terms of the GNU Lesser General |\r | |
41 | --| Public License as published by the Free Software Foundation; |\r | |
42 | --| either version 2.1 of the License, or (at your option) any |\r | |
43 | --| later version. |\r | |
44 | --| |\r | |
45 | --| This source is distributed in the hope that it will be |\r | |
46 | --| useful, but WITHOUT ANY WARRANTY; without even the implied |\r | |
47 | --| warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR |\r | |
48 | --| PURPOSE. See the GNU Lesser General Public License for more |\r | |
49 | --| details. |\r | |
50 | --| |\r | |
51 | --| You should have received a copy of the GNU Lesser General |\r | |
52 | --| Public License along with this source; if not, download it |\r | |
53 | --| from http://www.opencores.org/lgpl.shtml |\r | |
54 | --| |\r | |
55 | --+-----------------------------------------------------------------+ \r | |
56 | \r | |
57 | --+-----------------------------------------------------------------------------+\r | |
58 | --| LIBRARIES |\r | |
59 | --+-----------------------------------------------------------------------------+\r | |
60 | \r | |
61 | library ieee;\r | |
62 | use ieee.std_logic_1164.all;\r | |
63 | \r | |
64 | --+-----------------------------------------------------------------------------+\r | |
65 | --| ENTITY |\r | |
66 | --+-----------------------------------------------------------------------------+\r | |
67 | \r | |
68 | entity pci32tlite is\r | |
69 | generic (\r | |
70 | \r | |
71 | vendorID : std_logic_vector(15 downto 0) := x"10EE";\r | |
72 | deviceID : std_logic_vector(15 downto 0) := x"0100";\r | |
73 | revisionID : std_logic_vector(7 downto 0) := x"37";\r | |
74 | subsystemID : std_logic_vector(15 downto 0) := x"1558";\r | |
75 | subsystemvID : std_logic_vector(15 downto 0) := x"0480";\r | |
76 | jcarr1ID : std_logic_vector(31 downto 0) := x"12345671";\r | |
77 | jcarr2ID : std_logic_vector(31 downto 0) := x"12345672";\r | |
78 | jcarr3ID : std_logic_vector(31 downto 0) := x"12345673";\r | |
79 | jcarr4ID : std_logic_vector(31 downto 0) := x"12345674";\r | |
80 | jcarr5ID : std_logic_vector(31 downto 0) := x"12345675";\r | |
81 | jcarr6ID : std_logic_vector(31 downto 0) := x"12345676";\r | |
82 | jcarr7ID : std_logic_vector(31 downto 0) := x"12345677";\r | |
83 | jcarr8ID : std_logic_vector(31 downto 0) := x"12345678";\r | |
84 | jcarr9ID : std_logic_vector(31 downto 0) := x"12345679";\r | |
85 | jcarr10ID : std_logic_vector(31 downto 0) := x"12345680";\r | |
86 | jcarr11ID : std_logic_vector(31 downto 0) := x"12345681";\r | |
87 | jcarr12ID : std_logic_vector(31 downto 0) := x"12345682";\r | |
88 | jcarr13ID : std_logic_vector(31 downto 0) := x"12345683";\r | |
89 | jcarr14ID : std_logic_vector(31 downto 0) := x"12345684";\r | |
90 | jcarr15ID : std_logic_vector(31 downto 0) := x"12345685";\r | |
91 | jcarr16ID : std_logic_vector(31 downto 0) := x"12345686";\r | |
92 | jcarr17ID : std_logic_vector(31 downto 0) := x"12345687";\r | |
93 | jcarr18ID : std_logic_vector(31 downto 0) := x"12345688";\r | |
94 | jcarr19ID : std_logic_vector(31 downto 0) := x"12345689";\r | |
95 | jcarr20ID : std_logic_vector(31 downto 0) := x"12345690";\r | |
96 | jcarr21ID : std_logic_vector(31 downto 0) := x"12345691";\r | |
97 | jcarr22ID : std_logic_vector(31 downto 0) := x"12345692";\r | |
98 | jcarr23ID : std_logic_vector(31 downto 0) := x"12345693";\r | |
99 | jcarr24ID : std_logic_vector(31 downto 0) := x"12345694";\r | |
100 | jcarr25ID : std_logic_vector(31 downto 0) := x"12345695";\r | |
101 | jcarr26ID : std_logic_vector(31 downto 0) := x"12345696";\r | |
102 | jcarr27ID : std_logic_vector(31 downto 0) := x"12345697";\r | |
103 | jcarr28ID : std_logic_vector(31 downto 0) := x"12345698";\r | |
104 | jcarr29ID : std_logic_vector(31 downto 0) := x"12345699";\r | |
105 | jcarr30ID : std_logic_vector(31 downto 0) := x"12345700";\r | |
106 | jcarr31ID : std_logic_vector(31 downto 0) := x"12345701";\r | |
107 | jcarr32ID : std_logic_vector(31 downto 0) := x"12345702";\r | |
108 | jcarr33ID : std_logic_vector(31 downto 0) := x"12345703";\r | |
109 | jcarr34ID : std_logic_vector(31 downto 0) := x"12345704";\r | |
110 | jcarr35ID : std_logic_vector(31 downto 0) := x"12345705";\r | |
111 | jcarr36ID : std_logic_vector(31 downto 0) := x"12345706";\r | |
112 | jcarr37ID : std_logic_vector(31 downto 0) := x"12345707";\r | |
113 | jcarr38ID : std_logic_vector(31 downto 0) := x"12345708";\r | |
114 | jcarr39ID : std_logic_vector(31 downto 0) := x"12345709";\r | |
115 | jcarr40ID : std_logic_vector(31 downto 0) := x"12345710";\r | |
116 | jcarr41ID : std_logic_vector(31 downto 0) := x"12345711";\r | |
117 | jcarr42ID : std_logic_vector(31 downto 0) := x"12345712"\r | |
118 | \r | |
119 | );\r | |
120 | port (\r | |
121 | \r | |
122 | -- General \r | |
123 | clk33 : in std_logic;\r | |
124 | nrst : in std_logic;\r | |
125 | \r | |
126 | -- PCI target 32bits\r | |
127 | ad : inout std_logic_vector(31 downto 0);\r | |
128 | cbe : in std_logic_vector(3 downto 0);\r | |
129 | par : out std_logic; \r | |
130 | frame : in std_logic;\r | |
131 | irdy : in std_logic;\r | |
132 | trdy : out std_logic;\r | |
133 | devsel : out std_logic;\r | |
134 | stop : out std_logic;\r | |
135 | idsel : in std_logic;\r | |
136 | perr : out std_logic;\r | |
137 | serr : out std_logic;\r | |
138 | intb : out std_logic;\r | |
139 | \r | |
140 | -- Master whisbone\r | |
141 | wb_adr_o : out std_logic_vector(24 downto 1); \r | |
142 | wb_dat_i : in std_logic_vector(15 downto 0);\r | |
143 | wb_dat_o : out std_logic_vector(15 downto 0);\r | |
144 | wb_sel_o : out std_logic_vector(1 downto 0);\r | |
145 | wb_we_o : out std_logic;\r | |
146 | wb_stb_o : inout std_logic;\r | |
147 | wb_cyc_o : out std_logic;\r | |
148 | wb_ack_i : in std_logic;\r | |
149 | wb_err_i : in std_logic;\r | |
150 | wb_int_i : in std_logic;\r | |
151 | \r | |
152 | -- debug signals\r | |
153 | debug_init : out std_logic;\r | |
154 | debug_access : out std_logic \r | |
155 | \r | |
156 | );\r | |
157 | end pci32tlite;\r | |
158 | \r | |
159 | \r | |
160 | --+-----------------------------------------------------------------------------+\r | |
161 | --| ARCHITECTURE |\r | |
162 | --+-----------------------------------------------------------------------------+\r | |
163 | \r | |
164 | architecture rtl of pci32tlite is\r | |
165 | \r | |
166 | \r | |
167 | --+-----------------------------------------------------------------------------+\r | |
168 | --| COMPONENTS |\r | |
169 | --+-----------------------------------------------------------------------------+\r | |
170 | \r | |
171 | \r | |
172 | component pcidec_new\r | |
173 | port (\r | |
174 | \r | |
175 | clk_i : in std_logic;\r | |
176 | nrst_i : in std_logic;\r | |
177 | --\r | |
178 | ad_i : in std_logic_vector(31 downto 0);\r | |
179 | cbe_i : in std_logic_vector(3 downto 0);\r | |
180 | idsel_i : in std_logic;\r | |
181 | bar0_i : in std_logic_vector(31 downto 25);\r | |
182 | memEN_i : in std_logic;\r | |
183 | pciadrLD_i : in std_logic;\r | |
184 | adrcfg_o : out std_logic;\r | |
185 | adrmem_o : out std_logic;\r | |
186 | adr_o : out std_logic_vector(24 downto 1);\r | |
187 | cmd_o : out std_logic_vector(3 downto 0)\r | |
188 | \r | |
189 | );\r | |
190 | end component;\r | |
191 | \r | |
192 | \r | |
193 | component pciwbsequ\r | |
194 | port (\r | |
195 | \r | |
196 | -- General \r | |
197 | clk_i : in std_logic;\r | |
198 | nrst_i : in std_logic;\r | |
199 | -- pci \r | |
200 | cmd_i : in std_logic_vector(3 downto 0);\r | |
201 | cbe_i : in std_logic_vector(3 downto 0);\r | |
202 | frame_i : in std_logic;\r | |
203 | irdy_i : in std_logic;\r | |
204 | devsel_o : out std_logic;\r | |
205 | trdy_o : out std_logic;\r | |
206 | -- control\r | |
207 | adrcfg_i : in std_logic;\r | |
208 | adrmem_i : in std_logic;\r | |
209 | pciadrLD_o : out std_logic;\r | |
210 | pcidOE_o : out std_logic;\r | |
211 | parOE_o : out std_logic; \r | |
212 | wbdatLD_o : out std_logic;\r | |
213 | wbrgdMX_o : out std_logic;\r | |
214 | wbd16MX_o : out std_logic;\r | |
215 | wrcfg_o : out std_logic;\r | |
216 | rdcfg_o : out std_logic;\r | |
217 | -- whisbone\r | |
218 | wb_sel_o : out std_logic_vector(1 downto 0);\r | |
219 | wb_we_o : out std_logic;\r | |
220 | wb_stb_o : inout std_logic; \r | |
221 | wb_cyc_o : out std_logic;\r | |
222 | wb_ack_i : in std_logic;\r | |
223 | wb_err_i : in std_logic; \r | |
224 | -- debug signals\r | |
225 | debug_init : out std_logic;\r | |
226 | debug_access : out std_logic\r | |
227 | );\r | |
228 | end component;\r | |
229 | \r | |
230 | \r | |
231 | component pcidmux\r | |
232 | port (\r | |
233 | \r | |
234 | clk_i : in std_logic;\r | |
235 | nrst_i : in std_logic;\r | |
236 | --\r | |
237 | d_io : inout std_logic_vector(31 downto 0);\r | |
238 | pcidatout_o : out std_logic_vector(31 downto 0);\r | |
239 | pcidOE_i : in std_logic;\r | |
240 | wbdatLD_i : in std_logic;\r | |
241 | wbrgdMX_i : in std_logic;\r | |
242 | wbd16MX_i : in std_logic;\r | |
243 | wb_dat_i : in std_logic_vector(15 downto 0);\r | |
244 | wb_dat_o : out std_logic_vector(15 downto 0);\r | |
245 | rg_dat_i : in std_logic_vector(31 downto 0);\r | |
246 | rg_dat_o : out std_logic_vector(31 downto 0)\r | |
247 | \r | |
248 | );\r | |
249 | end component;\r | |
250 | \r | |
251 | \r | |
252 | component pciregs\r | |
253 | generic (\r | |
254 | \r | |
255 | vendorID : std_logic_vector(15 downto 0);\r | |
256 | deviceID : std_logic_vector(15 downto 0);\r | |
257 | revisionID : std_logic_vector(7 downto 0);\r | |
258 | subsystemID : std_logic_vector(15 downto 0);\r | |
259 | subsystemvID : std_logic_vector(15 downto 0);\r | |
260 | jcarr1ID : std_logic_vector(31 downto 0);\r | |
261 | jcarr2ID : std_logic_vector(31 downto 0);\r | |
262 | jcarr3ID : std_logic_vector(31 downto 0);\r | |
263 | jcarr4ID : std_logic_vector(31 downto 0);\r | |
264 | jcarr5ID : std_logic_vector(31 downto 0);\r | |
265 | jcarr6ID : std_logic_vector(31 downto 0);\r | |
266 | jcarr7ID : std_logic_vector(31 downto 0);\r | |
267 | jcarr8ID : std_logic_vector(31 downto 0);\r | |
268 | jcarr9ID : std_logic_vector(31 downto 0);\r | |
269 | jcarr10ID : std_logic_vector(31 downto 0);\r | |
270 | jcarr11ID : std_logic_vector(31 downto 0);\r | |
271 | jcarr12ID : std_logic_vector(31 downto 0);\r | |
272 | jcarr13ID : std_logic_vector(31 downto 0);\r | |
273 | jcarr14ID : std_logic_vector(31 downto 0);\r | |
274 | jcarr15ID : std_logic_vector(31 downto 0);\r | |
275 | jcarr16ID : std_logic_vector(31 downto 0);\r | |
276 | jcarr17ID : std_logic_vector(31 downto 0);\r | |
277 | jcarr18ID : std_logic_vector(31 downto 0);\r | |
278 | jcarr19ID : std_logic_vector(31 downto 0);\r | |
279 | jcarr20ID : std_logic_vector(31 downto 0);\r | |
280 | jcarr21ID : std_logic_vector(31 downto 0);\r | |
281 | jcarr22ID : std_logic_vector(31 downto 0);\r | |
282 | jcarr23ID : std_logic_vector(31 downto 0);\r | |
283 | jcarr24ID : std_logic_vector(31 downto 0);\r | |
284 | jcarr25ID : std_logic_vector(31 downto 0);\r | |
285 | jcarr26ID : std_logic_vector(31 downto 0);\r | |
286 | jcarr27ID : std_logic_vector(31 downto 0);\r | |
287 | jcarr28ID : std_logic_vector(31 downto 0);\r | |
288 | jcarr29ID : std_logic_vector(31 downto 0);\r | |
289 | jcarr30ID : std_logic_vector(31 downto 0);\r | |
290 | jcarr31ID : std_logic_vector(31 downto 0);\r | |
291 | jcarr32ID : std_logic_vector(31 downto 0);\r | |
292 | jcarr33ID : std_logic_vector(31 downto 0);\r | |
293 | jcarr34ID : std_logic_vector(31 downto 0);\r | |
294 | jcarr35ID : std_logic_vector(31 downto 0);\r | |
295 | jcarr36ID : std_logic_vector(31 downto 0);\r | |
296 | jcarr37ID : std_logic_vector(31 downto 0);\r | |
297 | jcarr38ID : std_logic_vector(31 downto 0);\r | |
298 | jcarr39ID : std_logic_vector(31 downto 0);\r | |
299 | jcarr40ID : std_logic_vector(31 downto 0);\r | |
300 | jcarr41ID : std_logic_vector(31 downto 0);\r | |
301 | jcarr42ID : std_logic_vector(31 downto 0)\r | |
302 | \r | |
303 | );\r | |
304 | port (\r | |
305 | \r | |
306 | clk_i : in std_logic;\r | |
307 | nrst_i : in std_logic;\r | |
308 | --\r | |
309 | adr_i : in std_logic_vector(7 downto 2);\r | |
310 | cbe_i : in std_logic_vector(3 downto 0);\r | |
311 | dat_i : in std_logic_vector(31 downto 0);\r | |
312 | dat_o : out std_logic_vector(31 downto 0);\r | |
313 | wrcfg_i : in std_logic;\r | |
314 | rdcfg_i : in std_logic;\r | |
315 | perr_i : in std_logic;\r | |
316 | serr_i : in std_logic;\r | |
317 | tabort_i : in std_logic;\r | |
318 | bar0_o : out std_logic_vector(31 downto 25);\r | |
319 | perrEN_o : out std_logic;\r | |
320 | serrEN_o : out std_logic;\r | |
321 | memEN_o : out std_logic\r | |
322 | \r | |
323 | );\r | |
324 | end component;\r | |
325 | \r | |
326 | \r | |
327 | component pcipargen\r | |
328 | port (\r | |
329 | \r | |
330 | clk_i : in std_logic;\r | |
331 | pcidatout_i : in std_logic_vector(31 downto 0);\r | |
332 | cbe_i : in std_logic_vector(3 downto 0);\r | |
333 | parOE_i : in std_logic;\r | |
334 | par_o : out std_logic\r | |
335 | \r | |
336 | ); \r | |
337 | end component;\r | |
338 | \r | |
339 | \r | |
340 | --+-----------------------------------------------------------------------------+\r | |
341 | --| CONSTANTS |\r | |
342 | --+-----------------------------------------------------------------------------+\r | |
343 | --+-----------------------------------------------------------------------------+\r | |
344 | --| SIGNALS |\r | |
345 | --+-----------------------------------------------------------------------------+\r | |
346 | \r | |
347 | signal bar0 : std_logic_vector(31 downto 25);\r | |
348 | signal memEN : std_logic;\r | |
349 | signal pciadrLD : std_logic;\r | |
350 | signal adrcfg : std_logic;\r | |
351 | signal adrmem : std_logic;\r | |
352 | signal adr : std_logic_vector(24 downto 1);\r | |
353 | signal cmd : std_logic_vector(3 downto 0);\r | |
354 | signal pcidOE : std_logic;\r | |
355 | signal parOE : std_logic; \r | |
356 | signal wbdatLD : std_logic;\r | |
357 | signal wbrgdMX : std_logic;\r | |
358 | signal wbd16MX : std_logic;\r | |
359 | signal wrcfg : std_logic;\r | |
360 | signal rdcfg : std_logic;\r | |
361 | signal pcidatread : std_logic_vector(31 downto 0);\r | |
362 | signal pcidatwrite : std_logic_vector(31 downto 0);\r | |
363 | signal pcidatout : std_logic_vector(31 downto 0); \r | |
364 | signal parerr : std_logic;\r | |
365 | signal syserr : std_logic;\r | |
366 | signal tabort : std_logic;\r | |
367 | signal perrEN : std_logic;\r | |
368 | signal serrEN : std_logic;\r | |
369 | \r | |
370 | begin\r | |
371 | \r | |
372 | \r | |
373 | --+-------------------------------------------------------------------------+\r | |
374 | --| Component instances |\r | |
375 | --+-------------------------------------------------------------------------+\r | |
376 | \r | |
377 | --+-----------------------------------------+\r | |
378 | --| PCI decoder |\r | |
379 | --+-----------------------------------------+\r | |
380 | \r | |
381 | u1: component pcidec_new\r | |
382 | port map (\r | |
383 | \r | |
384 | clk_i => clk33,\r | |
385 | nrst_i => nrst,\r | |
386 | --\r | |
387 | ad_i => ad,\r | |
388 | cbe_i => cbe,\r | |
389 | idsel_i => idsel,\r | |
390 | bar0_i => bar0,\r | |
391 | memEN_i => memEN,\r | |
392 | pciadrLD_i => pciadrLD, \r | |
393 | adrcfg_o => adrcfg,\r | |
394 | adrmem_o => adrmem,\r | |
395 | adr_o => adr,\r | |
396 | cmd_o => cmd\r | |
397 | \r | |
398 | );\r | |
399 | \r | |
400 | \r | |
401 | --+-----------------------------------------+\r | |
402 | --| PCI-WB Sequencer |\r | |
403 | --+-----------------------------------------+\r | |
404 | \r | |
405 | u2: component pciwbsequ \r | |
406 | port map (\r | |
407 | \r | |
408 | -- General \r | |
409 | clk_i => clk33, \r | |
410 | nrst_i => nrst,\r | |
411 | -- pci \r | |
412 | cmd_i => cmd,\r | |
413 | cbe_i => cbe,\r | |
414 | frame_i => frame,\r | |
415 | irdy_i => irdy, \r | |
416 | devsel_o => devsel,\r | |
417 | trdy_o => trdy, \r | |
418 | -- control\r | |
419 | adrcfg_i => adrcfg,\r | |
420 | adrmem_i => adrmem,\r | |
421 | pciadrLD_o => pciadrLD,\r | |
422 | pcidOE_o => pcidOE,\r | |
423 | parOE_o => parOE, \r | |
424 | wbdatLD_o => wbdatLD,\r | |
425 | wbrgdMX_o => wbrgdMX,\r | |
426 | wbd16MX_o => wbd16MX,\r | |
427 | wrcfg_o => wrcfg,\r | |
428 | rdcfg_o => rdcfg,\r | |
429 | -- whisbone\r | |
430 | wb_sel_o => wb_sel_o,\r | |
431 | wb_we_o => wb_we_o,\r | |
432 | wb_stb_o => wb_stb_o,\r | |
433 | wb_cyc_o => wb_cyc_o,\r | |
434 | wb_ack_i => wb_ack_i,\r | |
435 | wb_err_i => wb_err_i,\r | |
436 | -- debug signals\r | |
437 | debug_init => debug_init, \r | |
438 | debug_access => debug_access\r | |
439 | );\r | |
440 | \r | |
441 | \r | |
442 | --+-----------------------------------------+\r | |
443 | --| PCI-wb datamultiplexer |\r | |
444 | --+-----------------------------------------+\r | |
445 | \r | |
446 | u3: component pcidmux\r | |
447 | port map (\r | |
448 | \r | |
449 | clk_i => clk33,\r | |
450 | nrst_i => nrst,\r | |
451 | --\r | |
452 | d_io => ad, \r | |
453 | pcidatout_o => pcidatout, \r | |
454 | pcidOE_i => pcidOE,\r | |
455 | wbdatLD_i => wbdatLD,\r | |
456 | wbrgdMX_i => wbrgdMX,\r | |
457 | wbd16MX_i => wbd16MX,\r | |
458 | wb_dat_i => wb_dat_i,\r | |
459 | wb_dat_o => wb_dat_o,\r | |
460 | rg_dat_i => pcidatread,\r | |
461 | rg_dat_o => pcidatwrite\r | |
462 | \r | |
463 | );\r | |
464 | \r | |
465 | \r | |
466 | --+-----------------------------------------+\r | |
467 | --| PCI registers |\r | |
468 | --+-----------------------------------------+\r | |
469 | \r | |
470 | u4: component pciregs\r | |
471 | generic map (\r | |
472 | \r | |
473 | vendorID => vendorID,\r | |
474 | deviceID => deviceID,\r | |
475 | revisionID => revisionID,\r | |
476 | subsystemID => subsystemID,\r | |
477 | subsystemvID => subsystemvID,\r | |
478 | jcarr1ID => jcarr1ID,\r | |
479 | jcarr2ID => jcarr2ID,\r | |
480 | jcarr3ID => jcarr3ID,\r | |
481 | jcarr4ID => jcarr4ID,\r | |
482 | jcarr5ID => jcarr5ID,\r | |
483 | jcarr6ID => jcarr6ID,\r | |
484 | jcarr7ID => jcarr7ID,\r | |
485 | jcarr8ID => jcarr8ID,\r | |
486 | jcarr9ID => jcarr9ID,\r | |
487 | jcarr10ID => jcarr10ID,\r | |
488 | jcarr11ID => jcarr11ID,\r | |
489 | jcarr12ID => jcarr12ID,\r | |
490 | jcarr13ID => jcarr13ID,\r | |
491 | jcarr14ID => jcarr14ID,\r | |
492 | jcarr15ID => jcarr15ID,\r | |
493 | jcarr16ID => jcarr16ID,\r | |
494 | jcarr17ID => jcarr17ID,\r | |
495 | jcarr18ID => jcarr18ID,\r | |
496 | jcarr19ID => jcarr19ID,\r | |
497 | jcarr20ID => jcarr20ID,\r | |
498 | jcarr21ID => jcarr21ID,\r | |
499 | jcarr22ID => jcarr22ID,\r | |
500 | jcarr23ID => jcarr23ID,\r | |
501 | jcarr24ID => jcarr24ID,\r | |
502 | jcarr25ID => jcarr25ID,\r | |
503 | jcarr26ID => jcarr26ID,\r | |
504 | jcarr27ID => jcarr27ID,\r | |
505 | jcarr28ID => jcarr28ID,\r | |
506 | jcarr29ID => jcarr29ID,\r | |
507 | jcarr30ID => jcarr30ID,\r | |
508 | jcarr31ID => jcarr31ID,\r | |
509 | jcarr32ID => jcarr32ID,\r | |
510 | jcarr33ID => jcarr33ID,\r | |
511 | jcarr34ID => jcarr34ID,\r | |
512 | jcarr35ID => jcarr35ID,\r | |
513 | jcarr36ID => jcarr36ID,\r | |
514 | jcarr37ID => jcarr37ID,\r | |
515 | jcarr38ID => jcarr38ID,\r | |
516 | jcarr39ID => jcarr39ID,\r | |
517 | jcarr40ID => jcarr40ID,\r | |
518 | jcarr41ID => jcarr41ID,\r | |
519 | jcarr42ID => jcarr42ID\r | |
520 | \r | |
521 | )\r | |
522 | port map (\r | |
523 | \r | |
524 | clk_i => clk33,\r | |
525 | nrst_i => nrst,\r | |
526 | --\r | |
527 | adr_i => adr(7 downto 2),\r | |
528 | cbe_i => cbe,\r | |
529 | dat_i => pcidatwrite,\r | |
530 | dat_o => pcidatread,\r | |
531 | wrcfg_i => wrcfg,\r | |
532 | rdcfg_i => rdcfg,\r | |
533 | perr_i => parerr,\r | |
534 | serr_i => syserr,\r | |
535 | tabort_i => tabort,\r | |
536 | bar0_o => bar0,\r | |
537 | perrEN_o => perrEN,\r | |
538 | serrEN_o => serrEN,\r | |
539 | memEN_o => memEN\r | |
540 | \r | |
541 | );\r | |
542 | \r | |
543 | --+-----------------------------------------+\r | |
544 | --| PCI Parity Gnerator |\r | |
545 | --+-----------------------------------------+\r | |
546 | \r | |
547 | u5: component pcipargen\r | |
548 | port map (\r | |
549 | \r | |
550 | clk_i => clk33,\r | |
551 | pcidatout_i => pcidatout, \r | |
552 | cbe_i => cbe,\r | |
553 | parOE_i => parOE, \r | |
554 | par_o => par\r | |
555 | \r | |
556 | );\r | |
557 | \r | |
558 | \r | |
559 | --+-----------------------------------------+\r | |
560 | --| Whisbone Address bus |\r | |
561 | --+-----------------------------------------+\r | |
562 | \r | |
563 | wb_adr_o <= adr;\r | |
564 | \r | |
565 | \r | |
566 | --+-----------------------------------------+\r | |
567 | --| unimplemented |\r | |
568 | --+-----------------------------------------+\r | |
569 | \r | |
570 | parerr <= '0';\r | |
571 | syserr <= '0';\r | |
572 | tabort <= '0';\r | |
573 | \r | |
574 | \r | |
575 | --+-----------------------------------------+\r | |
576 | --| unused outputs |\r | |
577 | --+-----------------------------------------+\r | |
578 | -- #stop: Curret TARGET indicates to Master stop current transaction\r | |
579 | -- #perr:\r | |
580 | -- #serr:\r | |
581 | \r | |
582 | perr <= 'Z';\r | |
583 | serr <= 'Z';\r | |
584 | stop <= 'Z';\r | |
585 | intb <= '0' when ( wb_int_i = '1' ) else 'Z';\r | |
586 | \r | |
587 | \r | |
588 | end rtl;\r | |
589 | \r | |
590 | \r |