Implementation of FIFO data structure in Verilog. It has following input/output ports :
- Inputs:
- clk : input clock
- reset : asynchronous reset signal ; it resets the rear and front pointer in the data structure.
- push , pop : push and pop signals ; in order to write/or read to/from Fifo , a full signal (a posedge followed by a negedge) should be written on these ports.
- inp_data : input data with a range of (0 - 2^10-1)
- Outputs
- empty : is fifo empty? (front == rear)
- full : is fifo full ? ((front - rear ) == 32)
- cur_size : number of elements in the fifo : (front - rear)
- out_data : it should be obvious :D