aboutsummaryrefslogtreecommitdiffstats
path: root/host/docs
diff options
context:
space:
mode:
authorLars Amsel <lars.amsel@ni.com>2021-12-03 13:02:09 +0100
committerAaron Rossetto <aaron.rossetto@ni.com>2022-01-10 14:56:35 -0600
commit3e5e4eb06c0ea6337464cbda0648a75bf76cca17 (patch)
treea39eb76a91b19ba5f38aacafd844e869bc459319 /host/docs
parent0e7553cd1a8758a8488afc2efaff7295b351e7fe (diff)
downloaduhd-3e5e4eb06c0ea6337464cbda0648a75bf76cca17.tar.gz
uhd-3e5e4eb06c0ea6337464cbda0648a75bf76cca17.tar.bz2
uhd-3e5e4eb06c0ea6337464cbda0648a75bf76cca17.zip
rfnoc: Add atomic item size property for RFNoC blocks
An RFNoC block (like the radio) might require a minimal number of items in each clock cycle, e.g. the radio has to process SPC (samples per cycle). Because data in RFNoC is transmitted and processed in packets, we have to make sure the items inside these packets are a multiple of the items processed in each cycle. This commit adds an atomic item size properties which is set by the radio and adapted by the streamers. The streamers adapt the SPP property of the radio block controller depending on the MTU value. This might lead to an SPP value which does not align with the SPC value of the radio block, hence we add a property resolver for the atomic item size.
Diffstat (limited to 'host/docs')
-rw-r--r--host/docs/properties.dox10
1 files changed, 10 insertions, 0 deletions
diff --git a/host/docs/properties.dox b/host/docs/properties.dox
index a8f505382..b6e899dfe 100644
--- a/host/docs/properties.dox
+++ b/host/docs/properties.dox
@@ -400,6 +400,16 @@ Edge Properties:
much they have affected the amplitude. The TX and RX streamer objects can then
apply the inverse of this scaling factor to correct for the scaling before
returning the signal to the user.
+- `atomic_item_size`: Blocks (e.g. uhd::rfnoc::radio_control) might need a
+ non-dividable amount of data per clock cycle, e.g. the radio block needs
+ `sample_per_cycle` times the size of the type bytes of data in each cycle.
+ This property allows a block to specify this amount of data per cycle which
+ allows other blocks or the streamer objects to adapt the samples per packet
+ accordingly.
+ Note: Because all blocks in a graph must agree on one value for this property
+ the blocks have to calculate the `atomic_item_size` as the least common
+ multiple of their own `atomic_item_size` and the edge property to accommodate
+ for other blocks up- or downstream.
User properties:
- `spp`: Blocks that produce data in chunks of samples can use this to describe