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