someone used FIFO along with the OPB-bus in FPGA ?

Hi all,

I am exploring the possibility of using a FIFO between the OPB and my custom IP-core. I want to write data from my IP into the FIFO. I see that the FIFO has an output called RFIFO2IP_WrAck. This is an ackonowledge signal that the fifo asserts when it is ready to read data. According to some examples it seems like this signal can go low randomly, that means regardless of the fifo being full or not. To me this means that the data I want to write to the fifo must be buffered before it enters the fifo, resulting in 2 levels fifos. Then it is better to use a self written FIFO that can accept data all the time(unless when the fifo is full, of course).

Is my assumptions wrong ? In real life, maybe this signal never goes low ?

Reply to
ivo
Loading thread data ...

IP-core. I want to write data from my IP into the FIFO. I see that the FIFO has an output called RFIFO2IP_WrAck. This is an ackonowledge signal that the fifo asserts when it is ready to read data. According to some examples it seems like this signal can go low randomly, that means regardless of the fifo being full or not. To me this means that the data I want to write to the fifo must be buffered before it enters the fifo, resulting in 2 levels fifos. Then it is better to use a self written FIFO that can accept data all the time(unless when the fifo is full, of course).

Hi Ivo,

I tried to build a OPB peripheral using EDK's Create/Import peripheral wizard. After inital ease of use I got a cold shower: the OPB master support (the essential function for me) did not work as specified. Then I built my own OPB master peripheral with DCR registers. I incorporated burst transfer support of any size and asyncronous FIFO (which is not supported by the wizard). In this way I have achieved very high transmission rates from my peripheral to DDR RAM - 400MB/s (excluding retries which occur about every 300 cycles). The peripheral works much better (because it is tailored to my needs) than the one created by the wizard.

Lesson: If you want the things to work, do it yourself!

Cheers, Guru

Reply to
Guru

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.