RFNoC Split Stream Block
This RFNoC block takes in a single CHDR stream and duplicates it, creating 'Number of Branches' (num_branches) output streams for each input stream.
The 'Number of Inputs' (num_inputs) parameter corresponds to the number of inputs that you want to split. That is, the block creates num_inputs instances of 1:num_branches splitters. The figure below illustrates how the CHDR ports are ordered when num_inputs = 2 and num_branches = 3.
┌──────────┐ Stream A --->│0 0│---> Stream A Stream B --->│1 1│---> Stream B │ 2│---> Stream A │ 3│---> Stream B │ 4│---> Stream A │ 5│---> Stream B └──────────┘
Note that the number of available inputs and outputs are generated during FPGA build time, and GRC doesn't have access to how many inputs and outputs a particular target has. If the provided number for num_inputs or num_branches exceeds what is on the target, then a runtime error will be generated.
Parameters
(R): Run-time adjustable
- Device Select
- default: -1
- Instance Select
- default: -1
- Number of Inputs
- default: 1
- Number of Branches
- default: 2
- IO Type
- options: ['sc16', 'u8']
Example Flowgraph
Example Output
Source Files
- C++ files
- TODO
- Header files
- TODO
- Public header files
- TODO
- Block definition
- uhd_rfnoc_split_stream.block.yml