|
| 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 | forwarding_policy_t {
forwarding_policy_t::ONE_TO_ONE,
forwarding_policy_t::ONE_TO_FAN,
forwarding_policy_t::ONE_TO_ALL_IN,
forwarding_policy_t::ONE_TO_ALL_OUT,
forwarding_policy_t::ONE_TO_ALL,
forwarding_policy_t::DROP,
forwarding_policy_t::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 | graph_mutex_callback_t = std::function< std::recursive_mutex &(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::vector< property_base_t * > |
| |
| | noc_block_base (make_args_ptr make_args) |
| |
| void | set_num_input_ports (const size_t num_ports) |
| |
| void | set_num_output_ports (const size_t num_ports) |
| |
| 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) |
| |
| 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...
|
| |
Switchboard Block Control Class
The Switchboard Block is an RFNoC block that routes any single input to any single output. Routing is 1 to 1, that is, an input port can only be connected to one output port, and vice versa.
INIT: This block is initialized with only input port 0 connected to output port 0.
NOTE: This block is not intended to switch during the transmission of packets. Data on disconnected inputs will stall.