Loading...
Searching...
No Matches
uhd::rfnoc Namespace Reference

## Namespaces

namespace | chdr
namespace | detail
namespace | test
namespace | rf_control

## Classes

struct | action_info
struct | stream_cmd_action_info
struct | rx_event_action_info
struct | tx_event_action_info
struct | tune_request_action_info
| Action object for graph-based tuning. More...
class | addsub_block_control
class | block_control
class | block_controller_factory
class | block_id_t
class | blockdef
class | ddc_block_control
class | dirtifier_t
class | dmafifo_block_control
class | duc_block_control
class | fft_block_control
class | fir_filter_block_control
class | fosphor_block_control
struct | graph_edge_t
class | keep_one_in_n_block_control
class | lc_block_control
class | logpwr_block_control
class | mb_controller
class | mock_reg_iface_t
struct | mock_block_container
class | moving_average_block_control
class | multichan_register_iface
class | noc_block_base
class | node_t
class | node_accessor_t
| Special class which may access nodes. More...
class | null_block_control
class | property_base_t
class | property_t
class | radio_control
struct | custom_register_space
class | register_iface
class | register_iface_holder
class | registry
class | replay_block_control
struct | res_source_info
class | siggen_block_control
class | split_stream_block_control
class | switchboard_block_control
class | traffic_counter
class | vector_iir_block_control
class | window_block_control
class | rfnoc_graph

## Typedefs

using | io_type_t = std::string
using | noc_id_t = uint32_t
using | device_type_t = uint16_t
| Device Type.
using | sep_id_t = uint16_t
| Stream Endpoint ID Type.
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.

## Enumerations

enum class | fft_shift { NORMAL , REVERSE , NATURAL , BIT_REVERSE }
enum class | fft_direction { REVERSE , FORWARD }
enum class | fft_magnitude { COMPLEX , MAGNITUDE , MAGNITUDE_SQUARED }
enum class | fosphor_waterfall_mode { MAX_HOLD , AVERAGE }
enum class | fosphor_waterfall_predivision_ratio { RATIO_1_1 , RATIO_1_8 , RATIO_1_64 , 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 class | siggen_waveform { CONSTANT , SINE_WAVE , NOISE }

## Functions

std::ostream & | operator<< (std::ostream &out, block_id_t block_id)
| Shortcut for << block_id.to_string().
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.
constexpr chdr_w_t | bits_to_chdr_w (size_t bits)
| Conversion from number of bits to chdr_w_t.
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

## Typedef Documentation

## block_port_def

using uhd::rfnoc::block_port_def = std::tuple<std::string, boost::optional<size_t>>

Tuple that stores a block ID, as well as an optional port number.

## device_type_t

using uhd::rfnoc::device_type_t = uint16_t

Device Type.

## io_type_t

using uhd::rfnoc::io_type_t = std::string

## noc_id_t

using uhd::rfnoc::noc_id_t = uint32_t

The NoC ID is the unique identifier of the block type. All blocks of the same type have the same NoC ID.

## sep_id_t

using uhd::rfnoc::sep_id_t = uint16_t

Stream Endpoint ID Type.

## Enumeration Type Documentation

## chdr_w_t

enum uhd::rfnoc::chdr_w_t

Type that indicates the CHDR Width in bits.

Enumerator
CHDR_W_64 |
CHDR_W_128 |
CHDR_W_256 |
CHDR_W_512 |

## fft_direction

enum class uhd::rfnoc::fft_direction

strong

Enumerator
REVERSE |
FORWARD |

## fft_magnitude

enum class uhd::rfnoc::fft_magnitude

strong

Enumerator
COMPLEX |
MAGNITUDE |
MAGNITUDE_SQUARED |

## fft_shift

enum class uhd::rfnoc::fft_shift

strong

Enumerator
NORMAL |
REVERSE |
NATURAL |
BIT_REVERSE |

## fosphor_waterfall_mode

enum class uhd::rfnoc::fosphor_waterfall_mode

strong

Enumerator
MAX_HOLD |
AVERAGE |

## fosphor_waterfall_predivision_ratio

enum class uhd::rfnoc::fosphor_waterfall_predivision_ratio

strong

Enumerator
RATIO_1_1 |
RATIO_1_8 |
RATIO_1_64 |
RATIO_1_256 |

## siggen_waveform

enum class uhd::rfnoc::siggen_waveform

strong

Enumerator
CONSTANT |
SINE_WAVE |
NOISE |

## Function Documentation

## bits_to_chdr_w()

chdr_w_t uhd::rfnoc::bits_to_chdr_w | ( | size_t | bits | ) |

constexpr

Conversion from number of bits to chdr_w_t.

## chdr_w_to_bits()

size_t uhd::rfnoc::chdr_w_to_bits | ( | chdr_w_t | chdr_w | ) |

constexpr

Conversion from chdr_w_t to a number of bits.

## connect_through_blocks()

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.

Parameters

  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.

Returns
  The edge list representing the data path requested

## get_block_chain()

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.

Parameters

  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.

Returns
  The edge list representing the data path requested

## get_mock_block()

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

## operator<<()

std::ostream & uhd::rfnoc::operator<< | ( | std::ostream & | out,
|  | block_id_t | block_id )

inline

Shortcut for << block_id.to_string().

## Variable Documentation

## RFNOC_PROTO_VER

uint16_t uhd::rfnoc::RFNOC_PROTO_VER = 0x0100

constexpr