17namespace uhd {
namespace rfnoc {
24 typedef std::shared_ptr<blockdef>
sptr;
Definition: device_addr.hpp:38
Describes arguments in a block definition.
Definition: blockdef.hpp:55
bool is_valid() const
Basic validity check of this argument definition.
static const std::set< std::string > VALID_TYPES
Definition: blockdef.hpp:59
static const device_addr_t ARG_ARGS
A list of args an argument can have.
Definition: blockdef.hpp:58
std::string to_string() const
Returns a string with the most important keys.
Describes port options for a block definition.
Definition: blockdef.hpp:34
bool is_variable(const std::string &key) const
Checks if the value at key is a variable (e.g. '$fftlen')
static const device_addr_t PORT_ARGS
A list of args a port can have.
Definition: blockdef.hpp:37
bool is_keyword(const std::string &key) const
Checks if the value at key is a keyword (e.g. 'vlen')
bool is_valid() const
Basic validity check of this port definition. Variables and.
std::string to_string() const
Returns a string with the most important keys.
Definition: blockdef.hpp:22
virtual std::string get_key() const =0
Returns block key (i.e. what is used for the registry)
static sptr make_from_noc_id(uint64_t noc_id)
virtual registers_t get_readback_registers()=0
Returns a list of readback (user) registers by name.
virtual uint64_t noc_id() const =0
Return the one NoC that is valid for this block.
virtual bool is_component() const =0
Returns true if this represents a component.
virtual ports_t get_input_ports()=0
virtual ports_t get_output_ports()=0
virtual std::vector< size_t > get_all_port_numbers()=0
Returns the full list of port numbers used.
std::shared_ptr< blockdef > sptr
Definition: blockdef.hpp:24
virtual args_t get_args()=0
Returns the args for this block. Checks if args are valid.
virtual registers_t get_settings_registers()=0
Returns a list of settings registers by name.
std::vector< arg_t > args_t
Definition: blockdef.hpp:68
virtual std::string get_name() const =0
For blocks, returns the block name. For components, returns it's canonical name.
uhd::dict< std::string, size_t > registers_t
Definition: blockdef.hpp:70
std::vector< port_t > ports_t
Definition: blockdef.hpp:51
virtual bool is_block() const =0
Returns true if this represents a NoC block.
#define UHD_API
Definition: config.h:87
Definition: build_info.hpp:12