From 13d94613fb0577ea21895e8def6a6f5480c1a991 Mon Sep 17 00:00:00 2001 From: uvok Date: Mon, 29 Dec 2025 14:08:02 +0100 Subject: fifo: r/w/address logic --- fifo.tb.v | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) (limited to 'fifo.tb.v') diff --git a/fifo.tb.v b/fifo.tb.v index b948cf1..6556eca 100644 --- a/fifo.tb.v +++ b/fifo.tb.v @@ -6,9 +6,18 @@ module fifo_tb ( reg clk_i; reg rst_i; -fifo uut( +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) + .rst_i(rst_i), + .write_i(write_i), + .read_i(read_i), + .data_i ); string filename; @@ -21,12 +30,38 @@ initial begin $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 + #10 + + for (integer run = 0; run < 2; run++) begin + + write_i = 1; + for (integer addr = 0; addr < 10; addr++) begin + + data_i = addr + run; + #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 -- cgit v1.2.3