From d398fb532e0a0e5be0f3248fb6044d94d3d511f1 Mon Sep 17 00:00:00 2001 From: Jonathon Pendlum Date: Fri, 22 Jun 2018 15:51:08 +0100 Subject: RFNoC: Add debug, gain, schmidlcox, and serialdemod block definitions --- host/include/uhd/rfnoc/blocks/debug.xml | 49 +++++++++++ host/include/uhd/rfnoc/blocks/digital_gain.xml | 39 +++++++++ host/include/uhd/rfnoc/blocks/schmidlcox.xml | 101 +++++++++++++++++++++++ host/include/uhd/rfnoc/blocks/serialdemod.xml | 109 +++++++++++++++++++++++++ 4 files changed, 298 insertions(+) create mode 100644 host/include/uhd/rfnoc/blocks/debug.xml create mode 100644 host/include/uhd/rfnoc/blocks/digital_gain.xml create mode 100644 host/include/uhd/rfnoc/blocks/schmidlcox.xml create mode 100644 host/include/uhd/rfnoc/blocks/serialdemod.xml (limited to 'host') diff --git a/host/include/uhd/rfnoc/blocks/debug.xml b/host/include/uhd/rfnoc/blocks/debug.xml new file mode 100644 index 000000000..9210b8c2c --- /dev/null +++ b/host/include/uhd/rfnoc/blocks/debug.xml @@ -0,0 +1,49 @@ + + Debug + Debug + + + DEB1200000000000 + + + + + CONFIG +
128
+
+ + PAYLOAD_SIZE +
129
+
+
+ + + + config + int + 0 + SR_WRITE("CONFIG", $config) + + + spp + int + 64 + SR_WRITE("PAYLOAD_SIZE", $spp) + + + + + + in + sc16 + + + out + sc16 + + + stats + sc16 + + +
diff --git a/host/include/uhd/rfnoc/blocks/digital_gain.xml b/host/include/uhd/rfnoc/blocks/digital_gain.xml new file mode 100644 index 000000000..8d22dec04 --- /dev/null +++ b/host/include/uhd/rfnoc/blocks/digital_gain.xml @@ -0,0 +1,39 @@ + + Digital Gain + DigitalGain + + + B160 + + + + + GAIN +
128
+
+
+ + + + gain + double + 1.0 + GE($gain, 0.0) AND LE($gain, 32767.0) + Invalid gain. + + SR_WRITE("GAIN", IROUND($gain)) + + + + + + + in0 + sc16 + + + out0 + sc16 + + +
diff --git a/host/include/uhd/rfnoc/blocks/schmidlcox.xml b/host/include/uhd/rfnoc/blocks/schmidlcox.xml new file mode 100644 index 000000000..917b54ba3 --- /dev/null +++ b/host/include/uhd/rfnoc/blocks/schmidlcox.xml @@ -0,0 +1,101 @@ + + + Schmidl & Cox + SchmidlCox + + + 5CC0 + + + + + FRAME_LENGTH +
129
+
+ + CP_LENGTH +
130
+
+ + DELAY +
131
+
+ + NUM_SYMBOLS_MAX +
132
+
+ + THRESHOLD +
134
+
+ + AGC_REF_LEVEL +
135
+
+
+ + + + fftsize + int + 64 + + + + frame_len + int + 64 + SR_WRITE("FRAME_LENGTH", $frame_len) + + + cp_len + int + 16 + SR_WRITE("CP_LENGTH", $cp_len) + + + threshold + double + 0.8 + GE($threshold, 0.0) AND LE($threshold, 1.0) + Detection threshold must be in [0, 1]. + SR_WRITE("THRESHOLD", IROUND(MULT(16384.0, $threshold))) + + + delay + int + 146 + GE($delay, 0) AND LE($delay, 32767) + Invalid delay. + SR_WRITE("DELAY", $delay) + + + max_num_symbols + int + 12 + GE($max_num_symbols, 0) AND LE($max_num_symbols, 1000) + Invalid number of max symbols. + SR_WRITE("NUM_SYMBOLS_MAX", $max_num_symbols) + + + agc_ref_level + double + 0.125 + GE($agc_ref_level, 0.0) AND LE($agc_ref_level, 1.0) + AGC reference level must be in [0, 1]. + SR_WRITE("AGC_REF_LEVEL", IROUND(MULT(32768.0, $agc_ref_level))) + + + + + in + sc16 + + + out + sc16 + $fftsize + %vlen + + +
diff --git a/host/include/uhd/rfnoc/blocks/serialdemod.xml b/host/include/uhd/rfnoc/blocks/serialdemod.xml new file mode 100644 index 000000000..37f3357c1 --- /dev/null +++ b/host/include/uhd/rfnoc/blocks/serialdemod.xml @@ -0,0 +1,109 @@ + + + OFDM Constellation Demod + OFDMDemap + + + 0FCD + + + + + MOD_ORDER +
129
+
+ + SCALING +
130
+
+ + OUTPUT_SYMBOLS +
131
+
+ + PKT_LEN +
132
+
+ + SET_EOB +
133
+
+
+ + + + fftsize + int + 64 + + + mod_order + int + 4 + GE($mod_order, 2) AND LE($mod_order, 64) AND IS_PWR_OF_2($mod_order) + Modulation order must be in (2, 4, 16, 64). + SR_WRITE("MOD_ORDER", LOG2($mod_order)) + + + scaling + double + 1.4142135623730951 + GE($scaling, 0.1) AND LT($scaling, 4.0) + Invalid scaling. + SR_WRITE("SCALING", IROUND(MULT(16384.0, $scaling))) + + + output_symbols + int + 1 + EQUAL($output_symbols, 0) OR EQUAL($output_symbols, 1) + Output symbols can only be true (1) or false (0) + SR_WRITE("OUTPUT_SYMBOLS", $output_symbols) + + + + pkt_len + int + 64 + GE($pkt_len, 4) AND LE($pkt_len, 4096) + Packet length must be greater than or equal to 4 and less than or equal to 4096 bytes + SR_WRITE("PKT_LEN", $pkt_len) + + + set_eob + int + 1 + EQUAL($set_eob, 0) OR EQUAL($set_eob, 1) + Set end of burst can only be true (1) or false (0) + SR_WRITE("SET_EOB", $set_eob) + + + + + in + sc16 + $fftsize + + + out + u8 + + + + + + + + + + + + + + + + + + + +
-- cgit v1.2.3