diff options
Diffstat (limited to 'host/include')
| -rw-r--r-- | host/include/uhd/rfnoc_graph.hpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/host/include/uhd/rfnoc_graph.hpp b/host/include/uhd/rfnoc_graph.hpp index a0a9bf907..55563c6fc 100644 --- a/host/include/uhd/rfnoc_graph.hpp +++ b/host/include/uhd/rfnoc_graph.hpp @@ -36,9 +36,16 @@ public: */ using sptr = std::shared_ptr<rfnoc_graph>; - virtual ~rfnoc_graph() {} + + //! Stuct to store information about which blocks are actually stored at a given port on the crossbar + struct block_xbar_info { + size_t xbar_port; + noc_block_base::noc_id_t noc_id; + size_t inst_num; + }; + /****************************************** * Factory ******************************************/ @@ -113,7 +120,7 @@ public: * \param block_id Canonical block name (e.g. "0/FFT#1"). * \note this access is not thread safe if peformed during block enumeration */ - noc_block_base::sptr get_block(const block_id_t& block_id) const; + virtual noc_block_base::sptr get_block(const block_id_t& block_id) const = 0; /*! Same as get_block(), but with a type cast. * @@ -161,11 +168,11 @@ public: * \throws connect_disallowed_on_dst * if the destination port is statically connected to a *different* block */ - void connect(const block_id_t& src_blk, + virtual void connect(const block_id_t& src_blk, size_t src_port, const block_id_t& dst_blk, size_t dst_port, - bool skip_property_propagation = false); + bool skip_property_propagation = false) = 0; /*! Connect TX streamer to an input of an NoC block * @@ -177,10 +184,10 @@ public: * \throws connect_disallowed_on_dst * if the destination port is statically connected to a *different* block */ - void connect(uhd::tx_streamer& streamer, + virtual void connect(uhd::tx_streamer& streamer, size_t strm_port, const block_id_t& dst_blk, - size_t dst_port); + size_t dst_port) = 0; /*! Connect RX streamer to an output of an NoC block * @@ -192,10 +199,10 @@ public: * \throws connect_disallowed_on_src * if the source port is statically connected to a *different* block */ - void connect(const block_id_t& src_blk, + virtual void connect(const block_id_t& src_blk, size_t src_port, uhd::rx_streamer& streamer, - size_t strm_port); + size_t strm_port) = 0; /*! Enumerate all the connections in the graph * |
