aboutsummaryrefslogtreecommitdiffstats
path: root/host/docs
diff options
context:
space:
mode:
authormichael-west <michael.west@ettus.com>2022-02-13 18:43:52 -0800
committerAaron Rossetto <aaron.rossetto@ni.com>2022-04-07 06:24:52 -0700
commitb3a9c7849fa249653643d01c5d5f127feb92152b (patch)
tree3c80193f6efb111a132b8d8b0b006981854e94e0 /host/docs
parent41aadb29b952d563bf78c38b7bfd408d2f1d2519 (diff)
downloaduhd-b3a9c7849fa249653643d01c5d5f127feb92152b.tar.gz
uhd-b3a9c7849fa249653643d01c5d5f127feb92152b.tar.bz2
uhd-b3a9c7849fa249653643d01c5d5f127feb92152b.zip
multi_usrp_rfnoc: Add TX buffering using Replay
Enabled with the "tx_replay_buffer" device argument. Buffers TX data in DRAM using the Replay block (version 1.1 or higher required), allowing more buffering of data on the device. May reduce underruns for certain applications. The Replay block is currently limited to 32 play commands, so fewer calls to send() with larger buffers will perform better than more calls with smaller buffers. Signed-off-by: michael-west <michael.west@ettus.com>
Diffstat (limited to 'host/docs')
-rw-r--r--host/docs/configuration.dox4
-rw-r--r--host/docs/general.dox12
2 files changed, 16 insertions, 0 deletions
diff --git a/host/docs/configuration.dox b/host/docs/configuration.dox
index d9a121505..b65714a29 100644
--- a/host/docs/configuration.dox
+++ b/host/docs/configuration.dox
@@ -212,6 +212,10 @@ The following parameters are supported:
- `noclear` (applies to B100 and N2xx only)
- `port` and `addr` (N2xx only) These settings specify an alternate receiver
streamer destination.
+- `streamer` Specify the type of streamer to use. "replay_buffered" (applies
+ to RFNoC enabled devices with a Replay block in the FPGA image) Adds data
+ buffering in DRAM using the Replay block for TX streamers when using the
+ multi_usrp API.
\subsubsection config_stream_args_transport Transport-related Stream Arguments
diff --git a/host/docs/general.dox b/host/docs/general.dox
index 2dab0a9ea..4e1d0cfb9 100644
--- a/host/docs/general.dox
+++ b/host/docs/general.dox
@@ -189,6 +189,18 @@ Underflow occurs when the host does not produce data fast enough. When
UHD software detects the underflow, it prints a "U" to stdout, and
pushes a message packet into the async message stream.
+Some underruns may be mitigated by buffering data in DRAM using the Replay
+block. The Replay block is only available in devices that support RFNoC. Some
+RFNoC devices include the Replay block in the default FPGA image. Use the
+'uhd_usrp_probe' utility and look for the "RFNoC blocks on this device:"
+section of the output to check if the Replay block is present. If using
+the multi_usrp API, simply add the stream argument "streamer=replay_buffered"
+to enable the buffering. This buffering adds latency and will likely not work
+at the highest streaming rates. A limited number of buffers can be stored
+in the Replay block, so larger buffers supplied to the tx_streamer::send()
+call will produce the best results. Buffers that are too small will result
+in gaps in the transmitted signal.
+
<b>Note:</b> "O" and "U" message are generally harmless, and just mean the host
machine can't keep up with the requested rates.