Discussion and technical support related to USRP, UHD, RFNoC
View all threadsHello,
I am currently working with USRP X310 devices equipped with UBX-160 daughterboards for both transmission and reception of data streams. To ensure continuous transmission without encountering memory underflow issues, I would like to know the maximum buffer memory size that the FPGA on the X310 can support for handling transmit data.
Could you please provide guidance or recommendations on this?
Thank you,
Getaneh Berie
A couple of questions: is this for single channel or both channels? what
is your sample rate? which version of UHD? Do you happen to know if the
replay block is inline with your transmit path (used as a large FIFO
buffer)?
Part of the motivation for these questions is that the DRAM on the X310
(1GB total) can be used as a large FIFO (using the replay block). But, the
DRAM memory bandwidth cannot support 2 channel operation at 200 MS/s. So,
if you are trying to run 2 channels at 200 MS/s, the DRAM cannot be used.
Otherwise, it can.
Rob
On Mon, Aug 4, 2025 at 11:10 AM gechb21@gmail.com wrote:
Hello,
I am currently working with USRP X310 devices equipped with UBX-160
daughterboards for both transmission and reception of data streams. To
ensure continuous transmission without encountering memory underflow
issues, I would like to know the maximum buffer memory size that the FPGA
on the X310 can support for handling transmit data.
Could you please provide guidance or recommendations on this?
Thank you,
Getaneh Berie
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
Hi Rob,
Thanks for the detailed explanation. I’m currently using a single channel with a sample rate of 20 MS/s. The UHD version is: Linux; GNU C++ version 13.3.0; Boost_108300; UHD_4.7.0.HEAD-0-ga5ed1872.
Thanks!
If you are using the "multi_usrp" object, it looks like you can use the
Replay block as a FIFO in your transmit path using the tx_streamer arg
"replay_buffered". This would be a very big FIFO. But, at the rate you
mentioned, this really shouldn't be needed. The smaller FIFOs that are
part of the SEPs and DUC RFNoC block should be sufficient. My guess is that
if you are having underflow issues, perhaps something is
configured incorrectly on your host.
I will also mention that if your transmit waveform has fixed length you can
use the Replay block as a playout memory such that you send the Tx samples
from the host to the Replay memory non-realtime and later issue a command
to playout the samples directly from the Replay block at the desired time.
If this is possible in your use case, you will not have any underruns.
Rob
On Mon, Aug 4, 2025 at 1:21 PM gechb21@gmail.com wrote:
Hi Rob,
Thanks for the detailed explanation. I’m currently using a single channel
with a sample rate of 20 MS/s. The UHD version is: Linux; GNU C++ version
13.3.0; Boost_108300; UHD_4.7.0.HEAD-0-ga5ed1872.
Thanks!
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com