diff options
Diffstat (limited to 'fifo_tb.v')
| -rw-r--r-- | fifo_tb.v | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/fifo_tb.v b/fifo_tb.v new file mode 100644 index 0000000..4b1423c --- /dev/null +++ b/fifo_tb.v @@ -0,0 +1,73 @@ +`timescale 1us/1us + +module fifo_tb ( +); + +reg clk_i; +reg rst_i; + +reg read_i, write_i; +reg [7:0] data_i; + +fifo #( + .DATA_WIDTH(8), + .DATA_DEPTH(8) +) uut ( + .clk_i(clk_i), + .rst_i(rst_i), + .write_i(write_i), + .read_i(read_i), + .data_i(data_i), + + .empty_o(), + .full_o(), + .data_o() +); + +string filename; +initial begin +`ifdef DUMP_FILE_NAME + filename=`DUMP_FILE_NAME; +`else + filename="fifo.lxt2"; +`endif + $dumpfile(filename); $dumpvars(); + clk_i = 0; + rst_i = 1'b1; + read_i = 0; + write_i = 0; + data_i = 0; +end + +always #10 clk_i = ~clk_i; + +initial begin + #15 + + for (integer run = 1; run < 3; run++) begin + + write_i = 1; + for (integer addr = 0; addr < 10; addr++) begin + + data_i = (run << 4) | addr; + #20 + ; + end + + write_i = 0; + read_i = 1; + + for (integer addr = 0; addr < 10; addr++) begin + #20 + ; + end + + read_i = 0; + #20 + ; + end + #100 + $finish(); +end + +endmodule |
