On 09/24/2018 02:52 PM, Brian Padalino via USRP-users wrote:
I noticed that the dma_fifo_block_ctrl.hpp file isn't included in the installation of UHD as of current master:

https://github.com/EttusResearch/uhd/blob/6af6ac32c30d2dc0efa6eab61e4a3920649e3e62/host/include/uhd/rfnoc/CMakeLists.txt

It seems like this is just a simple oversight, so I modified it locally. I've been running doing some latency experiments and modifying the size of the DMA FIFO using the resize() method:

https://github.com/EttusResearch/uhd/blob/6af6ac32c30d2dc0efa6eab61e4a3920649e3e62/host/lib/rfnoc/dma_fifo_block_ctrl_impl.cpp#L65

And it seems there's a bit of a restriction on the sizing associated with the FIFO:

https://github.com/EttusResearch/uhd/blob/6af6ac32c30d2dc0efa6eab61e4a3920649e3e62/host/lib/usrp/cores/dma_fifo_core_3000.cpp#L263

I see it currently says that the FIFO needs to be >8k, and it has to be a power of 2. If either of those criteria fails, an exception is thrown.

A few requests:

(1) Can you not throw an exception, but print a warning and resolve the criteria? For example, if I ask for < 8k, up it to 8k and print a warning it's been upped. If I ask for a non-power of 2, can you print a warning and up to to the next supported power of 2? Think of this like a request for a sample rate - if you can't get the exact one, you get what's close and the user can query the actual value?
I'll comment that I've found UHD to be more "throwy" than it needs to be, and comparison to sample-rate is apt. Seems like a good policy
  should be "if it make sense to proceed, do so, and issue a warning".





_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to