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']

Source Files

 * C++ files
 * TODO


 * Header files
 * TODO


 * Public header files
 * TODO


 * Block definition
 * uhd_rfnoc_split_stream.block.yml