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

Subversion Repositories sdcard_mass_storage_controller

[/] [sdcard_mass_storage_controller/] [trunk/] [rtl/] [sdc_dma/] [verilog/] [sd_rx_fifo_tb.v] - Blame information for rev 134

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 134 tac2
// module name
2
`define MODULE_NAME sd_rx_fifo
3
 
4
 
5
module sd_rx_fifo_tb ( );
6
 
7
 
8
   reg [4-1:0] d;
9
   reg wr;
10
   reg wclk;
11
   wire [32-1:0] q;
12
   reg rd;
13
   wire fe;
14
   reg rclk;
15
   reg rst;
16
   wire  empty;
17
   reg [31:0] slask;
18
   wire [1:0] mem_empt;
19
  sd_rx_fifo sd_rx_fifo_1(
20
   .d (d),
21
   .wr (wr),
22
   .wclk (wclk),
23
   .q (q),
24
   .rd (rd),
25
   .full (fe),
26
   .empty (empty),
27
   .mem_empt (mem_empt),
28
   .rclk (rclk),
29
   .rst (rst)
30
   );
31
 
32
 
33
event reset_trigger;
34
event  reset_done_trigger;
35
event start_trigger;
36
event start_done_trigger;
37
 
38
reg [3:0] send [16:0];
39
reg [3:0] send_c;
40
reg start;
41
reg sw;
42
initial
43
   begin
44
     wclk=0;
45
     rst=0;
46
     rclk=0;
47
     d =0;
48
     rst=0;
49
     wr=0;
50
     #5 ->reset_trigger;
51
     send [0] = 4'ha;
52
     send [1] = 4'hb;
53
     send [2] = 4'hc;
54
     send [3] = 4'hd;
55
     send [4] = 4'he;
56
     send [5] = 4'hf;
57
     send [6] = 4'hd;
58
     send [7] = 4'hc;
59
     send [8] = 4'hf;
60
     send [9] = 4'he;
61
     send [10] = 4'hd;
62
     send [11] = 4'hc;
63
     send [12] = 4'hb;
64
     send [13] = 4'ha;
65
     send [14] = 4'ha;
66
     send [15] = 4'hb;
67
     send_c =0;
68
     sw=0;
69
     start=0;
70
end
71
 
72
 
73
always begin
74
  #5 rclk = !rclk;
75
 end
76
 
77
always begin
78
  #10 wclk = !wclk;
79
 end
80
 
81
 
82
 
83
 initial begin
84
    forever begin
85
      @ (reset_trigger);
86
      @ (posedge wclk);
87
      rst =1 ;
88
      @ (posedge wclk);
89
      rst = 0;
90
      #20
91
      start=1;
92
      -> reset_done_trigger;
93
    end
94
  end
95
 
96
always @ (posedge rclk)
97
if (!empty) begin
98
 
99
     rd=1;
100
    slask =q;
101
 
102
end
103
else
104
  rd=0;
105
 
106
always @ (posedge wclk)
107
begin
108
if(start)
109
   sw=~sw;
110
   if (sw) begin
111
   d=send[send_c];
112
   wr=1;
113
   send_c=send_c+1;  end
114
   else begin
115
     wr=0;
116
   end
117
 
118
 
119
 //  if (!rd) begin
120
  //    @ (posedge rclk);
121
//       slask =q; 
122
//   rd=1;
123
//  @ (posedge rclk);
124
//   rd=0;
125
//  end
126
end
127
endmodule
128
 

powered by: WebSVN 2.1.0

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