diff options
author | Trung N Tran <trung.tran@ettus.com> | 2018-03-08 13:42:44 -0800 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2018-03-13 13:43:28 -0700 |
commit | 1408a401debec4b57f9c5e6ac75b64e8b9124591 (patch) | |
tree | c975aa474f6c8f268e387c63b274b827eb6eeb91 | |
parent | 49011af0ae7e9bb9f9446319c001d05a1b55a1c5 (diff) | |
download | uhd-1408a401debec4b57f9c5e6ac75b64e8b9124591.tar.gz uhd-1408a401debec4b57f9c5e6ac75b64e8b9124591.tar.bz2 uhd-1408a401debec4b57f9c5e6ac75b64e8b9124591.zip |
rfnoc: modify duc.xml and radio_x300.xml;add duc_single.xml
-rw-r--r-- | host/include/uhd/rfnoc/blocks/duc.xml | 57 | ||||
-rw-r--r-- | host/include/uhd/rfnoc/blocks/duc_single.xml | 96 | ||||
-rw-r--r-- | host/include/uhd/rfnoc/blocks/radio_x300.xml | 9 |
3 files changed, 151 insertions, 11 deletions
diff --git a/host/include/uhd/rfnoc/blocks/duc.xml b/host/include/uhd/rfnoc/blocks/duc.xml index 62f005372..9be54da78 100644 --- a/host/include/uhd/rfnoc/blocks/duc.xml +++ b/host/include/uhd/rfnoc/blocks/duc.xml @@ -5,7 +5,7 @@ <key>DUC</key> <!--There can be several of these:--> <ids> - <id revision="0">D0C0</id> + <id revision="0">D0C0000000000002</id> </ids> <!-- Registers --> <registers> @@ -80,15 +80,64 @@ <value>1.0</value> <port>0</port> </arg> - </args> + <arg> + <name>freq</name> + <type>double</type> + <value>0.0</value> + <port>1</port> + <!--<action>--> + <!--SR_WRITE("CORDIC_FREQ", $cordic_freq)--> + <!--</action>--> + <!--FIXME Calculate this properly--> + </arg> + <arg> + <name>input_rate</name> + <type>double</type> + <value>1.0</value> + <port>1</port> + <check>GE($input_rate, 0.0)</check> + <check_message>The input rate must be a positive value (in Hz).</check_message> + </arg> + <arg> + <name>output_rate</name> + <type>double</type> + <value>1.0</value> + <port>1</port> + <check>GE($output_rate, 0.0)</check> + <check_message>The output rate must be a positive value (in Hz).</check_message> + </arg> + <arg> + <name>fullscale</name> + <type>double</type> + <value>1.0</value> + <port>1</port> + <check>GE($fullscale, 0.0)</check> + <check_message>The output rate must be a positive value (in Hz).</check_message> + <!--FIXME Calculate this properly--> + </arg> + <arg> + <name>scalar_correction</name> + <type>double</type> + <value>1.0</value> + <port>1</port> + </arg> +</args> <!--All the connections to the outside world are listed in 'ports':--> <ports> <sink> - <name>in</name> + <name>in0</name> + <type>sc16</type> + </sink> + <source> + <name>out0</name> + <type>sc16</type> + </source> + <sink> + <name>in1</name> <type>sc16</type> </sink> <source> - <name>out</name> + <name>out1</name> <type>sc16</type> </source> </ports> diff --git a/host/include/uhd/rfnoc/blocks/duc_single.xml b/host/include/uhd/rfnoc/blocks/duc_single.xml new file mode 100644 index 000000000..39038eeee --- /dev/null +++ b/host/include/uhd/rfnoc/blocks/duc_single.xml @@ -0,0 +1,96 @@ +<!--This defines one NoC-Block.--> +<nocblock> + <name>Tx DSP (DUC/CORDIC)</name> + <blockname>DUC</blockname> + <key>DUC</key> + <!--There can be several of these:--> + <ids> + <id revision="0">D0C0000000000000</id> + </ids> + <!-- Registers --> + <registers> + <!-- AXI rate change block registers --> + <setreg> + <name>N</name> + <address>128</address> + </setreg> + <setreg> + <name>M</name> + <address>129</address> + </setreg> + <setreg> + <!-- 1 bit, enable clear user --> + <name>CONFIG</name> + <address>130</address> + </setreg> + <!-- DUC block registers --> + <setreg> + <name>INTERP_WORD</name> <!--Includes the half-bands and the CIC--> + <address>131</address> + </setreg> + <setreg> + <name>CORDIC_FREQ</name> + <address>132</address> + </setreg> + <setreg> + <name>SCALE_IQ</name> + <address>133</address> + </setreg> + </registers> + <!-- Args --> + <args> + <arg> + <name>freq</name> + <type>double</type> + <value>0.0</value> + <port>0</port> + <!--<action>--> + <!--SR_WRITE("CORDIC_FREQ", $cordic_freq)--> + <!--</action>--> + <!--FIXME Calculate this properly--> + </arg> + <arg> + <name>input_rate</name> + <type>double</type> + <value>1.0</value> + <port>0</port> + <check>GE($input_rate, 0.0)</check> + <check_message>The input rate must be a positive value (in Hz).</check_message> + </arg> + <arg> + <name>output_rate</name> + <type>double</type> + <value>1.0</value> + <port>0</port> + <check>GE($output_rate, 0.0)</check> + <check_message>The output rate must be a positive value (in Hz).</check_message> + </arg> + <arg> + <name>fullscale</name> + <type>double</type> + <value>1.0</value> + <port>0</port> + <check>GE($fullscale, 0.0)</check> + <check_message>The output rate must be a positive value (in Hz).</check_message> + <!--FIXME Calculate this properly--> + </arg> + <arg> + <name>scalar_correction</name> + <type>double</type> + <value>1.0</value> + <port>0</port> + </arg> +</args> + <!--All the connections to the outside world are listed in 'ports':--> + <ports> + <sink> + <name>in</name> + <type>sc16</type> + </sink> + <source> + <name>out</name> + <type>sc16</type> + </source> + </ports> +</nocblock> + diff --git a/host/include/uhd/rfnoc/blocks/radio_x300.xml b/host/include/uhd/rfnoc/blocks/radio_x300.xml index 4130522a5..8621ac40f 100644 --- a/host/include/uhd/rfnoc/blocks/radio_x300.xml +++ b/host/include/uhd/rfnoc/blocks/radio_x300.xml @@ -32,17 +32,12 @@ </args> <ports> <sink> - <name>in0</name> - <type>sc16</type> - <!--<vlen>$spp</vlen>--> - <!--<pkt_size>%vlen</pkt_size>--> - </sink> - <sink> - <name>in1</name> + <name>in</name> <type>sc16</type> <!--<vlen>$spp</vlen>--> <!--<pkt_size>%vlen</pkt_size>--> </sink> + <source> <name>out0</name> <type>sc16</type> |