Loading...
Searching...
No Matches
noc_block_make_args.hpp
Go to the documentation of this file.
//
// Copyright 2019 Ettus Research, a National Instruments Brand
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
#pragma once
#include <uhd/property_tree.hpp>
#include <uhd/rfnoc/noc_block_base.hpp>
#include <uhd/rfnoc/register_iface.hpp>
#include <uhd/rfnoc/rfnoc_types.hpp>
namespace uhd { namespace rfnoc {
class clock_iface;
class mb_controller;
struct noc_block_base::make_args_t
{
~make_args_t();
noc_id_t noc_id;
block_id_t block_id;
size_t num_input_ports;
size_t num_output_ports;
size_t mtu;
chdr_w_t chdr_w;
register_iface::sptr reg_iface;
std::shared_ptr<clock_iface> tb_clk_iface;
std::shared_ptr<clock_iface> ctrlport_clk_iface;
//
// Note that this may not be populated -- most blocks do not gain access to
// the motherboard controller.
std::shared_ptr<mb_controller> mb_control;
uhd::property_tree::sptr tree;
uhd::device_addr_t args;
};
}} /* namespace uhd::rfnoc */
uhd::device_addr_t
Definition device_addr.hpp:39
uhd::property_tree::sptr
std::shared_ptr< property_tree > sptr
Definition property_tree.hpp:224
uhd::rfnoc::block_id_t
Definition block_id.hpp:40
uhd::rfnoc::mb_controller
Definition mb_controller.hpp:31
uhd::rfnoc::register_iface::sptr
std::shared_ptr< register_iface > sptr
Definition register_iface.hpp:41
uhd::rfnoc
Definition actions.hpp:24
uhd::rfnoc::noc_id_t
uint32_t noc_id_t
Definition defaults.hpp:52
uhd::rfnoc::chdr_w_t
chdr_w_t
Type that indicates the CHDR Width in bits.
Definition rfnoc_types.hpp:19
uhd
Definition build_info.hpp:12
noc_block_base.hpp
property_tree.hpp
register_iface.hpp
rfnoc_types.hpp
uhd::rfnoc::noc_block_base::make_args_t
Definition noc_block_make_args.hpp:25
uhd::rfnoc::noc_block_base::make_args_t::tree
uhd::property_tree::sptr tree
The subtree for this block.
Definition noc_block_make_args.hpp:62
uhd::rfnoc::noc_block_base::make_args_t::args
uhd::device_addr_t args
Additional args that can be parsed and used by this block.
Definition noc_block_make_args.hpp:65
uhd::rfnoc::noc_block_base::make_args_t::block_id
block_id_t block_id
Block ID (e.g. 0/Radio#0).
Definition noc_block_make_args.hpp:32
uhd::rfnoc::noc_block_base::make_args_t::mtu
size_t mtu
Value of the MTU register, converted to bytes.
Definition noc_block_make_args.hpp:41
uhd::rfnoc::noc_block_base::make_args_t::noc_id
noc_id_t noc_id
Noc-ID.
Definition noc_block_make_args.hpp:29
uhd::rfnoc::noc_block_base::make_args_t::chdr_w
chdr_w_t chdr_w
CHDR width of this block.
Definition noc_block_make_args.hpp:44
uhd::rfnoc::noc_block_base::make_args_t::num_input_ports
size_t num_input_ports
Number of input ports (gets reported from the FPGA).
Definition noc_block_make_args.hpp:35
uhd::rfnoc::noc_block_base::make_args_t::ctrlport_clk_iface
std::shared_ptr< clock_iface > ctrlport_clk_iface
Controlport clock interface object that is shared with the reg_iface.
Definition noc_block_make_args.hpp:53
uhd::rfnoc::noc_block_base::make_args_t::reg_iface
register_iface::sptr reg_iface
Register interface to this block's register space.
Definition noc_block_make_args.hpp:47
uhd::rfnoc::noc_block_base::make_args_t::~make_args_t
~make_args_t()
uhd::rfnoc::noc_block_base::make_args_t::num_output_ports
size_t num_output_ports
Number of output ports (gets reported from the FPGA).
Definition noc_block_make_args.hpp:38
uhd::rfnoc::noc_block_base::make_args_t::tb_clk_iface
std::shared_ptr< clock_iface > tb_clk_iface
Timebase clock interface object that is shared with the reg_iface.
Definition noc_block_make_args.hpp:50
uhd::rfnoc::noc_block_base::make_args_t::mb_control
std::shared_ptr< mb_controller > mb_control
Reference to the motherboard controller associated with this block.
Definition noc_block_make_args.hpp:59