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

Subversion Repositories wdsp

[/] [wdsp/] [trunk/] [rtl/] [verilog/] [minsoc/] [wb_conmax/] [tags/] [start/] [bench/] [verilog/] [test_bench_top.v] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 parrado
/////////////////////////////////////////////////////////////////////
2
////                                                             ////
3
////  Top Level Test Bench                                       ////
4
////                                                             ////
5
////                                                             ////
6
////  Author: Rudolf Usselmann                                   ////
7
////          rudi@asics.ws                                      ////
8
////                                                             ////
9
////                                                             ////
10
////  Downloaded from: http://www.opencores.org/cores/wb_conmax/ ////
11
////                                                             ////
12
/////////////////////////////////////////////////////////////////////
13
////                                                             ////
14
//// Copyright (C) 2000 Rudolf Usselmann                         ////
15
////                    rudi@asics.ws                            ////
16
////                                                             ////
17
//// This source file may be used and distributed without        ////
18
//// restriction provided that this copyright statement is not   ////
19
//// removed from the file and that any derivative work contains ////
20
//// the original copyright notice and the associated disclaimer.////
21
////                                                             ////
22
////     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY     ////
23
//// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED   ////
24
//// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS   ////
25
//// FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR      ////
26
//// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,         ////
27
//// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES    ////
28
//// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE   ////
29
//// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        ////
30
//// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  ////
31
//// LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT  ////
32
//// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  ////
33
//// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE         ////
34
//// POSSIBILITY OF SUCH DAMAGE.                                 ////
35
////                                                             ////
36
/////////////////////////////////////////////////////////////////////
37
 
38
//  CVS Log
39
//
40
//  $Id: test_bench_top.v,v 1.1.1.1 2001-10-19 11:04:25 rudi Exp $
41
//
42
//  $Date: 2001-10-19 11:04:25 $
43
//  $Revision: 1.1.1.1 $
44
//  $Author: rudi $
45
//  $Locker:  $
46
//  $State: Exp $
47
//
48
// Change History:
49
//               $Log: not supported by cvs2svn $
50
//
51
//
52
//
53
//
54
//
55
 
56
 
57
`include "wb_conmax_defines.v"
58
 
59
module test;
60
 
61
reg             clk;
62
reg             rst;
63
 
64
// IO Prototypes
65
wire    [31:0]   m0_data_i;
66
wire    [31:0]   m0_data_o;
67
wire    [31:0]   m0_addr_i;
68
wire    [3:0]    m0_sel_i;
69
wire            m0_we_i;
70
wire            m0_cyc_i;
71
wire            m0_stb_i;
72
wire            m0_ack_o;
73
wire            m0_err_o;
74
wire            m0_rty_o;
75
wire    [31:0]   m1_data_i;
76
wire    [31:0]   m1_data_o;
77
wire    [31:0]   m1_addr_i;
78
wire    [3:0]    m1_sel_i;
79
wire            m1_we_i;
80
wire            m1_cyc_i;
81
wire            m1_stb_i;
82
wire            m1_ack_o;
83
wire            m1_err_o;
84
wire            m1_rty_o;
85
wire    [31:0]   m2_data_i;
86
wire    [31:0]   m2_data_o;
87
wire    [31:0]   m2_addr_i;
88
wire    [3:0]    m2_sel_i;
89
wire            m2_we_i;
90
wire            m2_cyc_i;
91
wire            m2_stb_i;
92
wire            m2_ack_o;
93
wire            m2_err_o;
94
wire            m2_rty_o;
95
wire    [31:0]   m3_data_i;
96
wire    [31:0]   m3_data_o;
97
wire    [31:0]   m3_addr_i;
98
wire    [3:0]    m3_sel_i;
99
wire            m3_we_i;
100
wire            m3_cyc_i;
101
wire            m3_stb_i;
102
wire            m3_ack_o;
103
wire            m3_err_o;
104
wire            m3_rty_o;
105
wire    [31:0]   m4_data_i;
106
wire    [31:0]   m4_data_o;
107
wire    [31:0]   m4_addr_i;
108
wire    [3:0]    m4_sel_i;
109
wire            m4_we_i;
110
wire            m4_cyc_i;
111
wire            m4_stb_i;
112
wire            m4_ack_o;
113
wire            m4_err_o;
114
wire            m4_rty_o;
115
wire    [31:0]   m5_data_i;
116
wire    [31:0]   m5_data_o;
117
wire    [31:0]   m5_addr_i;
118
wire    [3:0]    m5_sel_i;
119
wire            m5_we_i;
120
wire            m5_cyc_i;
121
wire            m5_stb_i;
122
wire            m5_ack_o;
123
wire            m5_err_o;
124
wire            m5_rty_o;
125
wire    [31:0]   m6_data_i;
126
wire    [31:0]   m6_data_o;
127
wire    [31:0]   m6_addr_i;
128
wire    [3:0]    m6_sel_i;
129
wire            m6_we_i;
130
wire            m6_cyc_i;
131
wire            m6_stb_i;
132
wire            m6_ack_o;
133
wire            m6_err_o;
134
wire            m6_rty_o;
135
wire    [31:0]   m7_data_i;
136
wire    [31:0]   m7_data_o;
137
wire    [31:0]   m7_addr_i;
138
wire    [3:0]    m7_sel_i;
139
wire            m7_we_i;
140
wire            m7_cyc_i;
141
wire            m7_stb_i;
142
wire            m7_ack_o;
143
wire            m7_err_o;
144
wire            m7_rty_o;
145
wire    [31:0]   s0_data_i;
146
wire    [31:0]   s0_data_o;
147
wire    [31:0]   s0_addr_o;
148
wire    [3:0]    s0_sel_o;
149
wire            s0_we_o;
150
wire            s0_cyc_o;
151
wire            s0_stb_o;
152
wire            s0_ack_i;
153
wire            s0_err_i;
154
wire            s0_rty_i;
155
wire    [31:0]   s1_data_i;
156
wire    [31:0]   s1_data_o;
157
wire    [31:0]   s1_addr_o;
158
wire    [3:0]    s1_sel_o;
159
wire            s1_we_o;
160
wire            s1_cyc_o;
161
wire            s1_stb_o;
162
wire            s1_ack_i;
163
wire            s1_err_i;
164
wire            s1_rty_i;
165
wire    [31:0]   s2_data_i;
166
wire    [31:0]   s2_data_o;
167
wire    [31:0]   s2_addr_o;
168
wire    [3:0]    s2_sel_o;
169
wire            s2_we_o;
170
wire            s2_cyc_o;
171
wire            s2_stb_o;
172
wire            s2_ack_i;
173
wire            s2_err_i;
174
wire            s2_rty_i;
175
wire    [31:0]   s3_data_i;
176
wire    [31:0]   s3_data_o;
177
wire    [31:0]   s3_addr_o;
178
wire    [3:0]    s3_sel_o;
179
wire            s3_we_o;
180
wire            s3_cyc_o;
181
wire            s3_stb_o;
182
wire            s3_ack_i;
183
wire            s3_err_i;
184
wire            s3_rty_i;
185
wire    [31:0]   s4_data_i;
186
wire    [31:0]   s4_data_o;
187
wire    [31:0]   s4_addr_o;
188
wire    [3:0]    s4_sel_o;
189
wire            s4_we_o;
190
wire            s4_cyc_o;
191
wire            s4_stb_o;
192
wire            s4_ack_i;
193
wire            s4_err_i;
194
wire            s4_rty_i;
195
wire    [31:0]   s5_data_i;
196
wire    [31:0]   s5_data_o;
197
wire    [31:0]   s5_addr_o;
198
wire    [3:0]    s5_sel_o;
199
wire            s5_we_o;
200
wire            s5_cyc_o;
201
wire            s5_stb_o;
202
wire            s5_ack_i;
203
wire            s5_err_i;
204
wire            s5_rty_i;
205
wire    [31:0]   s6_data_i;
206
wire    [31:0]   s6_data_o;
207
wire    [31:0]   s6_addr_o;
208
wire    [3:0]    s6_sel_o;
209
wire            s6_we_o;
210
wire            s6_cyc_o;
211
wire            s6_stb_o;
212
wire            s6_ack_i;
213
wire            s6_err_i;
214
wire            s6_rty_i;
215
wire    [31:0]   s7_data_i;
216
wire    [31:0]   s7_data_o;
217
wire    [31:0]   s7_addr_o;
218
wire    [3:0]    s7_sel_o;
219
wire            s7_we_o;
220
wire            s7_cyc_o;
221
wire            s7_stb_o;
222
wire            s7_ack_i;
223
wire            s7_err_i;
224
wire            s7_rty_i;
225
wire    [31:0]   s8_data_i;
226
wire    [31:0]   s8_data_o;
227
wire    [31:0]   s8_addr_o;
228
wire    [3:0]    s8_sel_o;
229
wire            s8_we_o;
230
wire            s8_cyc_o;
231
wire            s8_stb_o;
232
wire            s8_ack_i;
233
wire            s8_err_i;
234
wire            s8_rty_i;
235
wire    [31:0]   s9_data_i;
236
wire    [31:0]   s9_data_o;
237
wire    [31:0]   s9_addr_o;
238
wire    [3:0]    s9_sel_o;
239
wire            s9_we_o;
240
wire            s9_cyc_o;
241
wire            s9_stb_o;
242
wire            s9_ack_i;
243
wire            s9_err_i;
244
wire            s9_rty_i;
245
wire    [31:0]   s10_data_i;
246
wire    [31:0]   s10_data_o;
247
wire    [31:0]   s10_addr_o;
248
wire    [3:0]    s10_sel_o;
249
wire            s10_we_o;
250
wire            s10_cyc_o;
251
wire            s10_stb_o;
252
wire            s10_ack_i;
253
wire            s10_err_i;
254
wire            s10_rty_i;
255
wire    [31:0]   s11_data_i;
256
wire    [31:0]   s11_data_o;
257
wire    [31:0]   s11_addr_o;
258
wire    [3:0]    s11_sel_o;
259
wire            s11_we_o;
260
wire            s11_cyc_o;
261
wire            s11_stb_o;
262
wire            s11_ack_i;
263
wire            s11_err_i;
264
wire            s11_rty_i;
265
wire    [31:0]   s12_data_i;
266
wire    [31:0]   s12_data_o;
267
wire    [31:0]   s12_addr_o;
268
wire    [3:0]    s12_sel_o;
269
wire            s12_we_o;
270
wire            s12_cyc_o;
271
wire            s12_stb_o;
272
wire            s12_ack_i;
273
wire            s12_err_i;
274
wire            s12_rty_i;
275
wire    [31:0]   s13_data_i;
276
wire    [31:0]   s13_data_o;
277
wire    [31:0]   s13_addr_o;
278
wire    [3:0]    s13_sel_o;
279
wire            s13_we_o;
280
wire            s13_cyc_o;
281
wire            s13_stb_o;
282
wire            s13_ack_i;
283
wire            s13_err_i;
284
wire            s13_rty_i;
285
wire    [31:0]   s14_data_i;
286
wire    [31:0]   s14_data_o;
287
wire    [31:0]   s14_addr_o;
288
wire    [3:0]    s14_sel_o;
289
wire            s14_we_o;
290
wire            s14_cyc_o;
291
wire            s14_stb_o;
292
wire            s14_ack_i;
293
wire            s14_err_i;
294
wire            s14_rty_i;
295
wire    [31:0]   s15_data_i;
296
wire    [31:0]   s15_data_o;
297
wire    [31:0]   s15_addr_o;
298
wire    [3:0]    s15_sel_o;
299
wire            s15_we_o;
300
wire            s15_cyc_o;
301
wire            s15_stb_o;
302
wire            s15_ack_i;
303
wire            s15_err_i;
304
wire            s15_rty_i;
305
 
306
 
307
// Test Bench Variables
308
reg     [31:0]   wd_cnt;
309
integer         error_cnt;
310
integer         verbose;
311
 
312
// Misc Variables
313
 
314
/////////////////////////////////////////////////////////////////////
315
//
316
// Defines 
317
//
318
 
319
 
320
/////////////////////////////////////////////////////////////////////
321
//
322
// Simulation Initialization and Start up Section
323
//
324
 
325
 
326
initial
327
   begin
328
        $timeformat (-9, 1, " ns", 10);
329
 
330
        $display("\n\n");
331
        $display("*****************************************************");
332
        $display("* WISHBONE Connection Matrix Simulation started ... *");
333
        $display("*****************************************************");
334
        $display("\n");
335
 
336
`ifdef WAVES
337
        $shm_open("waves");
338
        $shm_probe("AS",test,"AS");
339
        $display("INFO: Signal dump enabled ...\n\n");
340
`endif
341
        wd_cnt = 0;
342
        error_cnt = 0;
343
        clk = 1;
344
        rst = 1;
345
        verbose = 1;
346
 
347
        repeat(5)       @(posedge clk);
348
        s0.delay = 1;
349
        s1.delay = 1;
350
        s2.delay = 1;
351
        s3.delay = 1;
352
        s4.delay = 1;
353
        s5.delay = 1;
354
        s6.delay = 1;
355
        s7.delay = 1;
356
        s8.delay = 1;
357
        s9.delay = 1;
358
        s10.delay = 1;
359
        s11.delay = 1;
360
        s12.delay = 1;
361
        s13.delay = 1;
362
        s14.delay = 1;
363
        s15.delay = 1;
364
        #1;
365
        rst = 0;
366
        repeat(5)       @(posedge clk);
367
 
368
        // HERE IS WHERE THE TEST CASES GO ...
369
 
370
if(1)   // Full Regression Run
371
   begin
372
        $display(" ......................................................");
373
        $display(" :                                                    :");
374
        $display(" :    Regression Run ...                              :");
375
        $display(" :....................................................:");
376
        verbose = 0;
377
 
378
        test_dp1;
379
        test_rf;
380
        test_arb1;
381
        test_arb2;
382
        test_dp2;
383
 
384
   end
385
else
386
if(1)   // Debug Tests
387
   begin
388
        $display(" ......................................................");
389
        $display(" :                                                    :");
390
        $display(" :    Test Debug Testing ...                          :");
391
        $display(" :....................................................:");
392
 
393
        test_dp2;
394
 
395
   end
396
 
397
repeat(100)     @(posedge clk);
398
$finish;
399
end     // End of Initial
400
 
401
/////////////////////////////////////////////////////////////////////
402
//
403
// Clock Generation
404
//
405
 
406
always #5       clk = ~clk;
407
 
408
/////////////////////////////////////////////////////////////////////
409
//
410
// Watchdog Counter
411
//
412
 
413
always @(posedge clk)
414
        if(m0_ack_o | m1_ack_o | m2_ack_o | m3_ack_o |
415
                m4_ack_o | m5_ack_o | m6_ack_o | m7_ack_o)
416
                wd_cnt = 0;
417
        else
418
                wd_cnt = wd_cnt +1;
419
 
420
always @(wd_cnt)
421
        if(wd_cnt > 5000)
422
           begin
423
                $display("\n*******************************************");
424
                $display("*** ERROR: Watchdog Counter Expired ... ***");
425
                $display("*******************************************\n");
426
                $finish;
427
           end
428
 
429
/////////////////////////////////////////////////////////////////////
430
//
431
// IO Monitors
432
//
433
 
434
/////////////////////////////////////////////////////////////////////
435
//
436
// WISHBONE Inter Connect
437
//
438
 
439
wb_conmax_top   #(32,
440
                32,
441
                4'hf,
442
                2'd2,
443
                2'd2,
444
                2'd2,
445
                2'd2,
446
                2'd2,
447
                2'd2,
448
                2'd2,
449
                2'd2,
450
                2'd2,
451
                2'd2,
452
                2'd2,
453
                2'd2,
454
                2'd2,
455
                2'd2,
456
                2'd2,
457
                2'd2
458
                ) conmax(
459
                .clk_i(         clk             ),
460
                .rst_i(         rst             ),
461
                .m0_data_i(     m0_data_i       ),
462
                .m0_data_o(     m0_data_o       ),
463
                .m0_addr_i(     m0_addr_i       ),
464
                .m0_sel_i(      m0_sel_i        ),
465
                .m0_we_i(       m0_we_i         ),
466
                .m0_cyc_i(      m0_cyc_i        ),
467
                .m0_stb_i(      m0_stb_i        ),
468
                .m0_ack_o(      m0_ack_o        ),
469
                .m0_err_o(      m0_err_o        ),
470
                .m0_rty_o(      m0_rty_o        ),
471
                .m1_data_i(     m1_data_i       ),
472
                .m1_data_o(     m1_data_o       ),
473
                .m1_addr_i(     m1_addr_i       ),
474
                .m1_sel_i(      m1_sel_i        ),
475
                .m1_we_i(       m1_we_i         ),
476
                .m1_cyc_i(      m1_cyc_i        ),
477
                .m1_stb_i(      m1_stb_i        ),
478
                .m1_ack_o(      m1_ack_o        ),
479
                .m1_err_o(      m1_err_o        ),
480
                .m1_rty_o(      m1_rty_o        ),
481
                .m2_data_i(     m2_data_i       ),
482
                .m2_data_o(     m2_data_o       ),
483
                .m2_addr_i(     m2_addr_i       ),
484
                .m2_sel_i(      m2_sel_i        ),
485
                .m2_we_i(       m2_we_i         ),
486
                .m2_cyc_i(      m2_cyc_i        ),
487
                .m2_stb_i(      m2_stb_i        ),
488
                .m2_ack_o(      m2_ack_o        ),
489
                .m2_err_o(      m2_err_o        ),
490
                .m2_rty_o(      m2_rty_o        ),
491
                .m3_data_i(     m3_data_i       ),
492
                .m3_data_o(     m3_data_o       ),
493
                .m3_addr_i(     m3_addr_i       ),
494
                .m3_sel_i(      m3_sel_i        ),
495
                .m3_we_i(       m3_we_i         ),
496
                .m3_cyc_i(      m3_cyc_i        ),
497
                .m3_stb_i(      m3_stb_i        ),
498
                .m3_ack_o(      m3_ack_o        ),
499
                .m3_err_o(      m3_err_o        ),
500
                .m3_rty_o(      m3_rty_o        ),
501
                .m4_data_i(     m4_data_i       ),
502
                .m4_data_o(     m4_data_o       ),
503
                .m4_addr_i(     m4_addr_i       ),
504
                .m4_sel_i(      m4_sel_i        ),
505
                .m4_we_i(       m4_we_i         ),
506
                .m4_cyc_i(      m4_cyc_i        ),
507
                .m4_stb_i(      m4_stb_i        ),
508
                .m4_ack_o(      m4_ack_o        ),
509
                .m4_err_o(      m4_err_o        ),
510
                .m4_rty_o(      m4_rty_o        ),
511
                .m5_data_i(     m5_data_i       ),
512
                .m5_data_o(     m5_data_o       ),
513
                .m5_addr_i(     m5_addr_i       ),
514
                .m5_sel_i(      m5_sel_i        ),
515
                .m5_we_i(       m5_we_i         ),
516
                .m5_cyc_i(      m5_cyc_i        ),
517
                .m5_stb_i(      m5_stb_i        ),
518
                .m5_ack_o(      m5_ack_o        ),
519
                .m5_err_o(      m5_err_o        ),
520
                .m5_rty_o(      m5_rty_o        ),
521
                .m6_data_i(     m6_data_i       ),
522
                .m6_data_o(     m6_data_o       ),
523
                .m6_addr_i(     m6_addr_i       ),
524
                .m6_sel_i(      m6_sel_i        ),
525
                .m6_we_i(       m6_we_i         ),
526
                .m6_cyc_i(      m6_cyc_i        ),
527
                .m6_stb_i(      m6_stb_i        ),
528
                .m6_ack_o(      m6_ack_o        ),
529
                .m6_err_o(      m6_err_o        ),
530
                .m6_rty_o(      m6_rty_o        ),
531
                .m7_data_i(     m7_data_i       ),
532
                .m7_data_o(     m7_data_o       ),
533
                .m7_addr_i(     m7_addr_i       ),
534
                .m7_sel_i(      m7_sel_i        ),
535
                .m7_we_i(       m7_we_i         ),
536
                .m7_cyc_i(      m7_cyc_i        ),
537
                .m7_stb_i(      m7_stb_i        ),
538
                .m7_ack_o(      m7_ack_o        ),
539
                .m7_err_o(      m7_err_o        ),
540
                .m7_rty_o(      m7_rty_o        ),
541
                .s0_data_i(     s0_data_i       ),
542
                .s0_data_o(     s0_data_o       ),
543
                .s0_addr_o(     s0_addr_o       ),
544
                .s0_sel_o(      s0_sel_o        ),
545
                .s0_we_o(       s0_we_o         ),
546
                .s0_cyc_o(      s0_cyc_o        ),
547
                .s0_stb_o(      s0_stb_o        ),
548
                .s0_ack_i(      s0_ack_i        ),
549
                .s0_err_i(      s0_err_i        ),
550
                .s0_rty_i(      s0_rty_i        ),
551
                .s1_data_i(     s1_data_i       ),
552
                .s1_data_o(     s1_data_o       ),
553
                .s1_addr_o(     s1_addr_o       ),
554
                .s1_sel_o(      s1_sel_o        ),
555
                .s1_we_o(       s1_we_o         ),
556
                .s1_cyc_o(      s1_cyc_o        ),
557
                .s1_stb_o(      s1_stb_o        ),
558
                .s1_ack_i(      s1_ack_i        ),
559
                .s1_err_i(      s1_err_i        ),
560
                .s1_rty_i(      s1_rty_i        ),
561
                .s2_data_i(     s2_data_i       ),
562
                .s2_data_o(     s2_data_o       ),
563
                .s2_addr_o(     s2_addr_o       ),
564
                .s2_sel_o(      s2_sel_o        ),
565
                .s2_we_o(       s2_we_o         ),
566
                .s2_cyc_o(      s2_cyc_o        ),
567
                .s2_stb_o(      s2_stb_o        ),
568
                .s2_ack_i(      s2_ack_i        ),
569
                .s2_err_i(      s2_err_i        ),
570
                .s2_rty_i(      s2_rty_i        ),
571
                .s3_data_i(     s3_data_i       ),
572
                .s3_data_o(     s3_data_o       ),
573
                .s3_addr_o(     s3_addr_o       ),
574
                .s3_sel_o(      s3_sel_o        ),
575
                .s3_we_o(       s3_we_o         ),
576
                .s3_cyc_o(      s3_cyc_o        ),
577
                .s3_stb_o(      s3_stb_o        ),
578
                .s3_ack_i(      s3_ack_i        ),
579
                .s3_err_i(      s3_err_i        ),
580
                .s3_rty_i(      s3_rty_i        ),
581
                .s4_data_i(     s4_data_i       ),
582
                .s4_data_o(     s4_data_o       ),
583
                .s4_addr_o(     s4_addr_o       ),
584
                .s4_sel_o(      s4_sel_o        ),
585
                .s4_we_o(       s4_we_o         ),
586
                .s4_cyc_o(      s4_cyc_o        ),
587
                .s4_stb_o(      s4_stb_o        ),
588
                .s4_ack_i(      s4_ack_i        ),
589
                .s4_err_i(      s4_err_i        ),
590
                .s4_rty_i(      s4_rty_i        ),
591
                .s5_data_i(     s5_data_i       ),
592
                .s5_data_o(     s5_data_o       ),
593
                .s5_addr_o(     s5_addr_o       ),
594
                .s5_sel_o(      s5_sel_o        ),
595
                .s5_we_o(       s5_we_o         ),
596
                .s5_cyc_o(      s5_cyc_o        ),
597
                .s5_stb_o(      s5_stb_o        ),
598
                .s5_ack_i(      s5_ack_i        ),
599
                .s5_err_i(      s5_err_i        ),
600
                .s5_rty_i(      s5_rty_i        ),
601
                .s6_data_i(     s6_data_i       ),
602
                .s6_data_o(     s6_data_o       ),
603
                .s6_addr_o(     s6_addr_o       ),
604
                .s6_sel_o(      s6_sel_o        ),
605
                .s6_we_o(       s6_we_o         ),
606
                .s6_cyc_o(      s6_cyc_o        ),
607
                .s6_stb_o(      s6_stb_o        ),
608
                .s6_ack_i(      s6_ack_i        ),
609
                .s6_err_i(      s6_err_i        ),
610
                .s6_rty_i(      s6_rty_i        ),
611
                .s7_data_i(     s7_data_i       ),
612
                .s7_data_o(     s7_data_o       ),
613
                .s7_addr_o(     s7_addr_o       ),
614
                .s7_sel_o(      s7_sel_o        ),
615
                .s7_we_o(       s7_we_o         ),
616
                .s7_cyc_o(      s7_cyc_o        ),
617
                .s7_stb_o(      s7_stb_o        ),
618
                .s7_ack_i(      s7_ack_i        ),
619
                .s7_err_i(      s7_err_i        ),
620
                .s7_rty_i(      s7_rty_i        ),
621
                .s8_data_i(     s8_data_i       ),
622
                .s8_data_o(     s8_data_o       ),
623
                .s8_addr_o(     s8_addr_o       ),
624
                .s8_sel_o(      s8_sel_o        ),
625
                .s8_we_o(       s8_we_o         ),
626
                .s8_cyc_o(      s8_cyc_o        ),
627
                .s8_stb_o(      s8_stb_o        ),
628
                .s8_ack_i(      s8_ack_i        ),
629
                .s8_err_i(      s8_err_i        ),
630
                .s8_rty_i(      s8_rty_i        ),
631
                .s9_data_i(     s9_data_i       ),
632
                .s9_data_o(     s9_data_o       ),
633
                .s9_addr_o(     s9_addr_o       ),
634
                .s9_sel_o(      s9_sel_o        ),
635
                .s9_we_o(       s9_we_o         ),
636
                .s9_cyc_o(      s9_cyc_o        ),
637
                .s9_stb_o(      s9_stb_o        ),
638
                .s9_ack_i(      s9_ack_i        ),
639
                .s9_err_i(      s9_err_i        ),
640
                .s9_rty_i(      s9_rty_i        ),
641
                .s10_data_i(    s10_data_i      ),
642
                .s10_data_o(    s10_data_o      ),
643
                .s10_addr_o(    s10_addr_o      ),
644
                .s10_sel_o(     s10_sel_o       ),
645
                .s10_we_o(      s10_we_o        ),
646
                .s10_cyc_o(     s10_cyc_o       ),
647
                .s10_stb_o(     s10_stb_o       ),
648
                .s10_ack_i(     s10_ack_i       ),
649
                .s10_err_i(     s10_err_i       ),
650
                .s10_rty_i(     s10_rty_i       ),
651
                .s11_data_i(    s11_data_i      ),
652
                .s11_data_o(    s11_data_o      ),
653
                .s11_addr_o(    s11_addr_o      ),
654
                .s11_sel_o(     s11_sel_o       ),
655
                .s11_we_o(      s11_we_o        ),
656
                .s11_cyc_o(     s11_cyc_o       ),
657
                .s11_stb_o(     s11_stb_o       ),
658
                .s11_ack_i(     s11_ack_i       ),
659
                .s11_err_i(     s11_err_i       ),
660
                .s11_rty_i(     s11_rty_i       ),
661
                .s12_data_i(    s12_data_i      ),
662
                .s12_data_o(    s12_data_o      ),
663
                .s12_addr_o(    s12_addr_o      ),
664
                .s12_sel_o(     s12_sel_o       ),
665
                .s12_we_o(      s12_we_o        ),
666
                .s12_cyc_o(     s12_cyc_o       ),
667
                .s12_stb_o(     s12_stb_o       ),
668
                .s12_ack_i(     s12_ack_i       ),
669
                .s12_err_i(     s12_err_i       ),
670
                .s12_rty_i(     s12_rty_i       ),
671
                .s13_data_i(    s13_data_i      ),
672
                .s13_data_o(    s13_data_o      ),
673
                .s13_addr_o(    s13_addr_o      ),
674
                .s13_sel_o(     s13_sel_o       ),
675
                .s13_we_o(      s13_we_o        ),
676
                .s13_cyc_o(     s13_cyc_o       ),
677
                .s13_stb_o(     s13_stb_o       ),
678
                .s13_ack_i(     s13_ack_i       ),
679
                .s13_err_i(     s13_err_i       ),
680
                .s13_rty_i(     s13_rty_i       ),
681
                .s14_data_i(    s14_data_i      ),
682
                .s14_data_o(    s14_data_o      ),
683
                .s14_addr_o(    s14_addr_o      ),
684
                .s14_sel_o(     s14_sel_o       ),
685
                .s14_we_o(      s14_we_o        ),
686
                .s14_cyc_o(     s14_cyc_o       ),
687
                .s14_stb_o(     s14_stb_o       ),
688
                .s14_ack_i(     s14_ack_i       ),
689
                .s14_err_i(     s14_err_i       ),
690
                .s14_rty_i(     s14_rty_i       ),
691
                .s15_data_i(    s15_data_i      ),
692
                .s15_data_o(    s15_data_o      ),
693
                .s15_addr_o(    s15_addr_o      ),
694
                .s15_sel_o(     s15_sel_o       ),
695
                .s15_we_o(      s15_we_o        ),
696
                .s15_cyc_o(     s15_cyc_o       ),
697
                .s15_stb_o(     s15_stb_o       ),
698
                .s15_ack_i(     s15_ack_i       ),
699
                .s15_err_i(     s15_err_i       ),
700
                .s15_rty_i(     s15_rty_i       )
701
                );
702
 
703
 
704
/////////////////////////////////////////////////////////////////////
705
//
706
// WISHBONE Master Models
707
//
708
 
709
wb_mast m0(     .clk(           clk             ),
710
                .rst(           ~rst            ),
711
                .adr(           m0_addr_i       ),
712
                .din(           m0_data_o       ),
713
                .dout(          m0_data_i       ),
714
                .cyc(           m0_cyc_i        ),
715
                .stb(           m0_stb_i        ),
716
                .sel(           m0_sel_i        ),
717
                .we(            m0_we_i         ),
718
                .ack(           m0_ack_o        ),
719
                .err(           m0_err_o        ),
720
                .rty(           m0_rty_o        )
721
                );
722
 
723
wb_mast m1(     .clk(           clk             ),
724
                .rst(           ~rst            ),
725
                .adr(           m1_addr_i       ),
726
                .din(           m1_data_o       ),
727
                .dout(          m1_data_i       ),
728
                .cyc(           m1_cyc_i        ),
729
                .stb(           m1_stb_i        ),
730
                .sel(           m1_sel_i        ),
731
                .we(            m1_we_i         ),
732
                .ack(           m1_ack_o        ),
733
                .err(           m1_err_o        ),
734
                .rty(           m1_rty_o        )
735
                );
736
 
737
wb_mast m2(     .clk(           clk             ),
738
                .rst(           ~rst            ),
739
                .adr(           m2_addr_i       ),
740
                .din(           m2_data_o       ),
741
                .dout(          m2_data_i       ),
742
                .cyc(           m2_cyc_i        ),
743
                .stb(           m2_stb_i        ),
744
                .sel(           m2_sel_i        ),
745
                .we(            m2_we_i         ),
746
                .ack(           m2_ack_o        ),
747
                .err(           m2_err_o        ),
748
                .rty(           m2_rty_o        )
749
                );
750
 
751
wb_mast m3(     .clk(           clk             ),
752
                .rst(           ~rst            ),
753
                .adr(           m3_addr_i       ),
754
                .din(           m3_data_o       ),
755
                .dout(          m3_data_i       ),
756
                .cyc(           m3_cyc_i        ),
757
                .stb(           m3_stb_i        ),
758
                .sel(           m3_sel_i        ),
759
                .we(            m3_we_i         ),
760
                .ack(           m3_ack_o        ),
761
                .err(           m3_err_o        ),
762
                .rty(           m3_rty_o        )
763
                );
764
 
765
wb_mast m4(     .clk(           clk             ),
766
                .rst(           ~rst            ),
767
                .adr(           m4_addr_i       ),
768
                .din(           m4_data_o       ),
769
                .dout(          m4_data_i       ),
770
                .cyc(           m4_cyc_i        ),
771
                .stb(           m4_stb_i        ),
772
                .sel(           m4_sel_i        ),
773
                .we(            m4_we_i         ),
774
                .ack(           m4_ack_o        ),
775
                .err(           m4_err_o        ),
776
                .rty(           m4_rty_o        )
777
                );
778
 
779
wb_mast m5(     .clk(           clk             ),
780
                .rst(           ~rst            ),
781
                .adr(           m5_addr_i       ),
782
                .din(           m5_data_o       ),
783
                .dout(          m5_data_i       ),
784
                .cyc(           m5_cyc_i        ),
785
                .stb(           m5_stb_i        ),
786
                .sel(           m5_sel_i        ),
787
                .we(            m5_we_i         ),
788
                .ack(           m5_ack_o        ),
789
                .err(           m5_err_o        ),
790
                .rty(           m5_rty_o        )
791
                );
792
 
793
wb_mast m6(     .clk(           clk             ),
794
                .rst(           ~rst            ),
795
                .adr(           m6_addr_i       ),
796
                .din(           m6_data_o       ),
797
                .dout(          m6_data_i       ),
798
                .cyc(           m6_cyc_i        ),
799
                .stb(           m6_stb_i        ),
800
                .sel(           m6_sel_i        ),
801
                .we(            m6_we_i         ),
802
                .ack(           m6_ack_o        ),
803
                .err(           m6_err_o        ),
804
                .rty(           m6_rty_o        )
805
                );
806
 
807
wb_mast m7(     .clk(           clk             ),
808
                .rst(           ~rst            ),
809
                .adr(           m7_addr_i       ),
810
                .din(           m7_data_o       ),
811
                .dout(          m7_data_i       ),
812
                .cyc(           m7_cyc_i        ),
813
                .stb(           m7_stb_i        ),
814
                .sel(           m7_sel_i        ),
815
                .we(            m7_we_i         ),
816
                .ack(           m7_ack_o        ),
817
                .err(           m7_err_o        ),
818
                .rty(           m7_rty_o        )
819
                );
820
 
821
 
822
/////////////////////////////////////////////////////////////////////
823
//
824
// WISHBONE Slave Models
825
//
826
 
827
wb_slv  s0(     .clk(           clk             ),
828
                .rst(           ~rst            ),
829
                .adr(           s0_addr_o       ),
830
                .din(           s0_data_o       ),
831
                .dout(          s0_data_i       ),
832
                .cyc(           s0_cyc_o        ),
833
                .stb(           s0_stb_o        ),
834
                .sel(           s0_sel_o        ),
835
                .we(            s0_we_o         ),
836
                .ack(           s0_ack_i        ),
837
                .err(           s0_err_i        ),
838
                .rty(           s0_rty_i        )
839
                );
840
 
841
wb_slv  s1(     .clk(           clk             ),
842
                .rst(           ~rst            ),
843
                .adr(           s1_addr_o       ),
844
                .din(           s1_data_o       ),
845
                .dout(          s1_data_i       ),
846
                .cyc(           s1_cyc_o        ),
847
                .stb(           s1_stb_o        ),
848
                .sel(           s1_sel_o        ),
849
                .we(            s1_we_o         ),
850
                .ack(           s1_ack_i        ),
851
                .err(           s1_err_i        ),
852
                .rty(           s1_rty_i        )
853
                );
854
 
855
wb_slv  s2(     .clk(           clk             ),
856
                .rst(           ~rst            ),
857
                .adr(           s2_addr_o       ),
858
                .din(           s2_data_o       ),
859
                .dout(          s2_data_i       ),
860
                .cyc(           s2_cyc_o        ),
861
                .stb(           s2_stb_o        ),
862
                .sel(           s2_sel_o        ),
863
                .we(            s2_we_o         ),
864
                .ack(           s2_ack_i        ),
865
                .err(           s2_err_i        ),
866
                .rty(           s2_rty_i        )
867
                );
868
 
869
wb_slv  s3(     .clk(           clk             ),
870
                .rst(           ~rst            ),
871
                .adr(           s3_addr_o       ),
872
                .din(           s3_data_o       ),
873
                .dout(          s3_data_i       ),
874
                .cyc(           s3_cyc_o        ),
875
                .stb(           s3_stb_o        ),
876
                .sel(           s3_sel_o        ),
877
                .we(            s3_we_o         ),
878
                .ack(           s3_ack_i        ),
879
                .err(           s3_err_i        ),
880
                .rty(           s3_rty_i        )
881
                );
882
 
883
wb_slv  s4(     .clk(           clk             ),
884
                .rst(           ~rst            ),
885
                .adr(           s4_addr_o       ),
886
                .din(           s4_data_o       ),
887
                .dout(          s4_data_i       ),
888
                .cyc(           s4_cyc_o        ),
889
                .stb(           s4_stb_o        ),
890
                .sel(           s4_sel_o        ),
891
                .we(            s4_we_o         ),
892
                .ack(           s4_ack_i        ),
893
                .err(           s4_err_i        ),
894
                .rty(           s4_rty_i        )
895
                );
896
 
897
wb_slv  s5(     .clk(           clk             ),
898
                .rst(           ~rst            ),
899
                .adr(           s5_addr_o       ),
900
                .din(           s5_data_o       ),
901
                .dout(          s5_data_i       ),
902
                .cyc(           s5_cyc_o        ),
903
                .stb(           s5_stb_o        ),
904
                .sel(           s5_sel_o        ),
905
                .we(            s5_we_o         ),
906
                .ack(           s5_ack_i        ),
907
                .err(           s5_err_i        ),
908
                .rty(           s5_rty_i        )
909
                );
910
 
911
wb_slv  s6(     .clk(           clk             ),
912
                .rst(           ~rst            ),
913
                .adr(           s6_addr_o       ),
914
                .din(           s6_data_o       ),
915
                .dout(          s6_data_i       ),
916
                .cyc(           s6_cyc_o        ),
917
                .stb(           s6_stb_o        ),
918
                .sel(           s6_sel_o        ),
919
                .we(            s6_we_o         ),
920
                .ack(           s6_ack_i        ),
921
                .err(           s6_err_i        ),
922
                .rty(           s6_rty_i        )
923
                );
924
 
925
wb_slv  s7(     .clk(           clk             ),
926
                .rst(           ~rst            ),
927
                .adr(           s7_addr_o       ),
928
                .din(           s7_data_o       ),
929
                .dout(          s7_data_i       ),
930
                .cyc(           s7_cyc_o        ),
931
                .stb(           s7_stb_o        ),
932
                .sel(           s7_sel_o        ),
933
                .we(            s7_we_o         ),
934
                .ack(           s7_ack_i        ),
935
                .err(           s7_err_i        ),
936
                .rty(           s7_rty_i        )
937
                );
938
 
939
wb_slv  s8(     .clk(           clk             ),
940
                .rst(           ~rst            ),
941
                .adr(           s8_addr_o       ),
942
                .din(           s8_data_o       ),
943
                .dout(          s8_data_i       ),
944
                .cyc(           s8_cyc_o        ),
945
                .stb(           s8_stb_o        ),
946
                .sel(           s8_sel_o        ),
947
                .we(            s8_we_o         ),
948
                .ack(           s8_ack_i        ),
949
                .err(           s8_err_i        ),
950
                .rty(           s8_rty_i        )
951
                );
952
 
953
wb_slv  s9(     .clk(           clk             ),
954
                .rst(           ~rst            ),
955
                .adr(           s9_addr_o       ),
956
                .din(           s9_data_o       ),
957
                .dout(          s9_data_i       ),
958
                .cyc(           s9_cyc_o        ),
959
                .stb(           s9_stb_o        ),
960
                .sel(           s9_sel_o        ),
961
                .we(            s9_we_o         ),
962
                .ack(           s9_ack_i        ),
963
                .err(           s9_err_i        ),
964
                .rty(           s9_rty_i        )
965
                );
966
 
967
wb_slv  s10(    .clk(           clk             ),
968
                .rst(           ~rst            ),
969
                .adr(           s10_addr_o      ),
970
                .din(           s10_data_o      ),
971
                .dout(          s10_data_i      ),
972
                .cyc(           s10_cyc_o       ),
973
                .stb(           s10_stb_o       ),
974
                .sel(           s10_sel_o       ),
975
                .we(            s10_we_o        ),
976
                .ack(           s10_ack_i       ),
977
                .err(           s10_err_i       ),
978
                .rty(           s10_rty_i       )
979
                );
980
 
981
wb_slv  s11(    .clk(           clk             ),
982
                .rst(           ~rst            ),
983
                .adr(           s11_addr_o      ),
984
                .din(           s11_data_o      ),
985
                .dout(          s11_data_i      ),
986
                .cyc(           s11_cyc_o       ),
987
                .stb(           s11_stb_o       ),
988
                .sel(           s11_sel_o       ),
989
                .we(            s11_we_o        ),
990
                .ack(           s11_ack_i       ),
991
                .err(           s11_err_i       ),
992
                .rty(           s11_rty_i       )
993
                );
994
 
995
wb_slv  s12(    .clk(           clk             ),
996
                .rst(           ~rst            ),
997
                .adr(           s12_addr_o      ),
998
                .din(           s12_data_o      ),
999
                .dout(          s12_data_i      ),
1000
                .cyc(           s12_cyc_o       ),
1001
                .stb(           s12_stb_o       ),
1002
                .sel(           s12_sel_o       ),
1003
                .we(            s12_we_o        ),
1004
                .ack(           s12_ack_i       ),
1005
                .err(           s12_err_i       ),
1006
                .rty(           s12_rty_i       )
1007
                );
1008
 
1009
wb_slv  s13(    .clk(           clk             ),
1010
                .rst(           ~rst            ),
1011
                .adr(           s13_addr_o      ),
1012
                .din(           s13_data_o      ),
1013
                .dout(          s13_data_i      ),
1014
                .cyc(           s13_cyc_o       ),
1015
                .stb(           s13_stb_o       ),
1016
                .sel(           s13_sel_o       ),
1017
                .we(            s13_we_o        ),
1018
                .ack(           s13_ack_i       ),
1019
                .err(           s13_err_i       ),
1020
                .rty(           s13_rty_i       )
1021
                );
1022
 
1023
wb_slv  s14(    .clk(           clk             ),
1024
                .rst(           ~rst            ),
1025
                .adr(           s14_addr_o      ),
1026
                .din(           s14_data_o      ),
1027
                .dout(          s14_data_i      ),
1028
                .cyc(           s14_cyc_o       ),
1029
                .stb(           s14_stb_o       ),
1030
                .sel(           s14_sel_o       ),
1031
                .we(            s14_we_o        ),
1032
                .ack(           s14_ack_i       ),
1033
                .err(           s14_err_i       ),
1034
                .rty(           s14_rty_i       )
1035
                );
1036
 
1037
wb_slv  s15(    .clk(           clk             ),
1038
                .rst(           ~rst            ),
1039
                .adr(           s15_addr_o      ),
1040
                .din(           s15_data_o      ),
1041
                .dout(          s15_data_i      ),
1042
                .cyc(           s15_cyc_o       ),
1043
                .stb(           s15_stb_o       ),
1044
                .sel(           s15_sel_o       ),
1045
                .we(            s15_we_o        ),
1046
                .ack(           s15_ack_i       ),
1047
                .err(           s15_err_i       ),
1048
                .rty(           s15_rty_i       )
1049
                );
1050
 
1051
`include "tests.v"
1052
 
1053
endmodule
1054
 

powered by: WebSVN 2.1.0

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