Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
21615 Discussions

rdreq didnt read all the data in dcFIFO (functional simulation)

Altera_Forum
Honored Contributor II
1,864 Views

hi,  

 

i have question regarding to rdreq in DCFIFO. i'm writing 4 16-bits data into dcFIFO at 100Mhz speed. and read at 200Mhz speed. the problem now is, rdreq didnt read all 4 data in FIFO. only 3 available(data2,data3 and data4 only). data 1 is missing. i run for functional simulation only.  

 

could someone help me on this? i'm stuck almost 1 day already. 

 

DCFIFO setting and simulation output attached.  

 

Thanks 

 

-Farhan
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
950 Views

can someone help me? :(

0 Kudos
Altera_Forum
Honored Contributor II
950 Views

Note that at beginning wrfull pin is high, so, first write attempt is ignored.

0 Kudos
Altera_Forum
Honored Contributor II
950 Views

wrfull looks high on that first write. There is circuitry on by default that disables extra writes/reads when full or empty, as that can completely corrupt the fifo.

0 Kudos
Altera_Forum
Honored Contributor II
950 Views

ok.noted.  

 

now, i have another issue when combining my sub blocks (datapath + CU).  

 

when i simulated the datapath block separately, data is read out nicely in 4 clock cycles at every rising edge during rdreq is HIGH. but, now, when i tested in combined block with CU, it's failed. FYI, rdreq(read_fifo) is not controlled by CU. i control it manually. this CU is responsible for write operation(which is successful simulated). rdreq depends on "Routerclk" and writereq(write_fifo) depends on "clk".  

 

i attached the simulation for combined design + FBD + successful simulation for Non combined design.  

 

As u can see in the encapunitsimulation picture, the data is written to FIFO(during write_fifo is HIGH). FOUR 16-bit data is written to FIFO(i put the number in pink color). but, when rdreq is HIGH(read_fifo is HIGH), it's missed the last data, which is 0000000000000000. encapunitsimulation2 shows weird counting of the data in fifo.  

 

i want the data to be read out as in simulationnoncombined picture.  

 

(functional test simulation). 

 

Please help.  

 

Thanks Guru..
0 Kudos
Altera_Forum
Honored Contributor II
950 Views

can someone help me on this? 

 

Thanks a lot!
0 Kudos
Reply