FIFO to Design Empty

Post a reply

Confirmation code
Enter the code exactly as it appears. All letters are case insensitive.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:
BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON
Topic review
   

Expand view Topic review: FIFO to Design Empty

Re: FIFO to Design Empty

Post by support »

Hello,

The most likely explanation is that you're not pushing data fast enough from the host. You may want to check the process' CPU consumption (with "top" in Linux).

This happens when the data buffer that is allocated and used in the user program is too small, so write() is called too often. Each write() is a system call with its processing overhead, and this wastes CPU as the data rate increases.

The sample programs given by Xillybus use a small buffer in order to skip the malloc() part, but for a serious application, they should be something like 128kB - 512kB.

Regards,
Eli

FIFO to Design Empty

Post by Guest »

I have used the Xillybus with a 32-to-16 FIFO to stream data from the PC to my design. By placing an ILA at the output of the FIFO and capturing the data and empty signal, I am finding that the FIFO is empty about half the time. I am only running my design at 10MHz which seem like it should almost never go empty given the speed of the PCIe? Any suggestions?

Gabriel

Top