OpenCores
URL https://opencores.org/ocsvn/pci/pci/trunk

Subversion Repositories pci

[/] [pci/] [tags/] [rel_6/] [rtl/] [verilog/] [pci_io_mux.v] - Blame information for rev 154

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 mihad
//////////////////////////////////////////////////////////////////////
2
////                                                              ////
3
////  File name "pci_io_mux.v"                                    ////
4
////                                                              ////
5
////  This file is part of the "PCI bridge" project               ////
6
////  http://www.opencores.org/cores/pci/                         ////
7
////                                                              ////
8
////  Author(s):                                                  ////
9
////      - Miha Dolenc (mihad@opencores.org)                     ////
10
////                                                              ////
11
////  All additional information is avaliable in the README       ////
12
////  file.                                                       ////
13
////                                                              ////
14
////                                                              ////
15
//////////////////////////////////////////////////////////////////////
16
////                                                              ////
17
//// Copyright (C) 2001 Miha Dolenc, mihad@opencores.org          ////
18
////                                                              ////
19
//// This source file may be used and distributed without         ////
20
//// restriction provided that this copyright statement is not    ////
21
//// removed from the file and that any derivative work contains  ////
22
//// the original copyright notice and the associated disclaimer. ////
23
////                                                              ////
24
//// This source file is free software; you can redistribute it   ////
25
//// and/or modify it under the terms of the GNU Lesser General   ////
26
//// Public License as published by the Free Software Foundation; ////
27
//// either version 2.1 of the License, or (at your option) any   ////
28
//// later version.                                               ////
29
////                                                              ////
30
//// This source is distributed in the hope that it will be       ////
31
//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
32
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
33
//// PURPOSE.  See the GNU Lesser General Public License for more ////
34
//// details.                                                     ////
35
////                                                              ////
36
//// You should have received a copy of the GNU Lesser General    ////
37
//// Public License along with this source; if not, download it   ////
38
//// from http://www.opencores.org/lgpl.shtml                     ////
39
////                                                              ////
40
//////////////////////////////////////////////////////////////////////
41
//
42
// CVS Revision History
43
//
44
// $Log: not supported by cvs2svn $
45 77 mihad
// Revision 1.3  2002/02/01 15:25:12  mihad
46
// Repaired a few bugs, updated specification, added test bench files and design document
47
//
48 21 mihad
// Revision 1.2  2001/10/05 08:14:29  mihad
49
// Updated all files with inclusion of timescale file for simulation purposes.
50
//
51 6 mihad
// Revision 1.1.1.1  2001/10/02 15:33:46  mihad
52
// New project directory structure
53 2 mihad
//
54 6 mihad
//
55 2 mihad
 
56
// this module instantiates output flip flops for PCI interface and
57
// some fanout downsizing logic because of heavily constrained PCI signals
58 21 mihad
 
59
// synopsys translate_off
60 6 mihad
`include "timescale.v"
61 21 mihad
// synopsys translate_on
62 6 mihad
 
63 77 mihad
module pci_io_mux
64 2 mihad
(
65
    reset_in,
66
    clk_in,
67
    frame_in,
68
    frame_en_in,
69
    frame_load_in,
70
    irdy_in,
71
    irdy_en_in,
72
    devsel_in,
73
    devsel_en_in,
74
    trdy_in,
75
    trdy_en_in,
76
    stop_in,
77
    stop_en_in,
78
    master_load_in,
79 21 mihad
    master_load_on_transfer_in,
80 2 mihad
    target_load_in,
81 21 mihad
    target_load_on_transfer_in,
82 2 mihad
    cbe_in,
83
    cbe_en_in,
84
    mas_ad_in,
85
    tar_ad_in,
86
 
87
    par_in,
88
    par_en_in,
89
    perr_in,
90
    perr_en_in,
91
    serr_in,
92
    serr_en_in,
93
 
94
    req_in,
95 21 mihad
 
96 2 mihad
    mas_ad_en_in,
97
    tar_ad_en_in,
98
    tar_ad_en_reg_in,
99 21 mihad
 
100 2 mihad
    ad_en_out,
101
    frame_en_out,
102
    irdy_en_out,
103
    devsel_en_out,
104
    trdy_en_out,
105
    stop_en_out,
106
    cbe_en_out,
107
 
108
    frame_out,
109
    irdy_out,
110
    devsel_out,
111
    trdy_out,
112
    stop_out,
113
    cbe_out,
114
    ad_out,
115 21 mihad
    ad_load_out,
116
    ad_en_unregistered_out,
117
 
118 2 mihad
    par_out,
119
    par_en_out,
120
    perr_out,
121
    perr_en_out,
122
    serr_out,
123
    serr_en_out,
124
 
125
    req_out,
126 21 mihad
    req_en_out,
127
    pci_trdy_in,
128
    pci_irdy_in,
129
    pci_frame_in,
130
    pci_stop_in
131 2 mihad
);
132
 
133
input reset_in, clk_in ;
134
 
135
input           frame_in ;
136
input           frame_en_in ;
137
input           frame_load_in ;
138
input           irdy_in ;
139
input           irdy_en_in ;
140
input           devsel_in ;
141
input           devsel_en_in ;
142
input           trdy_in ;
143
input           trdy_en_in ;
144
input           stop_in ;
145
input           stop_en_in ;
146
input           master_load_in ;
147
input           target_load_in ;
148
 
149
input [3:0]     cbe_in ;
150
input           cbe_en_in ;
151
input [31:0]    mas_ad_in ;
152
input [31:0]    tar_ad_in ;
153
 
154
input           mas_ad_en_in ;
155
input           tar_ad_en_in ;
156
input           tar_ad_en_reg_in ;
157
 
158
input par_in ;
159
input par_en_in ;
160 21 mihad
input perr_in ;
161 2 mihad
input perr_en_in ;
162 21 mihad
input serr_in ;
163 2 mihad
input serr_en_in ;
164
 
165
output          frame_en_out ;
166
output          irdy_en_out ;
167
output          devsel_en_out ;
168
output          trdy_en_out ;
169
output          stop_en_out ;
170
output [31:0]   ad_en_out ;
171
output [3:0]    cbe_en_out ;
172
 
173
output          frame_out ;
174
output          irdy_out ;
175
output          devsel_out ;
176
output          trdy_out ;
177
output          stop_out ;
178
output [3:0]    cbe_out ;
179
output [31:0]   ad_out ;
180 21 mihad
output          ad_load_out ;
181
output          ad_en_unregistered_out ;
182 2 mihad
 
183
output          par_out ;
184
output          par_en_out ;
185 21 mihad
output          perr_out ;
186 2 mihad
output          perr_en_out ;
187 21 mihad
output          serr_out ;
188 2 mihad
output          serr_en_out ;
189
 
190
input           req_in ;
191
 
192
output          req_out ;
193
output          req_en_out ;
194
 
195 21 mihad
input           pci_trdy_in,
196
                pci_irdy_in,
197
                pci_frame_in,
198
                pci_stop_in ;
199 2 mihad
 
200 21 mihad
input           master_load_on_transfer_in ;
201
input           target_load_on_transfer_in ;
202
 
203 2 mihad
wire   [31:0]   temp_ad = tar_ad_en_reg_in ? tar_ad_in : mas_ad_in ;
204
 
205
wire ad_en_ctrl_low ;
206
 
207
wire ad_en_ctrl_mlow ;
208
 
209
wire ad_en_ctrl_mhigh ;
210
 
211
wire ad_en_ctrl_high ;
212
 
213 21 mihad
wire ad_enable_internal = mas_ad_en_in || tar_ad_en_in ;
214 2 mihad
 
215 77 mihad
pci_io_mux_ad_en_crit ad_en_low_gen
216 21 mihad
(
217
    .ad_en_in       (ad_enable_internal),
218
    .pci_frame_in   (pci_frame_in),
219
    .pci_trdy_in    (pci_trdy_in),
220
    .pci_stop_in    (pci_stop_in),
221
    .ad_en_out      (ad_en_ctrl_low)
222
);
223 2 mihad
 
224 77 mihad
pci_io_mux_ad_en_crit ad_en_mlow_gen
225 21 mihad
(
226
    .ad_en_in       (ad_enable_internal),
227
    .pci_frame_in   (pci_frame_in),
228
    .pci_trdy_in    (pci_trdy_in),
229
    .pci_stop_in    (pci_stop_in),
230
    .ad_en_out      (ad_en_ctrl_mlow)
231
);
232 2 mihad
 
233 77 mihad
pci_io_mux_ad_en_crit ad_en_mhigh_gen
234 21 mihad
(
235
    .ad_en_in       (ad_enable_internal),
236
    .pci_frame_in   (pci_frame_in),
237
    .pci_trdy_in    (pci_trdy_in),
238
    .pci_stop_in    (pci_stop_in),
239
    .ad_en_out      (ad_en_ctrl_mhigh)
240
);
241 2 mihad
 
242 77 mihad
pci_io_mux_ad_en_crit ad_en_high_gen
243 21 mihad
(
244
    .ad_en_in       (ad_enable_internal),
245
    .pci_frame_in   (pci_frame_in),
246
    .pci_trdy_in    (pci_trdy_in),
247
    .pci_stop_in    (pci_stop_in),
248
    .ad_en_out      (ad_en_ctrl_high)
249
);
250
 
251
assign ad_en_unregistered_out = ad_en_ctrl_high ;
252
 
253
wire load = master_load_in || target_load_in ;
254
wire load_on_transfer = master_load_on_transfer_in || target_load_on_transfer_in ;
255
 
256
wire   ad_load_ctrl_low ;
257
wire   ad_load_ctrl_mlow ;
258
wire   ad_load_ctrl_mhigh ;
259
wire   ad_load_ctrl_high ;
260
 
261
assign ad_load_out = ad_load_ctrl_high ;
262
 
263 77 mihad
pci_io_mux_ad_load_crit ad_load_low_gen
264 21 mihad
(
265
    .load_in(load),
266
    .load_on_transfer_in(load_on_transfer),
267
    .pci_irdy_in(pci_irdy_in),
268
    .pci_trdy_in(pci_trdy_in),
269
    .load_out(ad_load_ctrl_low)
270
);
271
 
272 77 mihad
pci_io_mux_ad_load_crit ad_load_mlow_gen
273 21 mihad
(
274
    .load_in(load),
275
    .load_on_transfer_in(load_on_transfer),
276
    .pci_irdy_in(pci_irdy_in),
277
    .pci_trdy_in(pci_trdy_in),
278
    .load_out(ad_load_ctrl_mlow)
279
);
280
 
281 77 mihad
pci_io_mux_ad_load_crit ad_load_mhigh_gen
282 21 mihad
(
283
    .load_in(load),
284
    .load_on_transfer_in(load_on_transfer),
285
    .pci_irdy_in(pci_irdy_in),
286
    .pci_trdy_in(pci_trdy_in),
287
    .load_out(ad_load_ctrl_mhigh)
288
);
289
 
290 77 mihad
pci_io_mux_ad_load_crit ad_load_high_gen
291 21 mihad
(
292
    .load_in(load),
293
    .load_on_transfer_in(load_on_transfer),
294
    .pci_irdy_in(pci_irdy_in),
295
    .pci_trdy_in(pci_trdy_in),
296
    .load_out(ad_load_ctrl_high)
297
);
298
 
299 77 mihad
pci_out_reg ad_iob0
300 21 mihad
(
301 2 mihad
    .reset_in     ( reset_in ),
302
    .clk_in       ( clk_in) ,
303
    .dat_en_in    ( ad_load_ctrl_low ),
304
    .en_en_in     ( 1'b1 ),
305
    .dat_in       ( temp_ad[0] ) ,
306
    .en_in        ( ad_en_ctrl_low ) ,
307
    .en_out       ( ad_en_out[0] ),
308
    .dat_out      ( ad_out[0] )
309
);
310
 
311 77 mihad
pci_out_reg ad_iob1
312 21 mihad
(
313 2 mihad
    .reset_in     ( reset_in ),
314
    .clk_in       ( clk_in) ,
315
    .dat_en_in    ( ad_load_ctrl_low ),
316
    .en_en_in     ( 1'b1 ),
317
    .dat_in       ( temp_ad[1] ) ,
318
    .en_in        ( ad_en_ctrl_low ) ,
319
    .en_out       ( ad_en_out[1] ),
320
    .dat_out      ( ad_out[1] )
321
);
322
 
323 77 mihad
pci_out_reg ad_iob2
324 21 mihad
(
325 2 mihad
    .reset_in     ( reset_in ),
326
    .clk_in       ( clk_in) ,
327
    .dat_en_in    ( ad_load_ctrl_low ),
328
    .en_en_in     ( 1'b1 ),
329
    .dat_in       ( temp_ad[2] ) ,
330
    .en_in        ( ad_en_ctrl_low ) ,
331
    .en_out       ( ad_en_out[2] ),
332
    .dat_out      ( ad_out[2] )
333
);
334
 
335 77 mihad
pci_out_reg ad_iob3
336 21 mihad
(
337 2 mihad
    .reset_in     ( reset_in ),
338
    .clk_in       ( clk_in) ,
339
    .dat_en_in    ( ad_load_ctrl_low ),
340
    .en_en_in     ( 1'b1 ),
341
    .dat_in       ( temp_ad[3] ) ,
342
    .en_in        ( ad_en_ctrl_low ) ,
343
    .en_out       ( ad_en_out[3] ),
344
    .dat_out      ( ad_out[3] )
345
);
346
 
347 77 mihad
pci_out_reg ad_iob4
348 21 mihad
(
349 2 mihad
    .reset_in     ( reset_in ),
350
    .clk_in       ( clk_in) ,
351
    .dat_en_in    ( ad_load_ctrl_low ),
352
    .en_en_in     ( 1'b1 ),
353
    .dat_in       ( temp_ad[4] ) ,
354
    .en_in        ( ad_en_ctrl_low ) ,
355
    .en_out       ( ad_en_out[4] ),
356
    .dat_out      ( ad_out[4] )
357
);
358
 
359 77 mihad
pci_out_reg ad_iob5
360 21 mihad
(
361 2 mihad
    .reset_in     ( reset_in ),
362
    .clk_in       ( clk_in) ,
363
    .dat_en_in    ( ad_load_ctrl_low ),
364
    .en_en_in     ( 1'b1 ),
365
    .dat_in       ( temp_ad[5] ) ,
366
    .en_in        ( ad_en_ctrl_low ) ,
367
    .en_out       ( ad_en_out[5] ),
368
    .dat_out      ( ad_out[5] )
369
);
370
 
371 77 mihad
pci_out_reg ad_iob6
372 21 mihad
(
373 2 mihad
    .reset_in     ( reset_in ),
374
    .clk_in       ( clk_in) ,
375
    .dat_en_in    ( ad_load_ctrl_low ),
376
    .en_en_in     ( 1'b1 ),
377
    .dat_in       ( temp_ad[6] ) ,
378
    .en_in        ( ad_en_ctrl_low ) ,
379
    .en_out       ( ad_en_out[6] ),
380
    .dat_out      ( ad_out[6] )
381
);
382
 
383 77 mihad
pci_out_reg ad_iob7
384 21 mihad
(
385 2 mihad
    .reset_in     ( reset_in ),
386
    .clk_in       ( clk_in) ,
387
    .dat_en_in    ( ad_load_ctrl_low ),
388
    .en_en_in     ( 1'b1 ),
389
    .dat_in       ( temp_ad[7] ) ,
390
    .en_in        ( ad_en_ctrl_low ) ,
391
    .en_out       ( ad_en_out[7] ),
392
    .dat_out      ( ad_out[7] )
393
);
394
 
395 77 mihad
pci_out_reg ad_iob8
396 21 mihad
(
397 2 mihad
    .reset_in     ( reset_in ),
398
    .clk_in       ( clk_in) ,
399
    .dat_en_in    ( ad_load_ctrl_mlow ),
400
    .en_en_in     ( 1'b1 ),
401
    .dat_in       ( temp_ad[8] ) ,
402
    .en_in        ( ad_en_ctrl_mlow ) ,
403
    .en_out       ( ad_en_out[8] ),
404
    .dat_out      ( ad_out[8] )
405
);
406
 
407 77 mihad
pci_out_reg ad_iob9
408 21 mihad
(
409 2 mihad
    .reset_in     ( reset_in ),
410
    .clk_in       ( clk_in) ,
411
    .dat_en_in    ( ad_load_ctrl_mlow ),
412
    .en_en_in     ( 1'b1 ),
413
    .dat_in       ( temp_ad[9] ) ,
414
    .en_in        ( ad_en_ctrl_mlow ) ,
415
    .en_out       ( ad_en_out[9] ),
416
    .dat_out      ( ad_out[9] )
417
);
418
 
419 77 mihad
pci_out_reg ad_iob10
420 21 mihad
(
421 2 mihad
    .reset_in     ( reset_in ),
422
    .clk_in       ( clk_in) ,
423
    .dat_en_in    ( ad_load_ctrl_mlow ),
424
    .en_en_in     ( 1'b1 ),
425
    .dat_in       ( temp_ad[10] ) ,
426
    .en_in        ( ad_en_ctrl_mlow ) ,
427
    .en_out       ( ad_en_out[10] ),
428
    .dat_out      ( ad_out[10] )
429
);
430
 
431 77 mihad
pci_out_reg ad_iob11
432 21 mihad
(
433 2 mihad
    .reset_in     ( reset_in ),
434
    .clk_in       ( clk_in) ,
435
    .dat_en_in    ( ad_load_ctrl_mlow ),
436
    .en_en_in     ( 1'b1 ),
437
    .dat_in       ( temp_ad[11] ) ,
438
    .en_in        ( ad_en_ctrl_mlow ) ,
439
    .en_out       ( ad_en_out[11] ),
440
    .dat_out      ( ad_out[11] )
441
);
442
 
443 77 mihad
pci_out_reg ad_iob12
444 21 mihad
(
445 2 mihad
    .reset_in     ( reset_in ),
446
    .clk_in       ( clk_in) ,
447
    .dat_en_in    ( ad_load_ctrl_mlow ),
448
    .en_en_in     ( 1'b1 ),
449
    .dat_in       ( temp_ad[12] ) ,
450
    .en_in        ( ad_en_ctrl_mlow ) ,
451
    .en_out       ( ad_en_out[12] ),
452
    .dat_out      ( ad_out[12] )
453
);
454
 
455 77 mihad
pci_out_reg ad_iob13
456 21 mihad
(
457 2 mihad
    .reset_in     ( reset_in ),
458
    .clk_in       ( clk_in) ,
459
    .dat_en_in    ( ad_load_ctrl_mlow ),
460
    .en_en_in     ( 1'b1 ),
461
    .dat_in       ( temp_ad[13] ) ,
462
    .en_in        ( ad_en_ctrl_mlow ) ,
463
    .en_out       ( ad_en_out[13] ),
464
    .dat_out      ( ad_out[13] )
465
);
466
 
467 77 mihad
pci_out_reg ad_iob14
468 21 mihad
(
469 2 mihad
    .reset_in     ( reset_in ),
470
    .clk_in       ( clk_in) ,
471
    .dat_en_in    ( ad_load_ctrl_mlow ),
472
    .en_en_in     ( 1'b1 ),
473
    .dat_in       ( temp_ad[14] ) ,
474
    .en_in        ( ad_en_ctrl_mlow ) ,
475
    .en_out       ( ad_en_out[14] ),
476
    .dat_out      ( ad_out[14] )
477
);
478
 
479 77 mihad
pci_out_reg ad_iob15
480 21 mihad
(
481 2 mihad
    .reset_in     ( reset_in ),
482
    .clk_in       ( clk_in) ,
483
    .dat_en_in    ( ad_load_ctrl_mlow ),
484
    .en_en_in     ( 1'b1 ),
485
    .dat_in       ( temp_ad[15] ) ,
486
    .en_in        ( ad_en_ctrl_mlow ) ,
487
    .en_out       ( ad_en_out[15] ),
488
    .dat_out      ( ad_out[15] )
489
);
490
 
491 77 mihad
pci_out_reg ad_iob16
492 21 mihad
(
493 2 mihad
    .reset_in     ( reset_in ),
494
    .clk_in       ( clk_in) ,
495
    .dat_en_in    ( ad_load_ctrl_mhigh ),
496
    .en_en_in     ( 1'b1 ),
497
    .dat_in       ( temp_ad[16] ) ,
498
    .en_in        ( ad_en_ctrl_mhigh ) ,
499
    .en_out       ( ad_en_out[16] ),
500
    .dat_out      ( ad_out[16] )
501
);
502
 
503 77 mihad
pci_out_reg ad_iob17
504 21 mihad
(
505 2 mihad
    .reset_in     ( reset_in ),
506
    .clk_in       ( clk_in) ,
507
    .dat_en_in    ( ad_load_ctrl_mhigh ),
508
    .en_en_in     ( 1'b1 ),
509
    .dat_in       ( temp_ad[17] ) ,
510
    .en_in        ( ad_en_ctrl_mhigh ) ,
511
    .en_out       ( ad_en_out[17] ),
512
    .dat_out      ( ad_out[17] )
513
);
514
 
515 77 mihad
pci_out_reg ad_iob18
516 21 mihad
(
517 2 mihad
    .reset_in     ( reset_in ),
518
    .clk_in       ( clk_in) ,
519
    .dat_en_in    ( ad_load_ctrl_mhigh ),
520
    .en_en_in     ( 1'b1 ),
521
    .dat_in       ( temp_ad[18] ) ,
522
    .en_in        ( ad_en_ctrl_mhigh ) ,
523
    .en_out       ( ad_en_out[18] ),
524
    .dat_out      ( ad_out[18] )
525
);
526
 
527 77 mihad
pci_out_reg ad_iob19
528 21 mihad
(
529 2 mihad
    .reset_in     ( reset_in ),
530
    .clk_in       ( clk_in) ,
531
    .dat_en_in    ( ad_load_ctrl_mhigh ),
532
    .en_en_in     ( 1'b1 ),
533
    .dat_in       ( temp_ad[19] ) ,
534
    .en_in        ( ad_en_ctrl_mhigh ) ,
535
    .en_out       ( ad_en_out[19] ),
536
    .dat_out      ( ad_out[19] )
537
);
538
 
539 77 mihad
pci_out_reg ad_iob20
540 21 mihad
(
541 2 mihad
    .reset_in     ( reset_in ),
542
    .clk_in       ( clk_in) ,
543
    .dat_en_in    ( ad_load_ctrl_mhigh ),
544
    .en_en_in     ( 1'b1 ),
545
    .dat_in       ( temp_ad[20] ) ,
546
    .en_in        ( ad_en_ctrl_mhigh ) ,
547
    .en_out       ( ad_en_out[20] ),
548
    .dat_out      ( ad_out[20] )
549
);
550
 
551 77 mihad
pci_out_reg ad_iob21
552 21 mihad
(
553 2 mihad
    .reset_in     ( reset_in ),
554
    .clk_in       ( clk_in) ,
555
    .dat_en_in    ( ad_load_ctrl_mhigh ),
556
    .en_en_in     ( 1'b1 ),
557
    .dat_in       ( temp_ad[21] ) ,
558
    .en_in        ( ad_en_ctrl_mhigh ) ,
559
    .en_out       ( ad_en_out[21] ),
560
    .dat_out      ( ad_out[21] )
561
);
562
 
563 77 mihad
pci_out_reg ad_iob22
564 21 mihad
(
565 2 mihad
    .reset_in     ( reset_in ),
566
    .clk_in       ( clk_in) ,
567
    .dat_en_in    ( ad_load_ctrl_mhigh ),
568
    .en_en_in     ( 1'b1 ),
569
    .dat_in       ( temp_ad[22] ) ,
570
    .en_in        ( ad_en_ctrl_mhigh ) ,
571
    .en_out       ( ad_en_out[22] ),
572
    .dat_out      ( ad_out[22] )
573
);
574
 
575 77 mihad
pci_out_reg ad_iob23
576 21 mihad
(
577 2 mihad
    .reset_in     ( reset_in ),
578
    .clk_in       ( clk_in) ,
579
    .dat_en_in    ( ad_load_ctrl_mhigh ),
580
    .en_en_in     ( 1'b1 ),
581
    .dat_in       ( temp_ad[23] ) ,
582
    .en_in        ( ad_en_ctrl_mhigh ) ,
583
    .en_out       ( ad_en_out[23] ),
584
    .dat_out      ( ad_out[23] )
585
);
586
 
587 77 mihad
pci_out_reg ad_iob24
588 21 mihad
(
589 2 mihad
    .reset_in     ( reset_in ),
590
    .clk_in       ( clk_in) ,
591
    .dat_en_in    ( ad_load_ctrl_high ),
592
    .en_en_in     ( 1'b1 ),
593
    .dat_in       ( temp_ad[24] ) ,
594
    .en_in        ( ad_en_ctrl_high ) ,
595
    .en_out       ( ad_en_out[24] ),
596
    .dat_out      ( ad_out[24] )
597
);
598
 
599 77 mihad
pci_out_reg ad_iob25
600 21 mihad
(
601 2 mihad
    .reset_in     ( reset_in ),
602
    .clk_in       ( clk_in) ,
603
    .dat_en_in    ( ad_load_ctrl_high ),
604
    .en_en_in     ( 1'b1 ),
605
    .dat_in       ( temp_ad[25] ) ,
606
    .en_in        ( ad_en_ctrl_high ) ,
607
    .en_out       ( ad_en_out[25] ),
608
    .dat_out      ( ad_out[25] )
609
);
610
 
611 77 mihad
pci_out_reg ad_iob26
612 21 mihad
(
613 2 mihad
    .reset_in     ( reset_in ),
614
    .clk_in       ( clk_in) ,
615
    .dat_en_in    ( ad_load_ctrl_high ),
616
    .en_en_in     ( 1'b1 ),
617
    .dat_in       ( temp_ad[26] ) ,
618
    .en_in        ( ad_en_ctrl_high ) ,
619
    .en_out       ( ad_en_out[26] ),
620
    .dat_out      ( ad_out[26] )
621
);
622
 
623 77 mihad
pci_out_reg ad_iob27
624 21 mihad
(
625 2 mihad
    .reset_in     ( reset_in ),
626
    .clk_in       ( clk_in) ,
627
    .dat_en_in    ( ad_load_ctrl_high ),
628
    .en_en_in     ( 1'b1 ),
629
    .dat_in       ( temp_ad[27] ) ,
630
    .en_in        ( ad_en_ctrl_high ) ,
631
    .en_out       ( ad_en_out[27] ),
632
    .dat_out      ( ad_out[27] )
633
);
634
 
635 77 mihad
pci_out_reg ad_iob28
636 21 mihad
(
637 2 mihad
    .reset_in     ( reset_in ),
638
    .clk_in       ( clk_in) ,
639
    .dat_en_in    ( ad_load_ctrl_high ),
640
    .en_en_in     ( 1'b1 ),
641
    .dat_in       ( temp_ad[28] ) ,
642
    .en_in        ( ad_en_ctrl_high ) ,
643
    .en_out       ( ad_en_out[28] ),
644
    .dat_out      ( ad_out[28] )
645
);
646
 
647 77 mihad
pci_out_reg ad_iob29
648 21 mihad
(
649 2 mihad
    .reset_in     ( reset_in ),
650
    .clk_in       ( clk_in) ,
651
    .dat_en_in    ( ad_load_ctrl_high ),
652
    .en_en_in     ( 1'b1 ),
653
    .dat_in       ( temp_ad[29] ) ,
654
    .en_in        ( ad_en_ctrl_high ) ,
655
    .en_out       ( ad_en_out[29] ),
656
    .dat_out      ( ad_out[29] )
657
);
658
 
659 77 mihad
pci_out_reg ad_iob30
660 21 mihad
(
661 2 mihad
    .reset_in     ( reset_in ),
662
    .clk_in       ( clk_in) ,
663
    .dat_en_in    ( ad_load_ctrl_high ),
664
    .en_en_in     ( 1'b1 ),
665
    .dat_in       ( temp_ad[30] ) ,
666
    .en_in        ( ad_en_ctrl_high ) ,
667
    .en_out       ( ad_en_out[30] ),
668
    .dat_out      ( ad_out[30] )
669
);
670
 
671 77 mihad
pci_out_reg ad_iob31
672 21 mihad
(
673 2 mihad
    .reset_in     ( reset_in ),
674
    .clk_in       ( clk_in) ,
675
    .dat_en_in    ( ad_load_ctrl_high ),
676
    .en_en_in     ( 1'b1 ),
677
    .dat_in       ( temp_ad[31] ) ,
678
    .en_in        ( ad_en_ctrl_high ) ,
679
    .en_out       ( ad_en_out[31] ),
680
    .dat_out      ( ad_out[31] )
681
);
682
 
683
wire [3:0] cbe_load_ctrl = {4{ master_load_in }} ;
684
wire [3:0] cbe_en_ctrl   = {4{ cbe_en_in }} ;
685
 
686 77 mihad
pci_out_reg cbe_iob0
687 21 mihad
(
688 2 mihad
    .reset_in     ( reset_in ),
689
    .clk_in       ( clk_in) ,
690
    .dat_en_in    ( cbe_load_ctrl[0] ),
691
    .en_en_in     ( 1'b1 ),
692
    .dat_in       ( cbe_in[0] ) ,
693
    .en_in        ( cbe_en_ctrl[0] ) ,
694
    .en_out       ( cbe_en_out[0] ),
695
    .dat_out      ( cbe_out[0] )
696
);
697
 
698 77 mihad
pci_out_reg cbe_iob1
699 21 mihad
(
700 2 mihad
    .reset_in     ( reset_in ),
701
    .clk_in       ( clk_in) ,
702
    .dat_en_in    ( cbe_load_ctrl[1] ),
703
    .en_en_in     ( 1'b1 ),
704
    .dat_in       ( cbe_in[1] ) ,
705
    .en_in        ( cbe_en_ctrl[1] ) ,
706
    .en_out       ( cbe_en_out[1] ),
707
    .dat_out      ( cbe_out[1] )
708
);
709
 
710 77 mihad
pci_out_reg cbe_iob2
711 21 mihad
(
712 2 mihad
    .reset_in     ( reset_in ),
713
    .clk_in       ( clk_in) ,
714
    .dat_en_in    ( cbe_load_ctrl[2] ),
715
    .en_en_in     ( 1'b1 ),
716
    .dat_in       ( cbe_in[2] ) ,
717
    .en_in        ( cbe_en_ctrl[2] ) ,
718
    .en_out       ( cbe_en_out[2] ),
719
    .dat_out      ( cbe_out[2] )
720
);
721
 
722 77 mihad
pci_out_reg cbe_iob3
723 21 mihad
(
724 2 mihad
    .reset_in     ( reset_in ),
725
    .clk_in       ( clk_in) ,
726
    .dat_en_in    ( cbe_load_ctrl[3] ),
727
    .en_en_in     ( 1'b1 ),
728
    .dat_in       ( cbe_in[3] ) ,
729
    .en_in        ( cbe_en_ctrl[3] ) ,
730
    .en_out       ( cbe_en_out[3] ),
731
    .dat_out      ( cbe_out[3] )
732
);
733
 
734 77 mihad
pci_out_reg frame_iob
735 21 mihad
(
736 2 mihad
    .reset_in     ( reset_in ),
737
    .clk_in       ( clk_in) ,
738
    .dat_en_in    ( frame_load_in ),
739
    .en_en_in     ( 1'b1 ),
740
    .dat_in       ( frame_in ) ,
741
    .en_in        ( frame_en_in ) ,
742
    .en_out       ( frame_en_out ),
743
    .dat_out      ( frame_out )
744
);
745
 
746 77 mihad
pci_out_reg irdy_iob
747 21 mihad
(
748 2 mihad
    .reset_in     ( reset_in ),
749
    .clk_in       ( clk_in) ,
750
    .dat_en_in    ( 1'b1 ),
751
    .en_en_in     ( 1'b1 ),
752
    .dat_in       ( irdy_in ) ,
753
    .en_in        ( irdy_en_in ) ,
754
    .en_out       ( irdy_en_out ),
755
    .dat_out      ( irdy_out )
756
);
757
 
758 77 mihad
pci_out_reg trdy_iob
759 21 mihad
(
760 2 mihad
    .reset_in     ( reset_in ),
761
    .clk_in       ( clk_in) ,
762
    .dat_en_in    ( 1'b1 ),
763
    .en_en_in     ( 1'b1 ),
764
    .dat_in       ( trdy_in ) ,
765
    .en_in        ( trdy_en_in ) ,
766
    .en_out       ( trdy_en_out ),
767
    .dat_out      ( trdy_out )
768
);
769
 
770 77 mihad
pci_out_reg stop_iob
771 21 mihad
(
772 2 mihad
    .reset_in     ( reset_in ),
773
    .clk_in       ( clk_in) ,
774
    .dat_en_in    ( 1'b1 ),
775
    .en_en_in     ( 1'b1 ),
776
    .dat_in       ( stop_in ) ,
777
    .en_in        ( stop_en_in ) ,
778
    .en_out       ( stop_en_out ),
779
    .dat_out      ( stop_out )
780
);
781
 
782 77 mihad
pci_out_reg devsel_iob
783 21 mihad
(
784 2 mihad
    .reset_in     ( reset_in ),
785
    .clk_in       ( clk_in) ,
786
    .dat_en_in    ( 1'b1 ),
787
    .en_en_in     ( 1'b1 ),
788
    .dat_in       ( devsel_in ) ,
789
    .en_in        ( devsel_en_in ) ,
790
    .en_out       ( devsel_en_out ),
791
    .dat_out      ( devsel_out )
792
);
793
 
794 77 mihad
pci_out_reg par_iob
795 2 mihad
(
796
    .reset_in     ( reset_in ),
797
    .clk_in       ( clk_in) ,
798
    .dat_en_in    ( 1'b1 ),
799
    .en_en_in     ( 1'b1 ),
800
    .dat_in       ( par_in ) ,
801
    .en_in        ( par_en_in ) ,
802
    .en_out       ( par_en_out ),
803
    .dat_out      ( par_out )
804
);
805
 
806 77 mihad
pci_out_reg perr_iob
807 2 mihad
(
808
    .reset_in     ( reset_in ),
809
    .clk_in       ( clk_in) ,
810
    .dat_en_in    ( 1'b1 ),
811
    .en_en_in     ( 1'b1 ),
812
    .dat_in       ( perr_in ) ,
813
    .en_in        ( perr_en_in ) ,
814
    .en_out       ( perr_en_out ),
815
    .dat_out      ( perr_out )
816
);
817
 
818 77 mihad
pci_out_reg serr_iob
819 2 mihad
(
820
    .reset_in     ( reset_in ),
821
    .clk_in       ( clk_in) ,
822
    .dat_en_in    ( 1'b1 ),
823
    .en_en_in     ( 1'b1 ),
824
    .dat_in       ( serr_in ) ,
825
    .en_in        ( serr_en_in ) ,
826
    .en_out       ( serr_en_out ),
827
    .dat_out      ( serr_out )
828
);
829
 
830 77 mihad
pci_out_reg req_iob
831 2 mihad
(
832
    .reset_in     ( reset_in ),
833
    .clk_in       ( clk_in) ,
834
    .dat_en_in    ( 1'b1 ),
835
    .en_en_in     ( 1'b1 ),
836
    .dat_in       ( req_in ) ,
837
    .en_in        ( 1'b1 ) ,
838
    .en_out       ( req_en_out ),
839
    .dat_out      ( req_out )
840
);
841
 
842 77 mihad
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.