Jim, Marcus,
I *believe* that "skip_dram=1" will have no effect on the N310 because it
does not use DRAM in the stock image (or even populate the dram-fifo RFNoC
block). The definition of the stock RFNoC graph for the N310 is here
<https://github.com/EttusResearch/uhd/blob/master/fpga/usrp3/top/n3xx/n310_rfnoc_image_core.yml>
.

Most of the "buffering" for the N310 transmit path is in the buff_size of
the streaming end points attached to the DUC (32768 samples) along with a
small amount of buffering at the DUC (defined here
<https://github.com/EttusResearch/uhd/blob/master/host/include/uhd/rfnoc/blocks/duc.yml>)
and at the Radio (perhaps here
<https://github.com/EttusResearch/uhd/blob/master/host/include/uhd/rfnoc/blocks/radio.yml>)
. The easiest way to increase buffering is to increase the buff_size of the
end points ep0 through ep3.  But, it is possible that doing so will cause
the build to fail. I don't know if Ettus max-ed these out or not. But, if
the build fails, another option is to get rid of the Replay block (and
associated end points) and the DDC (if you don't need it) to free up
resources.  Then you might be able to increase the end point buff_sizes.

But, if you want to use the DRAM as a FIFO (which will provide much larger
FIFOs), you should be able to just replace the 4 channel Replay block with
a 4 channel DRAM fifo (defined here
<https://github.com/EttusResearch/uhd/blob/master/host/include/uhd/rfnoc/blocks/axi_ram_fifo.yml>),
making sure to get the RAM address width (and perhaps other parameters)
correct for the N310 (will be same as Replay block uses).  The DRAM is 2GB
so each FIFO "channel" could be configured for 125MSamples.

And, back to one of my previous comments, if you have a lot of host RAM
such that it would be a possibility to stream from a RAM-disk based file, I
believe it would be worth a try.
Rob

On Thu, Apr 13, 2023 at 7:59 PM Marcus D. Leech <patchvonbr...@gmail.com>
wrote:

> On 13/04/2023 18:51, Jim Schatzman wrote:
> > N310 confirmed.
> >
> > Linux native.
> >
> > tx_samples_from_file produces underruns. So does a customized version of
> tx_samples_from_file that uses multiple buffers and threads to guarantee
> constant send pressure.
> >
> > I understand that the N310 should not do this. I agree that the most
> likely culprit is the host computer, coupled with inadequate buffering in
> the N310. Does anyone know how much buffering it provides and what the
> associated timing is?  That is, what is maximum lag between UDP packets
> before the N310 will experience an underrun condition?
> >
> > In the Ubuntu host system log, there are messages during period in
> question from NetworkManager. Nothing indicating a connection problem, but
> consistent with my general believe that NetworkManager is an evil
> abomination whose primary job is to create trouble and frustration, we will
> remove it from the workstation and try again.
> >
> > Thanks!
> > Jim
> >
> >
> This might seem counter-intuitive, but what happens if you use the
> "skip_dram=1" device argument?  Do things get better
>    or worse?
>
> The N310 has 2GiB of DRAM
>
> _______________________________________________
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-le...@lists.ettus.com
>
_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to