aboutsummaryrefslogtreecommitdiffstats
path: root/host/include
diff options
context:
space:
mode:
Diffstat (limited to 'host/include')
-rw-r--r--host/include/uhd/rfnoc/CMakeLists.txt1
-rw-r--r--host/include/uhd/rfnoc/addsub_block_control.hpp29
-rw-r--r--host/include/uhd/rfnoc/defaults.hpp3
3 files changed, 32 insertions, 1 deletions
diff --git a/host/include/uhd/rfnoc/CMakeLists.txt b/host/include/uhd/rfnoc/CMakeLists.txt
index f86c04850..9c389af03 100644
--- a/host/include/uhd/rfnoc/CMakeLists.txt
+++ b/host/include/uhd/rfnoc/CMakeLists.txt
@@ -30,6 +30,7 @@ UHD_INSTALL(FILES
res_source_info.hpp
traffic_counter.hpp
# Block controllers
+ addsub_block_control.hpp
block_control.hpp
ddc_block_control.hpp
duc_block_control.hpp
diff --git a/host/include/uhd/rfnoc/addsub_block_control.hpp b/host/include/uhd/rfnoc/addsub_block_control.hpp
new file mode 100644
index 000000000..7f73610af
--- /dev/null
+++ b/host/include/uhd/rfnoc/addsub_block_control.hpp
@@ -0,0 +1,29 @@
+//
+// Copyright 2020 Ettus Research, a National Instruments Brand
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+
+#pragma once
+
+#include <uhd/config.hpp>
+#include <uhd/rfnoc/noc_block_base.hpp>
+
+namespace uhd { namespace rfnoc {
+
+/*! Add/Sub Block Control Class
+ *
+ * The Add/Sub RFNoC block takes in two streams of sc16-formatted data and
+ * performs addition and subtraction on the data in the stream, creating two
+ * output streams consisting of the sum and difference of the input streams.
+ * The block assumes that the input and output packets are all of the same
+ * length.
+ *
+ */
+class UHD_API addsub_block_control : public noc_block_base
+{
+public:
+ RFNOC_DECLARE_BLOCK(addsub_block_control)
+};
+
+}} // namespace uhd::rfnoc
diff --git a/host/include/uhd/rfnoc/defaults.hpp b/host/include/uhd/rfnoc/defaults.hpp
index ba9907a11..e44e3fa49 100644
--- a/host/include/uhd/rfnoc/defaults.hpp
+++ b/host/include/uhd/rfnoc/defaults.hpp
@@ -72,12 +72,13 @@ static const device_type_t N320 = 0x1320;
static const device_type_t X300 = 0xA300;
// block identifiers
-static const noc_id_t RADIO_BLOCK = 0x12AD1000;
+static const noc_id_t ADDSUB_BLOCK = 0xADD00000;
static const noc_id_t DUC_BLOCK = 0xD0C00000;
static const noc_id_t DDC_BLOCK = 0xDDC00000;
static const noc_id_t FIR_FILTER_BLOCK = 0xf1120000;
static const noc_id_t FOSPHOR_BLOCK = 0x666F0000;
static const noc_id_t SPLIT_STREAM_BLOCK = 0x57570000;
+static const noc_id_t RADIO_BLOCK = 0x12AD1000;
static const noc_id_t VECTOR_IIR_BLOCK = 0x11120000;
}} // namespace uhd::rfnoc