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

Subversion Repositories pci

[/] [pci/] [tags/] [rel_3/] [rtl/] [verilog/] [pci_io_mux.v] - Blame information for rev 21

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

powered by: WebSVN 2.1.0

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