diff options
Diffstat (limited to 'host')
| -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>  | 
