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

Subversion Repositories srdydrdy_lib

[/] [srdydrdy_lib/] [trunk/] [env/] [verilog/] [sync/] [sync_bench.v] - Blame information for rev 25

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 25 ghutchis
module sync_bench;
2
 
3
  parameter width = 16;
4
 
5
  reg a_clk, a_reset;
6
  reg b_clk, b_reset;
7
 
8
  wire [width-1:0]      a_data;
9
 
10
  wire                  a_srdy, a_drdy;
11
  wire                  b_srdy, b_drdy;
12
 
13
  initial
14
    begin
15
`ifdef VCS
16
      $vcdpluson;
17
`else
18
      $dumpfile ("sync.vcd");
19
      $dumpvars;
20
`endif
21
 
22
      a_clk = 0;
23
      b_clk = 0;
24
      a_reset = 1;
25
      b_reset = 1;
26
      #200;
27
      a_reset = 0;
28
      b_reset = 0;
29
      #200;
30
 
31
      seq_gen.send (25);
32
 
33
      seq_gen.srdy_pat = 8'h01;
34
 
35
      seq_gen.send (25);
36
 
37
      seq_gen.srdy_pat = 8'hFF;
38
      seq_chk.drdy_pat = 8'h01;
39
 
40
      seq_gen.send (25);
41
 
42
      seq_gen.srdy_pat = 8'h01;
43
 
44
      seq_gen.send (25);
45
 
46
 
47
      #2000;
48
 
49
      if (seq_chk.last_seq == 100)
50
        $display ("TEST PASSED");
51
      else
52
        $display ("TEST FAILED");
53
 
54
      $finish;
55
    end // initial begin
56
 
57
  initial
58
    begin
59
      #50000; // timeout value
60
 
61
      $display ("TEST FAILED");
62
      $finish;
63
    end
64
 
65
  always a_clk = #5 ~a_clk;
66
  always b_clk = #17 ~b_clk;
67
 
68
  sd_seq_gen #(.width(width)) seq_gen
69
    (
70
     .clk                               (a_clk),
71
     .reset                             (a_reset),
72
     .p_srdy                            (a_srdy),
73
     .p_data                            (a_data),
74
     // Inputs
75
     .p_drdy                            (a_drdy));
76
 
77
  sd_sync sync0
78
    (
79
     // Outputs
80
     .c_drdy                            (a_drdy),
81
     .p_srdy                            (b_srdy),
82
     // Inputs
83
     .c_clk                             (a_clk),
84
     .c_reset                           (a_reset),
85
     .c_srdy                            (a_srdy),
86
     .p_clk                             (b_clk),
87
     .p_reset                           (b_reset),
88
     .p_drdy                            (b_drdy));
89
 
90
  sd_seq_check #(.width(width)) seq_chk
91
    (
92
     // Outputs
93
     .c_drdy                            (b_drdy),
94
     // Inputs
95
     .clk                               (b_clk),
96
     .reset                             (b_reset),
97
     .c_srdy                            (b_srdy),
98
     .c_data                            (a_data));
99
 
100
endmodule // sync_bench
101
// Local Variables:
102
// verilog-library-directories:("." "../../../rtl/verilog/utility" "../common")
103
// End:
104
 
105
 

powered by: WebSVN 2.1.0

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