Namespaces | |
chdr | |
detail | |
rf_control | |
Typedefs | |
using | io_type_t = std::string |
using | noc_id_t = uint32_t |
using | device_type_t = uint16_t |
Device Type. More... | |
using | sep_id_t = uint16_t |
Stream Endpoint ID Type. More... | |
using | block_port_def = std::tuple< std::string, boost::optional< size_t > > |
Tuple that stores a block ID, as well as an optional port number. More... | |
Enumerations | |
enum | fft_shift { fft_shift::NORMAL, fft_shift::REVERSE, fft_shift::NATURAL } |
enum | fft_direction { fft_direction::REVERSE, fft_direction::FORWARD } |
enum | fft_magnitude { fft_magnitude::COMPLEX, fft_magnitude::MAGNITUDE, fft_magnitude::MAGNITUDE_SQUARED } |
enum | fosphor_waterfall_mode { fosphor_waterfall_mode::MAX_HOLD, fosphor_waterfall_mode::AVERAGE } |
enum | fosphor_waterfall_predivision_ratio { fosphor_waterfall_predivision_ratio::RATIO_1_1, fosphor_waterfall_predivision_ratio::RATIO_1_8, fosphor_waterfall_predivision_ratio::RATIO_1_64, fosphor_waterfall_predivision_ratio::RATIO_1_256 } |
enum | chdr_w_t { CHDR_W_64 = 0, CHDR_W_128 = 1, CHDR_W_256 = 2, CHDR_W_512 = 3 } |
Type that indicates the CHDR Width in bits. More... | |
enum | siggen_waveform { siggen_waveform::CONSTANT, siggen_waveform::SINE_WAVE, siggen_waveform::NOISE } |
Functions | |
std::ostream & | operator<< (std::ostream &out, block_id_t block_id) |
Shortcut for << block_id.to_string() More... | |
UHD_API mock_block_container | get_mock_block (const noc_id_t noc_id, const size_t num_inputs=1, const size_t num_outputs=1, const uhd::device_addr_t &args=uhd::device_addr_t(), const size_t mtu=8000, const device_type_t device_id=ANY_DEVICE, std::shared_ptr< mock_reg_iface_t > client_reg_iface=nullptr, mb_controller::sptr mbc=nullptr) |
constexpr size_t | chdr_w_to_bits (chdr_w_t chdr_w) |
Conversion from chdr_w_t to a number of bits. More... | |
constexpr chdr_w_t | bits_to_chdr_w (size_t bits) |
Conversion from number of bits to chdr_w_t. More... | |
std::vector< graph_edge_t > UHD_API | get_block_chain (const rfnoc_graph::sptr graph, const block_id_t start_block, const size_t port, const bool source_chain) |
std::vector< graph_edge_t > UHD_API | connect_through_blocks (rfnoc_graph::sptr graph, const block_id_t src_blk, const size_t src_port, const block_id_t dst_blk, const size_t dst_port, const bool skip_property_propagation=false) |
Variables | |
constexpr uint16_t | RFNOC_PROTO_VER = 0x0100 |
using uhd::rfnoc::block_port_def = typedef std::tuple<std::string, boost::optional<size_t> > |
Tuple that stores a block ID, as well as an optional port number.
using uhd::rfnoc::device_type_t = typedef uint16_t |
Device Type.
using uhd::rfnoc::io_type_t = typedef std::string |
using uhd::rfnoc::noc_id_t = typedef uint32_t |
The NoC ID is the unique identifier of the block type. All blocks of the same type have the same NoC ID.
using uhd::rfnoc::sep_id_t = typedef uint16_t |
Stream Endpoint ID Type.
enum uhd::rfnoc::chdr_w_t |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
constexpr chdr_w_t uhd::rfnoc::bits_to_chdr_w | ( | size_t | bits | ) |
Conversion from number of bits to chdr_w_t.
constexpr size_t uhd::rfnoc::chdr_w_to_bits | ( | chdr_w_t | chdr_w | ) |
Conversion from chdr_w_t to a number of bits.
std::vector<graph_edge_t> UHD_API uhd::rfnoc::connect_through_blocks | ( | rfnoc_graph::sptr | graph, |
const block_id_t | src_blk, | ||
const size_t | src_port, | ||
const block_id_t | dst_blk, | ||
const size_t | dst_port, | ||
const bool | skip_property_propagation = false |
||
) |
Connect desired blocks by whatever path that can be found
This will find the most direct path from a source block to a destination block. If these blocks are statically connected it will simply call connect() on all intermediate connections. If not, it will create a dynamic connection between stream endpoints. If this is not possible, an exception is thrown.
graph | The rfnoc_graph that is being examined |
src_blk | Source block's ID |
src_port | Block port where the path starts |
dst_blk | Destination block's ID |
dst_port | Block port where the path ends |
skip_property_propagation | Declare back-edge (see also uhd::rfnoc::rfnoc_graph::connect()) If true, it will declare only the first connection in this chain as a back-edge. |
std::vector<graph_edge_t> UHD_API uhd::rfnoc::get_block_chain | ( | const rfnoc_graph::sptr | graph, |
const block_id_t | start_block, | ||
const size_t | port, | ||
const bool | source_chain | ||
) |
Get a chain of blocks that statically connect back to a terminating block. This vector's first element is start_block
, and the chain continues from there.
This function does not make the connections between blocks, it simply traverses the static connections.
graph | The rfnoc_graph that is being examined |
start_block | The block we begin to build the chain from |
port | The block port of src_port that the path will begin at |
source_chain | Whether or not the start_block is a source (or a destination). If true, the chain will start at start_block 's output port. If false, the chain will start with start_block 's input port. |
UHD_API mock_block_container uhd::rfnoc::get_mock_block | ( | const noc_id_t | noc_id, |
const size_t | num_inputs = 1 , |
||
const size_t | num_outputs = 1 , |
||
const uhd::device_addr_t & | args = uhd::device_addr_t() , |
||
const size_t | mtu = 8000 , |
||
const device_type_t | device_id = ANY_DEVICE , |
||
std::shared_ptr< mock_reg_iface_t > | client_reg_iface = nullptr , |
||
mb_controller::sptr | mbc = nullptr |
||
) |
Factory function for mock block controllers
|
inline |
Shortcut for << block_id.to_string()
constexpr uint16_t uhd::rfnoc::RFNOC_PROTO_VER = 0x0100 |