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

Subversion Repositories pci

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

powered by: WebSVN 2.1.0

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