| USRP Hardware Driver and USRP Manual Version: 4.8.0.makepkg-0-g308126a4 UHD and USRP Manual |

Loading...
Searching...
No Matches
noc_block_make_args.hpp
Go to the documentation of this file.
1//
2// Copyright 2019 Ettus Research, a National Instruments Brand
3//
4// SPDX-License-Identifier: GPL-3.0-or-later
5//
6
7#pragma once
8
9#include <uhd/property_tree.hpp>
10#include <uhd/rfnoc/noc_block_base.hpp>
11#include <uhd/rfnoc/register_iface.hpp>
12#include <uhd/rfnoc/rfnoc_types.hpp>
13
14 namespace uhd { namespace rfnoc {
15
16 class clock_iface;
17 class mb_controller;
18
24 struct noc_block_base::make_args_t
25{
26 ~make_args_t();
27
29 noc_id_t noc_id;
30
32 block_id_t block_id;
33
35 size_t num_input_ports;
36
38 size_t num_output_ports;
39
41 size_t mtu;
42
44 chdr_w_t chdr_w;
45
47 register_iface::sptr reg_iface;
48
50 std::shared_ptr<clock_iface> tb_clk_iface;
51
53 std::shared_ptr<clock_iface> ctrlport_clk_iface;
54
56 //
57 // Note that this may not be populated -- most blocks do not gain access to
58 // the motherboard controller.
59 std::shared_ptr<mb_controller> mb_control;
60
62 uhd::property_tree::sptr tree;
63
65 uhd::device_addr_t args;
66};
67
68}} /* 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