Altera_Forum
Honored Contributor
14 years agoDCFIFO Megafunction simulation problem
Hi,
I am attempting to use DCFIFO megafunction in my design, but i can't get it running!! The input data to be written to FIFO is (45 bit parallel) streaming video data clocked at 5MHz (wrclk). Data at output of the FIFO is read at 100MHz clock(rdclk); to be used in rest of the design. I've taken out rdempty control signal only as rdclk>>wrclk and there is no probability of getting FIFO full. At input of FIFO, data is updated on every posedge of wrclk so, i've hardwired wrreq signal to logic 1 (I require FIFO to assume valid data at input on every rising edge of wrclk). rdreq signal depends on rdempty signal i.e. rdreq = ~rdempty; I am not using aclr signal as I've hardwired wrreq to logic 1(As scfifo and dcfifo megafunction user guide says: Do not assert the wrreq signal during the deassertion of the aclr signal. Violating this requirement creates a race condition between the falling edge of the aclr signal and the rising edge of the write clock if the wrreq port is set to high.). Overflow and underflow protections are enabled and I am using FIFO in normal mode... To isolate the problem, i have tried functional simulation (Altera Modelsim) of DCFIFO only. In the test-bench i've hooked input data port to a certain value, wrreq to logic 1, rdreq = ~rdempty. Nothing is coming out of FIFO, simulator shows q(data out) and rdempty ports in high impedance (z) state. What am i doing wrong here and how do i get it running? Also, can DCFIFO effectively bridge this much difference in clock domains i.e. 5MHz:100MHz? regards, Ihtesham