📄 cmos_fifo_tb.v
字号:
// cmos_fifo_tb.v `timescale 1ns/100ps module cmos_fifo_tb ( tb_rd ); reg tb_wclk; reg tb_reset; reg tb_rst; reg tb_frame_valid; reg tb_line_valid; reg [7:0] tb_cmosdata; reg [1:0] tb_fifoaddr; reg tb_full; reg tb_empty ;
inout[15:0] tb_rd; cmos_fifo_usb u1( // .clk ( ), //fpga clk input; .wclk ( tb_wclk ), //fifo write clk; .reset ( tb_reset ), //fpga reset; .rst ( tb_rst ), //cmos_fifo reset; .frame_valid ( tb_frame_valid), .line_valid ( tb_line_valid ), .cmos_data ( tb_cmosdata ), .rd ( tb_rd ), //fifo read data; .fifoaddr ( ), //usb fifo addr; .full ( tb_full ), //68013 fifo flag,active is high; .empty ( tb_enpty ) //68013a fifo flag,active is low; ); always begin #5 tb_wclk = 1'b1; #5 tb_wclk = 1'b0; end always @( posedge tb_wclk or negedge tb_reset ) begin if( tb_reset == 1'b0 || tb_rst == 1'b0) tb_cmosdata <= 8'h00; else tb_cmosdata <= tb_cmosdata + 1'b1; end initial begin tb_wclk = 1'b1; tb_reset = 1'b0; tb_rst = 1'b0; tb_full = 1'b0; tb_empty = 1'b0; tb_frame_valid = 1'b0; tb_line_valid = 1'b0; #20 tb_reset = 1'b1; tb_rst = 1'b1; #20 tb_frame_valid = 1'b1; #300 tb_line_valid = 1'b1;
#7000
tb_full = 1'b1;
#100
tb_full = 1'b0;
#5800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0; #100 tb_line_valid = 1'b1; #12800 tb_line_valid = 1'b0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -