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

Subversion Repositories spacewire

[/] [spacewire/] [tags/] [arelease/] [tb/] [tb_Receiver.tf] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 btltz
// F:\XILINX\MY-PROJECTS\SPACEWIRE_1355
2
// Verilog Test fixture created by
3
// HDL Bencher 6.1i
4
// Thu Mar 31 21:28:36 2005
5
//
6
// Notes:
7
// 1) This test fixture has been automatically generated from
8
//   your Test Bench Waveform
9
// 2) To use this as a user modifiable test fixture do the following:
10
//   - Save it as a file with a .tf extension (i.e. File->Save As...)
11
//   - Add it to your project as a testbench source (i.e. Project->Add Source...)
12
//
13
 
14
`timescale 1ns/1ns
15
 
16
module tb_Receiver;
17
        wire gotBIT_o;
18
        wire gotFCT_o;
19
        wire gotNchar_o;
20
        wire gotTIME_o;
21
        wire gotNULL_o;
22
        wire err_par;
23
        wire err_esc;
24
        wire err_dsc;
25
        wire RxErr_o;
26
        reg Si;
27
        reg Di;
28
        reg EnRx_i;
29
        reg C_Send_FCT_i;
30
        wire wrtbuf_o;
31
        wire type_o;
32
        wire [7:0] RxData_o;
33
        reg full_i;
34
//      reg [7:0] Vec_Rxfifo;
35
        wire Lnk_dsc_o;
36
        //wire RxClk_o;
37
        wire rx_drvclk_o;
38
        wire TICK_OUT;
39
        wire [1:0] CtrlFlg_o;
40
        wire [5:0] TIMEout;
41
        wire DLL_LOCKED;
42
        reg [5:0] state_i;
43
        reg reset;
44
        reg clk10;
45
        reg GSR;        //Global signal, this was added automatically
46
 
47
        assign glbl.GSR = GSR;
48
        /*
49
        defparam UUT.StateNum = 3;
50
        defparam UUT.RESET = 1;
51
        defparam UUT.HUNTING = 2;
52
        defparam UUT.CHECK_CHAR = 4;
53
        defparam UUT.DEFLT = 0;
54
        defparam UUT.CrdCntW = 6;
55
        defparam UUT.RCVW = 14;
56
        defparam UUT.True = 1;
57
        defparam UUT.False = 0;
58
        defparam UUT.FCT = 1;
59
        defparam UUT.ESC = 7;
60
        defparam UUT.EOP = 5;
61
        defparam UUT.EEP = 3;
62
        defparam UUT.NULL = 23;
63
        defparam UUT.isESC_EEP = 55;
64
        defparam UUT.isESC_EOP = 87;
65
        defparam UUT.isESC_ESC = 119;
66
        defparam UUT.TIME_PATTERN = 15;         */
67
 
68
        Receiver inst_Rx (
69
                .gotBIT_o(gotBIT_o),
70
                .gotFCT_o(gotFCT_o),
71
                .gotNchar_o(gotNchar_o),
72
                .gotTIME_o(gotTIME_o),
73
                .gotNULL_o(gotNULL_o),
74
                .err_par(err_par),
75
                .err_esc(err_esc),
76
                .err_dsc(err_dsc),
77
                .RxErr_o(RxErr_o),
78
                .Si(Si),
79
                .Di(Di),
80
                .EnRx_i(EnRx_i),
81
                .C_Send_FCT_i(C_Send_FCT_i),
82
                .wrtbuf_o(wrtbuf_o),
83
                .type_o(type_o),
84
                .RxData_o(RxData_o),
85
                .full_i(full_i),
86
        //      .Vec_Rxfifo(Vec_Rxfifo),
87
                .Lnk_dsc_o(Lnk_dsc_o),
88
                //.RxClk_o(RxClk_o),
89
                .rx_drvclk_o(rx_drvclk_o),
90
                .TICK_OUT(TICK_OUT),
91
                .CtrlFlg_o(CtrlFlg_o),
92
                .TIMEout(TIMEout),
93
                .DLL_LOCKED(DLL_LOCKED),
94
                .state_i(state_i),
95
                .reset(reset),
96
                .clk10(clk10)
97
        );
98
 
99
        integer TX_FILE;
100
        integer TX_ERROR;
101
 
102
always
103
begin                   //clock process
104
        clk10 = 1'b0;
105
        #10
106
        clk10 = 1'b1;
107
        #10
108
        #40
109
        clk10 = 1'b0;
110
        #40
111
        clk10 = 1'b0;
112
end
113
 
114
initial
115
begin
116
        GSR = 1;
117
        #100 GSR = 0;
118
end
119
 
120
initial
121
begin
122
        TX_ERROR=0;
123
        TX_FILE=$fopen("results.txt");
124
 
125
        // --------------------
126
        Si = 1'b0;
127
        Di = 1'b0;
128
        EnRx_i = 1'b1;
129
        C_Send_FCT_i = 1'b0;
130
        full_i = 1'b0;
131
        Vec_Rxfifo = 8'b00000000; //0
132
        state_i = 6'b000001; //1
133
        reset = 1'b1;
134
        // --------------------
135
        #300 // Time=300 ns
136
        reset = 1'b0;
137
        // --------------------
138
        #1700 // Time=2000 ns
139
        state_i = 6'b000010; //2
140
        // --------------------
141
        #400 // Time=2400 ns
142
        Si = 1'b1;
143
        // --------------------
144
        #200 // Time=2600 ns
145
        Si = 1'b1;
146
        Di = 1'b1;
147
        // --------------------
148
        #200 // Time=2800 ns
149
        Si = 1'b0;
150
        Di = 1'b0;
151
        // --------------------
152
        #200 // Time=3000 ns
153
        Si = 1'b1;
154
        // --------------------
155
        #200 // Time=3200 ns
156
        Si = 1'b1;
157
        Di = 1'b1;
158
        // --------------------
159
        #200 // Time=3400 ns
160
        Si = 1'b0;
161
        // --------------------
162
        #200 // Time=3600 ns
163
        Di = 1'b0;
164
        // --------------------
165
        #200 // Time=3800 ns
166
        Si = 1'b1;
167
        // --------------------
168
        #200 // Time=4000 ns
169
        state_i = 6'b000100; //4
170
        // --------------------
171
        #800 // Time=4800 ns
172
        EnRx_i = 1'b0;
173
        // --------------------
174
        #500 // Time=5300 ns
175
        EnRx_i = 1'b1;
176
        // --------------------
177
        #300 // Time=5600 ns
178
        Si = 1'b0;
179
        // --------------------
180
        #400 // Time=6000 ns
181
        state_i = 6'b001000; //8
182
        // --------------------
183
        #200 // Time=6200 ns
184
        Si = 1'b1;
185
        // --------------------
186
        #200 // Time=6400 ns
187
        Di = 1'b1;
188
        // --------------------
189
        #200 // Time=6600 ns
190
        Si = 1'b0;
191
        // --------------------
192
        #100 // Time=6700 ns
193
        Si = 1'b0;
194
        // --------------------
195
        #100 // Time=6800 ns
196
        Si = 1'b1;
197
        // --------------------
198
        #200 // Time=7000 ns
199
        Di = 1'b0;
200
        // --------------------
201
        #200 // Time=7200 ns
202
        Di = 1'b1;
203
        // --------------------
204
        #200 // Time=7400 ns
205
        Di = 1'b0;
206
        // --------------------
207
        #200 // Time=7600 ns
208
        Si = 1'b0;
209
        // --------------------
210
        #200 // Time=7800 ns
211
        Si = 1'b1;
212
        // --------------------
213
        #200 // Time=8000 ns
214
        Si = 1'b0;
215
        state_i = 6'b010000; //10
216
        // --------------------
217
        #200 // Time=8200 ns
218
        Di = 1'b1;
219
        // --------------------
220
        #200 // Time=8400 ns
221
        Di = 1'b0;
222
        // --------------------
223
        #200 // Time=8600 ns
224
        Si = 1'b1;
225
        // --------------------
226
        #200 // Time=8800 ns
227
        Si = 1'b0;
228
        // --------------------
229
        #200 // Time=9000 ns
230
        Di = 1'b1;
231
        // --------------------
232
        #100 // Time=9100 ns
233
        state_i = 6'b010000; //10
234
        // --------------------
235
        #100 // Time=9200 ns
236
        Si = 1'b1;
237
        // --------------------
238
        #200 // Time=9400 ns
239
        Di = 1'b0;
240
        // --------------------
241
        #200 // Time=9600 ns
242
        Si = 1'b0;
243
        // --------------------
244
        #200 // Time=9800 ns
245
        Si = 1'b1;
246
        // --------------------
247
        #200 // Time=10000 ns
248
        Di = 1'b1;
249
        state_i = 6'b100000; //20
250
        // --------------------
251
        #200 // Time=10200 ns
252
        Di = 1'b0;
253
        // --------------------
254
        #200 // Time=10400 ns
255
        Si = 1'b0;
256
        // --------------------
257
        #200 // Time=10600 ns
258
        Di = 1'b1;
259
        // --------------------
260
        #200 // Time=10800 ns
261
        Si = 1'b1;
262
        // --------------------
263
        #200 // Time=11000 ns
264
        Di = 1'b0;
265
        // --------------------
266
        #200 // Time=11200 ns
267
        Si = 1'b0;
268
        // --------------------
269
        #200 // Time=11400 ns
270
        Si = 1'b1;
271
        // --------------------
272
        #200 // Time=11600 ns
273
        Si = 1'b0;
274
        // --------------------
275
        #200 // Time=11800 ns
276
        Di = 1'b1;
277
        // --------------------
278
        #200 // Time=12000 ns
279
        Si = 1'b1;
280
        state_i = 6'b100000; //20
281
        // --------------------
282
        #200 // Time=12200 ns
283
        Si = 1'b0;
284
        // --------------------
285
        #200 // Time=12400 ns
286
        Si = 1'b1;
287
        // --------------------
288
        #100 // Time=12500 ns
289
        Di = 1'b1;
290
        // --------------------
291
        #100 // Time=12600 ns
292
        Di = 1'b0;
293
        // --------------------
294
        #200 // Time=12800 ns
295
        Di = 1'b1;
296
        // --------------------
297
        #200 // Time=13000 ns
298
        Si = 1'b0;
299
        Di = 1'b0;
300
        // --------------------
301
        #100 // Time=13100 ns
302
        Si = 1'b0;
303
        // --------------------
304
        #900 // Time=14000 ns
305
        state_i = 6'b100000; //20
306
        // --------------------
307
        #2000 // Time=16000 ns
308
        state_i = 6'b000001; //1
309
        // --------------------
310
        #2000 // Time=18000 ns
311
        state_i = 6'b000010; //2
312
        // --------------------
313
        #2000 // Time=20000 ns
314
        state_i = 6'b000100; //4
315
        // --------------------
316
        #2000 // Time=22000 ns
317
        state_i = 6'b001000; //8
318
        // --------------------
319
        #2000 // Time=24000 ns
320
        state_i = 6'b010000; //10
321
        // --------------------
322
        #2000 // Time=26000 ns
323
        state_i = 6'b100000; //20
324
        // --------------------
325
        #2000 // Time=28000 ns
326
        state_i = 6'b100000; //20
327
        // --------------------
328
        #110 // Time=28110 ns
329
        // --------------------
330
 
331
        if (TX_ERROR == 0) begin
332
                $display("No errors or warnings");
333
                $fdisplay(TX_FILE,"No errors or warnings");
334
        end else begin
335
                $display("%d errors found in simulation",TX_ERROR);
336
                $fdisplay(TX_FILE,"%d errors found in simulation",TX_ERROR);
337
        end
338
 
339
        $fclose(TX_FILE);
340
        $stop;
341
 
342
end
343
 
344
task CHECK_gotBIT_o;
345
        input NEXT_gotBIT_o;
346
 
347
        #0 begin
348
                if (NEXT_gotBIT_o !== gotBIT_o) begin
349
                        $display("Error at time=%dns gotBIT_o=%b, expected=%b",
350
                                $time, gotBIT_o, NEXT_gotBIT_o);
351
                        $fdisplay(TX_FILE,"Error at time=%dns gotBIT_o=%b, expected=%b",
352
                                $time, gotBIT_o, NEXT_gotBIT_o);
353
                        TX_ERROR = TX_ERROR + 1;
354
                end
355
        end
356
endtask
357
 
358
task CHECK_gotFCT_o;
359
        input NEXT_gotFCT_o;
360
 
361
        #0 begin
362
                if (NEXT_gotFCT_o !== gotFCT_o) begin
363
                        $display("Error at time=%dns gotFCT_o=%b, expected=%b",
364
                                $time, gotFCT_o, NEXT_gotFCT_o);
365
                        $fdisplay(TX_FILE,"Error at time=%dns gotFCT_o=%b, expected=%b",
366
                                $time, gotFCT_o, NEXT_gotFCT_o);
367
                        TX_ERROR = TX_ERROR + 1;
368
                end
369
        end
370
endtask
371
 
372
task CHECK_gotNchar_o;
373
        input NEXT_gotNchar_o;
374
 
375
        #0 begin
376
                if (NEXT_gotNchar_o !== gotNchar_o) begin
377
                        $display("Error at time=%dns gotNchar_o=%b, expected=%b",
378
                                $time, gotNchar_o, NEXT_gotNchar_o);
379
                        $fdisplay(TX_FILE,"Error at time=%dns gotNchar_o=%b, expected=%b",
380
                                $time, gotNchar_o, NEXT_gotNchar_o);
381
                        TX_ERROR = TX_ERROR + 1;
382
                end
383
        end
384
endtask
385
 
386
task CHECK_gotTIME_o;
387
        input NEXT_gotTIME_o;
388
 
389
        #0 begin
390
                if (NEXT_gotTIME_o !== gotTIME_o) begin
391
                        $display("Error at time=%dns gotTIME_o=%b, expected=%b",
392
                                $time, gotTIME_o, NEXT_gotTIME_o);
393
                        $fdisplay(TX_FILE,"Error at time=%dns gotTIME_o=%b, expected=%b",
394
                                $time, gotTIME_o, NEXT_gotTIME_o);
395
                        TX_ERROR = TX_ERROR + 1;
396
                end
397
        end
398
endtask
399
 
400
task CHECK_gotNULL_o;
401
        input NEXT_gotNULL_o;
402
 
403
        #0 begin
404
                if (NEXT_gotNULL_o !== gotNULL_o) begin
405
                        $display("Error at time=%dns gotNULL_o=%b, expected=%b",
406
                                $time, gotNULL_o, NEXT_gotNULL_o);
407
                        $fdisplay(TX_FILE,"Error at time=%dns gotNULL_o=%b, expected=%b",
408
                                $time, gotNULL_o, NEXT_gotNULL_o);
409
                        TX_ERROR = TX_ERROR + 1;
410
                end
411
        end
412
endtask
413
 
414
task CHECK_err_par;
415
        input NEXT_err_par;
416
 
417
        #0 begin
418
                if (NEXT_err_par !== err_par) begin
419
                        $display("Error at time=%dns err_par=%b, expected=%b",
420
                                $time, err_par, NEXT_err_par);
421
                        $fdisplay(TX_FILE,"Error at time=%dns err_par=%b, expected=%b",
422
                                $time, err_par, NEXT_err_par);
423
                        TX_ERROR = TX_ERROR + 1;
424
                end
425
        end
426
endtask
427
 
428
task CHECK_err_esc;
429
        input NEXT_err_esc;
430
 
431
        #0 begin
432
                if (NEXT_err_esc !== err_esc) begin
433
                        $display("Error at time=%dns err_esc=%b, expected=%b",
434
                                $time, err_esc, NEXT_err_esc);
435
                        $fdisplay(TX_FILE,"Error at time=%dns err_esc=%b, expected=%b",
436
                                $time, err_esc, NEXT_err_esc);
437
                        TX_ERROR = TX_ERROR + 1;
438
                end
439
        end
440
endtask
441
 
442
task CHECK_err_dsc;
443
        input NEXT_err_dsc;
444
 
445
        #0 begin
446
                if (NEXT_err_dsc !== err_dsc) begin
447
                        $display("Error at time=%dns err_dsc=%b, expected=%b",
448
                                $time, err_dsc, NEXT_err_dsc);
449
                        $fdisplay(TX_FILE,"Error at time=%dns err_dsc=%b, expected=%b",
450
                                $time, err_dsc, NEXT_err_dsc);
451
                        TX_ERROR = TX_ERROR + 1;
452
                end
453
        end
454
endtask
455
 
456
task CHECK_RxErr_o;
457
        input NEXT_RxErr_o;
458
 
459
        #0 begin
460
                if (NEXT_RxErr_o !== RxErr_o) begin
461
                        $display("Error at time=%dns RxErr_o=%b, expected=%b",
462
                                $time, RxErr_o, NEXT_RxErr_o);
463
                        $fdisplay(TX_FILE,"Error at time=%dns RxErr_o=%b, expected=%b",
464
                                $time, RxErr_o, NEXT_RxErr_o);
465
                        TX_ERROR = TX_ERROR + 1;
466
                end
467
        end
468
endtask
469
 
470
task CHECK_wrtbuf_o;
471
        input NEXT_wrtbuf_o;
472
 
473
        #0 begin
474
                if (NEXT_wrtbuf_o !== wrtbuf_o) begin
475
                        $display("Error at time=%dns wrtbuf_o=%b, expected=%b",
476
                                $time, wrtbuf_o, NEXT_wrtbuf_o);
477
                        $fdisplay(TX_FILE,"Error at time=%dns wrtbuf_o=%b, expected=%b",
478
                                $time, wrtbuf_o, NEXT_wrtbuf_o);
479
                        TX_ERROR = TX_ERROR + 1;
480
                end
481
        end
482
endtask
483
 
484
task CHECK_type_o;
485
        input NEXT_type_o;
486
 
487
        #0 begin
488
                if (NEXT_type_o !== type_o) begin
489
                        $display("Error at time=%dns type_o=%b, expected=%b",
490
                                $time, type_o, NEXT_type_o);
491
                        $fdisplay(TX_FILE,"Error at time=%dns type_o=%b, expected=%b",
492
                                $time, type_o, NEXT_type_o);
493
                        TX_ERROR = TX_ERROR + 1;
494
                end
495
        end
496
endtask
497
 
498
task CHECK_RxData_o;
499
        input [7:0] NEXT_RxData_o;
500
 
501
        #0 begin
502
                if (NEXT_RxData_o !== RxData_o) begin
503
                        $display("Error at time=%dns RxData_o=%b, expected=%b",
504
                                $time, RxData_o, NEXT_RxData_o);
505
                        $fdisplay(TX_FILE,"Error at time=%dns RxData_o=%b, expected=%b",
506
                                $time, RxData_o, NEXT_RxData_o);
507
                        TX_ERROR = TX_ERROR + 1;
508
                end
509
        end
510
endtask
511
 
512
task CHECK_Lnk_dsc_o;
513
        input NEXT_Lnk_dsc_o;
514
 
515
        #0 begin
516
                if (NEXT_Lnk_dsc_o !== Lnk_dsc_o) begin
517
                        $display("Error at time=%dns Lnk_dsc_o=%b, expected=%b",
518
                                $time, Lnk_dsc_o, NEXT_Lnk_dsc_o);
519
                        $fdisplay(TX_FILE,"Error at time=%dns Lnk_dsc_o=%b, expected=%b",
520
                                $time, Lnk_dsc_o, NEXT_Lnk_dsc_o);
521
                        TX_ERROR = TX_ERROR + 1;
522
                end
523
        end
524
endtask
525
 
526
task CHECK_RxClk_o;
527
        input NEXT_RxClk_o;
528
 
529
        #0 begin
530
                if (NEXT_RxClk_o !== RxClk_o) begin
531
                        $display("Error at time=%dns RxClk_o=%b, expected=%b",
532
                                $time, RxClk_o, NEXT_RxClk_o);
533
                        $fdisplay(TX_FILE,"Error at time=%dns RxClk_o=%b, expected=%b",
534
                                $time, RxClk_o, NEXT_RxClk_o);
535
                        TX_ERROR = TX_ERROR + 1;
536
                end
537
        end
538
endtask
539
 
540
task CHECK_rx_drvclk_o;
541
        input NEXT_rx_drvclk_o;
542
 
543
        #0 begin
544
                if (NEXT_rx_drvclk_o !== rx_drvclk_o) begin
545
                        $display("Error at time=%dns rx_drvclk_o=%b, expected=%b",
546
                                $time, rx_drvclk_o, NEXT_rx_drvclk_o);
547
                        $fdisplay(TX_FILE,"Error at time=%dns rx_drvclk_o=%b, expected=%b",
548
                                $time, rx_drvclk_o, NEXT_rx_drvclk_o);
549
                        TX_ERROR = TX_ERROR + 1;
550
                end
551
        end
552
endtask
553
 
554
task CHECK_TICK_OUT;
555
        input NEXT_TICK_OUT;
556
 
557
        #0 begin
558
                if (NEXT_TICK_OUT !== TICK_OUT) begin
559
                        $display("Error at time=%dns TICK_OUT=%b, expected=%b",
560
                                $time, TICK_OUT, NEXT_TICK_OUT);
561
                        $fdisplay(TX_FILE,"Error at time=%dns TICK_OUT=%b, expected=%b",
562
                                $time, TICK_OUT, NEXT_TICK_OUT);
563
                        TX_ERROR = TX_ERROR + 1;
564
                end
565
        end
566
endtask
567
 
568
task CHECK_CtrlFlg_o;
569
        input [1:0] NEXT_CtrlFlg_o;
570
 
571
        #0 begin
572
                if (NEXT_CtrlFlg_o !== CtrlFlg_o) begin
573
                        $display("Error at time=%dns CtrlFlg_o=%b, expected=%b",
574
                                $time, CtrlFlg_o, NEXT_CtrlFlg_o);
575
                        $fdisplay(TX_FILE,"Error at time=%dns CtrlFlg_o=%b, expected=%b",
576
                                $time, CtrlFlg_o, NEXT_CtrlFlg_o);
577
                        TX_ERROR = TX_ERROR + 1;
578
                end
579
        end
580
endtask
581
 
582
task CHECK_TIMEout;
583
        input [5:0] NEXT_TIMEout;
584
 
585
        #0 begin
586
                if (NEXT_TIMEout !== TIMEout) begin
587
                        $display("Error at time=%dns TIMEout=%b, expected=%b",
588
                                $time, TIMEout, NEXT_TIMEout);
589
                        $fdisplay(TX_FILE,"Error at time=%dns TIMEout=%b, expected=%b",
590
                                $time, TIMEout, NEXT_TIMEout);
591
                        TX_ERROR = TX_ERROR + 1;
592
                end
593
        end
594
endtask
595
 
596
task CHECK_DLL_LOCKED;
597
        input NEXT_DLL_LOCKED;
598
 
599
        #0 begin
600
                if (NEXT_DLL_LOCKED !== DLL_LOCKED) begin
601
                        $display("Error at time=%dns DLL_LOCKED=%b, expected=%b",
602
                                $time, DLL_LOCKED, NEXT_DLL_LOCKED);
603
                        $fdisplay(TX_FILE,"Error at time=%dns DLL_LOCKED=%b, expected=%b",
604
                                $time, DLL_LOCKED, NEXT_DLL_LOCKED);
605
                        TX_ERROR = TX_ERROR + 1;
606
                end
607
        end
608
endtask
609
 
610
endmodule

powered by: WebSVN 2.1.0

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