Provide RF data path interface to hardware logic
SoC Blockset Support Package for Xilinx Devices / SDR / RFDataConverter
The RF Data Converter block provides an RF data path interface to the hardware logic.
The block accepts 16-bit samples packed into N x 16 bits through
dacxData ports and outputs a vector of
N samples through dacx
ports. The block accepts a vector of N samples through
adcx ports and outputs 16-bit samples
packed into N x 16 bits through
adcxData ports based on the
N value. N is the number of samples per clock cycle,
and the possible values of x range from 1 to
m, where m is the maximum number of analog-to-digital
converters (ADCs) or digital-to-analog converters (DACs) available on the selected hardware
board. The block supports a maximum of 16 ADC and 16 DAC data paths connecting to the hardware
logic.
In generation, the SoC Builder tool maps the block parameters to the RF Data Converter IP on the hardware.
The block supports Gen 1, Gen 2, and Gen 3 Zynq® UltraScale+™ RFSoC devices. For a full list of supported devices, see Supported Third-Party Tools and Hardware. For specific Zynq UltraScale+ RFSoC device information, see Zynq UltraScale+ RFSoC Product Information from the Xilinx® website.
adcx — ADC input dataADC input data, specified as a column vector.
x indicates the number of
adc ports and ranges from 1 to m, where
m is the maximum number of ADCs available on the selected
hardware board. The RF interface parameter sets the number of
adc ports. For example, if RF interface is
set to ADC & DAC 2x2 RF Interface, the block has ports
adc1 and adc2, that is, one input port per
ADC channel interface.
Valid values for this port are based on the Digital interface parameter value.
If you set the Digital interface parameter to
Real, specify this value as an
N-element column vector, where N is the
number of samples per clock cycle set by the Samples per clock
cycle parameter.
Use this option to specify real-valued data. For example, consider N equal to 2 and data containing two real values D0 and D1. In this case, specify this port value as a vector of the form [D0 D1].
If you set the Digital interface parameter to
I/Q, specify this value as a
2N-element column vector, where N is the
number of samples per clock cycle set by the Samples per clock
cycle parameter.
Use this option to specify complex-valued data. For example, consider N equal to 2 and data containing two complex values with real parts I0 and I1 and imaginary parts Q0 and Q1, respectively. In this case, specify this port value as a vector of the form [I0 Q0 I1 Q1].
Data Types: int16 | uint16
dacxData — DAC input dataDAC input data, specified as a scalar.
x indicates the number of
dacxData ports and ranges from 1
to m, where m is the maximum number of DACs
available on the selected hardware board. The RF interface
parameter sets the number of dacxData
ports.
For more information about the data format, see Data Format Between RF Data Converter Block and Hardware Logic.
To enable this port, set the Digital interface parameter to
Real.
Data Types: int16 | int32 | int64 | uint16 | uint32 | uint64 | fixed point
dacxIData — Real part of DAC input Real part of DAC input, specified as a scalar.
x indicates the number of
dacxIData ports and ranges from 1
to m, where m is the maximum number of DACs
available on the selected hardware board. The RF interface
parameter sets the number of dacxIData
ports.
For more information about the data format, see Data Format Between RF Data Converter Block and Hardware Logic.
To enable this port, set the Digital interface parameter to
I/Q.
Data Types: int16 | int32 | int64 | uint16 | uint32 | uint64 | fixed point
dacxQData — Imaginary part of DAC inputImaginary part of DAC input, specified as a scalar.
x indicates the number of
dacxQData ports and ranges from 1
to m, where m is the maximum number of DACs
available on the selected hardware board. The RF interface
parameter sets the number of dacxQData
ports.
For more information about the data format, see Data Format Between RF Data Converter Block and Hardware Logic.
To enable this port, set the Digital interface parameter to
I/Q.
Data Types: int16 | int32 | int64 | uint16 | uint32 | uint64 | fixed point
dacxValid — Indication of valid DAC input dataIndication of valid DAC input data, specified as a scalar.
A value of 1 indicates when the data on the
dacxData port is valid or when the
data on the dacxIData and
dacxQData ports is valid.
x indicates the number of
dacxValid ports and ranges from 1
to m, where m is the maximum number of DACs
available on the selected hardware board. The RF interface
parameter sets the number of dacxValid
ports.
Data Types: Boolean
dacx — DAC output dataDAC output data, returned as a column vector.
If you set the Digital interface parameter to
Real, the block returns outputs as a
N-element column vector, where N is the
number of samples per clock cycle set by the Samples per clock
cycle parameter.
For example, consider N equal to 2 and input to the dac1Data port is of size 32 bits. In this case, this port returns a vector [S0 S1], where S0 is a16-bit value sliced from 0 to 15 bits of input data on the dac1Data port and S1 is a 16-bit value sliced from 16 to 31 bits of input data on the dac1Data port.
If you set the Digital interface parameter to
I/Q, the block returns outputs as a
2N-element column vector, where N is the
number of samples per clock cycle set by the Samples per clock
cycle parameter.
For example, consider N equal to 2 and inputs to dac1IData and dac1QData ports are of size 32 bits. In this case, this port returns a vector [I0 Q0 I1 Q1], where I0 is a16-bit value sliced from 0 to 15 bits of input data on the dac1IData port and I1 is a 16-bit value sliced from 16 to 31 bits of input data on the dac1IData port and Q0 is a16-bit value sliced from 0 to 15 bits of input data on the dac1QData port and Q1 is a 16-bit value sliced from 16 to 31 bits of input data on the dac1QData port.
x indicates the number of
dacx ports and ranges from 1 to
m, where m is the maximum number of DACs
available on the selected hardware board. The RF interface
parameter sets the number of dacx
ports.
Data Types: int16
adcxData — ADC output dataADC output data, returned as a scalar.
x indicates the number of
adcxData ports and ranges from 1
to m, where m is the maximum number of ADCs
available on the selected hardware board. The RF interface
parameter sets the number of adcxData
ports.
For more information about the data format, see Data Format Between RF Data Converter Block and Hardware Logic.
To enable this port, set the Digital interface parameter to
Real.
Data Types: uint16 | uint32 | uint64 | fixed point
adcxIData — Real part of ADC outputReal part of ADC output, returned as a scalar.
x indicates the number of
adcxIData ports and ranges from 1
to m, where m is the maximum number of ADCs
available on the selected hardware board. The RF interface
parameter sets the number of adcxIData
ports.
For more information about the data format, see Data Format Between RF Data Converter Block and Hardware Logic.
To enable this port, set the Digital interface parameter to
I/Q.
Data Types: uint16 | uint32 | uint64 | fixed point
adcxQData — Imaginary part of ADC outputImaginary part of ADC output, returned as a scalar.
x indicates the number of
adcxQdata ports and ranges from 1
to m, where m is the maximum number of ADCs
available on the selected hardware board. The RF interface
parameter sets the number of adcxQdata
ports.
For more information about the data format, see Data Format Between RF Data Converter Block and Hardware Logic.
To enable this port, set the Digital interface parameter to
I/Q.
Data Types: uint16 | uint32 | uint64 | fixed point
adcxValid — Indication of valid ADC output dataIndication of valid ADC output data, returned as a scalar.
A value of 1 indicates that the data on the
adcxData port is valid or that the
data on the adcxIData and
adcxQData ports is valid.
x indicates the number of
adcxValid ports
and ranges from 1 to m, where m is the maximum
number of ADCs available on the selected hardware board. The RF
interface sets the number of
adcxValid ports.
Data Types: Boolean
Hardware board — View selected hardwareNone (default) | supported Xilinx boardsThis parameter is read-only.
For details about how to choose a hardware board and configure its parameters, see Hardware Implementation Pane.
RF interface — RF interface selectionADC & DAC 2x2 RF Interface (default) | ADC & DAC 1x1 RF Interface | ADC & DAC 4x4 RF Interface | ADC & DAC 8x8 RF Interface | ADC & DAC 16x16 RF Interface | CustomizeSpecify the RF channel interface type.
To select a predefined set of ADC and DAC combinations, set this parameter to
ADC & DAC 1x1 RF Interface, ADC & DAC
2x2 RF Interface, ADC & DAC 4x4 RF
Interface, ADC & DAC 8x8 RF Interface, or
ADC & DAC 16x16 RF Interface. Available options for
this parameter vary as per the selected hardware board. To select the required number of
DAC or ADC combinations, set this parameter to
Customize.
Example: ADC & DAC 2x2 RF Interface specifies two ADC
and two DAC RF channel interfaces.
Digital interface — Digital interface selectionReal (default) | I/QSpecify the digital interface type.
Real – Supports real data
I/Q – Supports complex data by using real and
imaginary ports
Multi tile sync — Multitile synchronizationoff (default) | onSelect this parameter to enable multitile synchronization (MTS).
In generation, the Xilinx
RF Data Converter tool provides synchronization clocks and ADC and DAC
clocks to the RF Data Converter hardware IP. In MTS mode, these synchronization clocks
depend on the ADC and DAC sampling rates. Because, the Xilinx RF Data
Converter tool provides a set of fixed default synchronization clocks in MTS
mode and supports only these sample rates: 737.28,
1474.56, 1966.08, 2457.6,
2949.12, 3072, 3932.16,
4669.44, 4915.2, 5898.24, and
6144.
For more information on MTS mode, see the Xilinx Documentation PDF.
External PLL — Option to enable external PLLoff (default) | onSelect this parameter to enable the external phase-locked loop (PLL).
Each ADC and DAC tile includes an internal PLL. This internal PLL together with a
clocking instance provides ADC and DAC clocks for each tile as per the ADC or DAC
sampling rates. When you select this parameter, the internal PLL disables, and the
clocking circuit directly provides ADC and DAC clocks for each tile. The Xilinx
RF Data Converter tool supports only these external PLL clock frequencies:
737.28, 1474.56, 1966.08,
2048, 2457.6, 2949.12,
3072, 3194.88, 3276.8,
3686.4, 3932.16, 4096,
4423.68, 4669.44, 4915.2,
5734.4, 5898.24, 6144,
6389.76, 6400, and
6553.6.
The number of panes and number of DACs in each pane in the DAC tab depend on the selected hardware board. For example, if you select the Xilinx Zynq UltraScale+ RFSoC ZCU111 Evaluation Kit, the DAC tab contains two panes (Tile1 and Tile2), and each pane contains four DACs. The tiles and DACs shown on the block mask indicate the corresponding tiles and DACs on the selected hardware board.
The selection of tiles and the respective DACs is predefined when you set the
RF interface parameter to ADC & DAC 1x1 RF
Interface, ADC & DAC 2x2 RF Interface,
ADC & DAC 4x4 RF Interface, ADC & DAC 8x8
RF Interface, or ADC & DAC 16x16 RF
Interface. You cannot modify the tile and DAC selection when you select these
predefined options. To modify the tile and DAC selections, set the RF
interface parameter to Customize.
Match parameters of all DACs — Matching parameters of all DACson (default) | offSelect this parameter to apply the same parameter values to all of the selected DACs.
Clear this parameter to specify different parameter values for each of the selected DACs.
To enable this parameter, set the RF interface parameter to
Customize.
Sample rate (MSPS) — Data sample rate1000 (default) | scalarSpecify the sample rate as a scalar in a range that is based on the selected hardware board. Units are in mega samples per second.
For example, if you select the Xilinx Zynq UltraScale+ RFSoC ZCU111 Evaluation Kit, the sample rate must be in the range [500, 6554].
Interpolation mode (xN) — Interpolation factor2 (default) | 1 | 3 | 4 | 5 | 6 | 8 | 10 | 12 | 16 | 20 | 24 | 40Specify the interpolation factor.
Note
Gen 1 and Gen 2 devices support interpolation factors of 1, 2, 4, and 8. Gen 3 devices support interpolation factors of 1, 2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 24, and 40.
Samples per clock cycle — Number of samples per clock cycle2 (default) | 1 | 3 | 4 | 5 | 6 | 7 | 8Specify the number of samples per clock cycle.
The block calculates the stream data width as 16 x Samples per clock cycle.
The block calculates the stream clock frequency as Sample rate (MSPS) / Interpolation mode (xN) x Samples per clock cycle.
Mixer type — Mixer typeBypassed (default) | Coarse | FineSpecify the mixer type.
To use Bypassed, set the Digital
interface parameter to Real.
To select either Coarse or
Fine, set the Digital interface
parameter to I/Q.
Mixer mode — Mixer mode typeReal->Real (default) | I/Q->RealThis parameter is read-only.
To use Real->Real, set the Digital
interface parameter to Real.
To use I/Q->Real, set the Digital
interface parameter to I/Q.
Mixer frequency — Frequency of mixerFs/2 (default) | Fs/4 | -Fs/4Specify the mixer frequency.
To enable this parameter, set the Digital interface
parameter to I/Q and Mixer type
parameter to Coarse.
NCO frequency (GHz) — NCO frequency[0 0] (default) | integer in the range [–10, 10]Specify the numerically controlled oscillator (NCO) frequency values as an m-element row vector, where m is the number of DACs.
When you set the RF interface parameter to
Customize and clear the Match parameters of all
DACs parameter, m must be 1.
To enable this parameter, set the Digital interface
parameter to I/Q and the Mixer type
parameter to Fine.
NCO phase — NCO phase[0 0] (default) | integer in the range [–180, 180]Specify the NCO phase as an m-element row vector, where m is the number of DACs.
When you set the RF interface parameter to
Customize and clear the Match parameters of all
DACs parameter, m must be 1.
To enable this parameter, set the Digital interface
parameter to I/Q and the Mixer type
parameter to Fine.
Inverse sinc filter — Flat-out responseoff (default) | onSelect this parameter to convert the analog sinc output response from the DAC to a flat-output response.
The number of panes and number of ADCs in each pane in the ADC tab depend on the selected hardware board. For example, if you select the Xilinx Zynq UltraScale+ RFSoC ZCU111 Evaluation Kit, the ADC tab contains four panes (Tile1, Tile2, Tile3, and Tile4), and each pane contains two ADCs. The tiles and ADCs shown on the block mask indicate the corresponding tiles and ADCs on the selected hardware board.
The selection of tiles and the respective ADCs is predefined when you set the
RF interface parameter to ADC & DAC 1x1 RF
Interface, ADC & DAC 2x2 RF Interface,
ADC & DAC 4x4 RF Interface, ADC & DAC 8x8
RF Interface, or ADC & DAC 16x16 RF
Interface. You cannot modify the tile and ADC selection when you select these
predefined options. To modify the tile and ADC selections, set the RF
interface parameter to Customize.
Match parameters of all ADCs — Matching parameters of all ADCson (default) | offSelect this parameter to apply the same parameter values to all of the selected ADCs.
Clear this parameter to specify different parameter values for each of the selected ADCs.
To enable this parameter, set the RF interface parameter to
Customize.
Sample rate (MSPS) — Data sample rate1000 (default) | scalarSpecify the sample rate as a scalar in a range that is based on the selected hardware board. Units are in mega samples per second.
For example, if you select the Xilinx Zynq UltraScale+ RFSoC ZCU111 Evaluation Kit, the sample rate must be in the range [1000, 4096].
Decimation mode (xN) — Decimation factor2 (default) | 1 | 3 | 4 | 5 | 6 | 8 | 10 | 12 | 16 | 20 | 24 | 40Specify the decimation factor.
Note
Gen 1 and Gen 2 devices support decimation factors of 1, 2, 4, and 8. Gen 3 devices support decimation factors of 1, 2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 24, and 40.
Samples per clock cycle — Number of samples per clock cycle2 (default) | 1 | 3 | 4 | 5 | 6 | 7 | 8Specify the number of samples per clock cycle.
The block calculates the stream data width as: 16 x Samples per clock cycle.
The block calculates the stream clock frequency as: Sample rate (MSPS) / Decimation mode (xN) x Samples per clock cycle.
Mixer type — Mixer typeBypassed (default) | Coarse | FineSpecify the mixer type.
To use Bypassed, set the Digital
interface parameter to Real.
To select either Coarse or
Fine, set the Digital interface
parameter to I/Q.
Mixer mode — Mixer mode typeReal->Real (default) | Real->I/QThis parameter is read-only.
To use Real->Real, set the Digital
interface parameter to Real.
To use Real->I/Q, set the Digital
interface parameter to I/Q.
Mixer frequency — Frequency of mixerFs/2 (default) | Fs/4 | -Fs/4Specify the mixer frequency.
To enable this parameter, set the Digital interface
parameter to I/Q and Mixer type
parameter to Coarse.
NCO frequency (GHz) — NCO frequency[0 0] (default) | integer in the range [–10, 10]Specify the numerically controlled oscillator (NCO) frequency values as an m-element row vector, where m is the number of ADCs.
When you set the RF interface parameter to
Customize and clear the Match parameters of all
ADCs parameter, m must be 1.
To enable this parameter, set the Digital interface
parameter to I/Q and Mixer type
parameter to Fine.
NCO phase — NCO phase[0 0] (default) | integer in the range [–180, 180]Specify the NCO phase as an m-element row vector, where m is the number of ADCs.
When you set the RF interface parameter to
Customize and clear the Match parameters of all
ADCs parameter, m must be 1.
To enable this parameter, set the Digital interface
parameter to I/Q and Mixer type
parameter to Fine.
In general, the interface from the hardware logic to the ADC and DAC operates at a single sample per clock cycle. However, the RF Data Converter block can operate on single or multiple samples per clock cycle, where each sample is of 16 bits. You must select the number of samples per clock cycle based on your input data.
For example, to send four samples per clock cycle, first concatenate these samples.
Then, provide the concatenation as a 64-bit input to the block and set the Samples
per clock cycle parameter to 4. The block outputs 64-bit
data, which comprises four 16-bit samples.
These figures show the input format to the DAC and the output format from the ADC when
the RF interface parameter is set to ADC & DAC 1x1 RF
Interface and the Digital interface parameter is set to
Real.


These figures show the input format to the DAC and the output format from the ADC when
the RF interface parameter is set to ADC & DAC 1x1 RF
Interface and the Digital interface parameter is set to
I/Q.


Behavior changed in R2020b
In R2020a, the RF Data Converter block has two valid ports
adcxIValid and
adcxQValid corresponding to I and Q
data ports adcxIData
and adcxQdata,
respectively.
In R2020b, the two valid output ports
adcxIValid and
adcxQValid are removed and replaced
with one output port adcxValid that
corresponds to both I and Q data ports. When you open a model containing an RF Data
Converter block that was created in R2020a and has its Digital
interface parameter set to I/Q, the output ports of
the block might not be correctly connected.
In this case, manually check and correct the port connections in your model to proceed further.
To automatically generate HDL code for your design and execute on an SoC device, use the SoC Builder tool.

