This project implements a parameterized synchronous FIFO (First-In First-Out) memory in Verilog, along with a comprehensive testbench covering all edge cases.
- Parameterizable
DEPTHandWIDTH - Synchronous read and write with single clock
- Flags for
full,empty - Handles wrap-around logic correctly
- Detects and handles overflow & underflow conditions
- Includes reset functionality
fifo.vβ RTL design of the FIFOfifotb.vβ Testbench with tasks for: -The testbench is modularized with tasks, including:
tc_write() β Write test
tc_read() β Read data and check order
tc_full() β Test full condition
tc_empty() β Test empty condition
tc_wraparound() β Check pointer wrap-around behavior
tc_simultaneous_read_write() β Simultaneous read/write with backpressure
tc_overflow() β Write check when FIFO is full
tc_underflow() β Read check when FIFO is empty
tc_reset() β Reset FIFO during operation