#include <uhd/rfnoc/null_block_control.hpp>
|
enum | port_type_t { SINK
, SOURCE
, LOOP
} |
|
enum | count_type_t { LINES
, PACKETS
} |
|
using | sptr = std::shared_ptr< noc_block_base > |
|
using | make_args_ptr = std::unique_ptr< make_args_t > |
| Opaque pointer to the constructor arguments. More...
|
|
enum class | forwarding_policy_t {
ONE_TO_ONE
, ONE_TO_FAN
, ONE_TO_ALL_IN
, ONE_TO_ALL_OUT
,
ONE_TO_ALL
, DROP
, USE_MAP
} |
| Types of property/action forwarding for those not defined by the block itself. More...
|
|
using | resolver_fn_t = std::function< void(void)> |
|
using | resolve_callback_t = std::function< void(void)> |
|
using | action_handler_t = std::function< void(const res_source_info &, action_info::sptr)> |
|
using | forwarding_map_t = std::unordered_map< res_source_info, std::vector< res_source_info > > |
|
|
using | prop_ptrs_t = std::unordered_set< property_base_t * > |
|
| noc_block_base (make_args_ptr make_args) |
|
void | set_num_input_ports (const size_t num_ports) |
| Update number of input ports. More...
|
|
void | set_num_output_ports (const size_t num_ports) |
| Update number of output ports. More...
|
|
void | set_tick_rate (const double tick_rate) |
|
void | set_mtu_forwarding_policy (const forwarding_policy_t policy) |
|
void | set_mtu (const res_source_info &edge, const size_t new_mtu) |
|
property_base_t * | get_mtu_prop_ref (const res_source_info &edge) |
|
std::shared_ptr< mb_controller > | get_mb_controller () |
|
virtual void | deinit () |
|
void | register_property (property_base_t *prop, resolve_callback_t &&clean_callback=nullptr) |
|
void | add_property_resolver (prop_ptrs_t &&inputs, prop_ptrs_t &&outputs, resolver_fn_t &&resolver_fn) |
|
void | set_prop_forwarding_policy (forwarding_policy_t policy, const std::string &prop_id="") |
|
void | set_prop_forwarding_map (const forwarding_map_t &map) |
|
template<typename prop_data_t > |
void | set_property (const std::string &id, const prop_data_t &val, const res_source_info &src_info) |
|
template<typename prop_data_t > |
const prop_data_t & | get_property (const std::string &id, const res_source_info &src_info) |
|
void | register_action_handler (const std::string &id, action_handler_t &&handler) |
|
void | set_action_forwarding_policy (forwarding_policy_t policy, const std::string &action_key="") |
|
void | set_action_forwarding_map (const forwarding_map_t &map) |
|
void | post_action (const res_source_info &edge_info, action_info::sptr action) |
|
virtual bool | check_topology (const std::vector< size_t > &connected_inputs, const std::vector< size_t > &connected_outputs) |
|
void | update_reg_iface (register_iface::sptr new_iface=nullptr) |
|
static dirtifier_t | ALWAYS_DIRTY |
| A dirtifyer object, useful for properties that always need updating. More...
|
|
◆ count_type_t
◆ port_type_t
Enumerator |
---|
SINK | |
SOURCE | |
LOOP | |
◆ get_bytes_per_packet()
virtual uint32_t uhd::rfnoc::null_block_control::get_bytes_per_packet |
( |
| ) |
|
|
pure virtual |
◆ get_count()
virtual uint64_t uhd::rfnoc::null_block_control::get_count |
( |
const port_type_t |
port_type, |
|
|
const count_type_t |
count_type |
|
) |
| |
|
pure virtual |
Returns the number of lines that have been consumed on port 0 since the last reset
- Parameters
-
port_type | The port for which the counter value should be returned, sink, source, or loop. |
count_type | If we want the packet count, or the line count |
◆ get_item_width()
virtual uint32_t uhd::rfnoc::null_block_control::get_item_width |
( |
| ) |
|
|
pure virtual |
◆ get_lines_per_packet()
virtual uint32_t uhd::rfnoc::null_block_control::get_lines_per_packet |
( |
| ) |
|
|
pure virtual |
Get lines per packet (including the header!)
◆ get_nipc()
virtual uint32_t uhd::rfnoc::null_block_control::get_nipc |
( |
| ) |
|
|
pure virtual |
Get number of items per clock (NIPC)
◆ get_throttle_cycles()
virtual uint32_t uhd::rfnoc::null_block_control::get_throttle_cycles |
( |
| ) |
|
|
pure virtual |
◆ issue_stream_cmd()
virtual void uhd::rfnoc::null_block_control::issue_stream_cmd |
( |
const uhd::stream_cmd_t & |
stream_cmd | ) |
|
|
pure virtual |
Start/stop the null source (port 0)
◆ reset_counters()
virtual void uhd::rfnoc::null_block_control::reset_counters |
( |
| ) |
|
|
pure virtual |
◆ set_bytes_per_packet()
virtual void uhd::rfnoc::null_block_control::set_bytes_per_packet |
( |
const uint32_t |
bpp | ) |
|
|
pure virtual |
Set bytes per packet
Note: This sets the entire packet size, including header.
◆ set_throttle_cycles()
virtual void uhd::rfnoc::null_block_control::set_throttle_cycles |
( |
const uint32_t |
cycs | ) |
|
|
pure virtual |
Set throttle cycles
The block will wait this many cycles between packets. Useful for reducing the data output.
◆ REG_CTRL_STATUS
const uint32_t uhd::rfnoc::null_block_control::REG_CTRL_STATUS |
|
static |
◆ REG_LOOP_LINE_CNT_HI
const uint32_t uhd::rfnoc::null_block_control::REG_LOOP_LINE_CNT_HI |
|
static |
◆ REG_LOOP_LINE_CNT_LO
const uint32_t uhd::rfnoc::null_block_control::REG_LOOP_LINE_CNT_LO |
|
static |
◆ REG_LOOP_PKT_CNT_HI
const uint32_t uhd::rfnoc::null_block_control::REG_LOOP_PKT_CNT_HI |
|
static |
◆ REG_LOOP_PKT_CNT_LO
const uint32_t uhd::rfnoc::null_block_control::REG_LOOP_PKT_CNT_LO |
|
static |
◆ REG_SNK_LINE_CNT_HI
const uint32_t uhd::rfnoc::null_block_control::REG_SNK_LINE_CNT_HI |
|
static |
◆ REG_SNK_LINE_CNT_LO
const uint32_t uhd::rfnoc::null_block_control::REG_SNK_LINE_CNT_LO |
|
static |
◆ REG_SNK_PKT_CNT_HI
const uint32_t uhd::rfnoc::null_block_control::REG_SNK_PKT_CNT_HI |
|
static |
◆ REG_SNK_PKT_CNT_LO
const uint32_t uhd::rfnoc::null_block_control::REG_SNK_PKT_CNT_LO |
|
static |
◆ REG_SRC_BYTES_PER_PKT
const uint32_t uhd::rfnoc::null_block_control::REG_SRC_BYTES_PER_PKT |
|
static |
◆ REG_SRC_LINE_CNT_HI
const uint32_t uhd::rfnoc::null_block_control::REG_SRC_LINE_CNT_HI |
|
static |
◆ REG_SRC_LINE_CNT_LO
const uint32_t uhd::rfnoc::null_block_control::REG_SRC_LINE_CNT_LO |
|
static |
◆ REG_SRC_LINES_PER_PKT
const uint32_t uhd::rfnoc::null_block_control::REG_SRC_LINES_PER_PKT |
|
static |
◆ REG_SRC_PKT_CNT_HI
const uint32_t uhd::rfnoc::null_block_control::REG_SRC_PKT_CNT_HI |
|
static |
◆ REG_SRC_PKT_CNT_LO
const uint32_t uhd::rfnoc::null_block_control::REG_SRC_PKT_CNT_LO |
|
static |
◆ REG_SRC_THROTTLE_CYC
const uint32_t uhd::rfnoc::null_block_control::REG_SRC_THROTTLE_CYC |
|
static |
The documentation for this class was generated from the following file: