by support »
Hello,
It seems like you're connecting your logic directly to the Xillybus IP core, instead of putting a FIFO in the middle. This requires that you emulate a FIFO's behavior (the FPGA API documentation explains how to do this), which is possible and legit, but most likely the difficult way to go.
Having a FIFO in the middle keeps the application logic, simple and based upon a well-established API with standard FIFOs. I would definitely suggest considering this path.
As for the delays between the "full" or "empty" being deasserted and data traffic taking place, this is somewhat random, as it depends on the state of Xillybus' internal arbitration machine. This way or another, this delay is in terms of microseconds, and is negligible compared with the delays imposed by the operating system on the host side. And having a FIFO inbetween exempts you from dealing with this issue at all.
Regards,
Eli
Hello,
It seems like you're connecting your logic directly to the Xillybus IP core, instead of putting a FIFO in the middle. This requires that you emulate a FIFO's behavior (the FPGA API documentation explains how to do this), which is possible and legit, but most likely the difficult way to go.
Having a FIFO in the middle keeps the application logic, simple and based upon a well-established API with standard FIFOs. I would definitely suggest considering this path.
As for the delays between the "full" or "empty" being deasserted and data traffic taking place, this is somewhat random, as it depends on the state of Xillybus' internal arbitration machine. This way or another, this delay is in terms of microseconds, and is negligible compared with the delays imposed by the operating system on the host side. And having a FIFO inbetween exempts you from dealing with this issue at all.
Regards,
Eli