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

Subversion Repositories wdsp

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

powered by: WebSVN 2.1.0

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