usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

Subject: Inquiry Regarding Maximum FPGA Buffer Capacity for Transmission on USRP X310  

G
gechb21@gmail.com
Mon, Aug 4, 2025 3:10 PM
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

``` 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
RK
Rob Kossler
Mon, Aug 4, 2025 5:11 PM

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

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 >
G
gechb21@gmail.com
Mon, Aug 4, 2025 5:20 PM

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!

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!
RK
Rob Kossler
Tue, Aug 5, 2025 2:35 PM

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

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 >