// Model of FIFO in Altera module fifo( data, wrreq, rdreq, rdclk, wrclk, aclr, q, rdfull, rdempty, rdusedw, wrfull, wrempty, wrusedw); parameter width = 16; parameter depth = 1024; parameter addr_bits = 10; //`define rd_req 0; // Set this to 0 for rd_ack, 1 for rd_req input [width-1:0] data; input wrreq; input rdreq; input rdclk; input wrclk; input aclr; output [width-1:0] q; output rdfull; output rdempty; output reg [addr_bits-1:0] rdusedw; output wrfull; output wrempty; output reg [addr_bits-1:0] wrusedw; reg [width-1:0] mem [0:depth-1]; reg [addr_bits-1:0] rdptr; reg [addr_bits-1:0] wrptr; `ifdef rd_req reg [width-1:0] q; `else wire [width-1:0] q; `endif integer i; always @( aclr) begin wrptr <= #1 0; rdptr <= #1 0; for(i=0;i