Command List - UG1433

Zynq UltraScale+ RFSoC ZCU208 and ZCU216 RF Data Converter Evaluation Tool User Guide (UG1433)

Document ID
UG1433
Release Date
2024-09-26
Revision
1.4 English

The commands supported by the evaluation tool are classified as basic commands, RFDC IP commands, board control commands, and PL data and control commands. The following table lists the supported commands.

Table 1. Command List
Command Input Parameters Output Parameters Description
Basic Commands
GUI_Title None Rftool Version Rftool version, for example, (RFEvalTool v2024.1).
RfdcVersion None Version Number(s) RFdc API version.
Version None Rftool Version Rftool version.
TermMode Mode None Switch between UI mode (mode=0) and Interactive mode (mode=1). Interactive mode prints more status information to the terminal and should not be used with the evaluation tool GUI.
GetLog None Logged Strings Uses metal_log to return any error, warning, or informational messages returned from the API or command interface.
JtagIdcode None Idcode Return the device JTAG IDCODE.
Help None None Print help on command interface.
Disconnect None None
RFDC IP Commands
GetBlockStatus

Type, Tile, Block

Type, Tile, Block,
BlockStatus.SamplingFreq,
BlockStatus.AnalogDataPathStatus,
BlockStatus.DigitalDataPathStatus,
BlockStatus.DataPathClocksStatus,
BlockStatus.IsFIFOFlagsAsserted,
BlockStatus.IsFIFOFlagsEnabled

Cf. PG269
GetCalFreeze Tile, Block

Tile, Block,
CalFreezePtr.CalFrozen,
CalFreezePtr.DisableFreezePin,
CalFreezePtr.FreezeCalibration

Cf. PG269
GetCalibrationMode Tile, Block Tile, Block,

CalibrationMode

Cf. PG269
GetClkDistribution None

DistributionSettings.Distributions[i].SourceType
DistributionSettings.Distributions[i].SourceTileId
DistributionSettings.Distributions[i].EdgeTileIds[0]
DistributionSettings.Distributions[i].EdgeTileIds[1]
DistributionSettings.Distributions[i].EdgeTypes[0]
DistributionSettings.Distributions[i].EdgeTypes[1]
DistributionSettings.Distributions[i].DistRefClkFreq
DistributionSettings.Distributions[i].DistributedClock
DistributionSettings.Distributions[i].SampleRates[0][0]
DistributionSettings.Distributions[i].SampleRates[0][1]
DistributionSettings.Distributions[i].SampleRates[0][2]
DistributionSettings.Distributions[i].SampleRates[0][3]
DistributionSettings.Distributions[i].SampleRates[1][0]
DistributionSettings.Distributions[i].SampleRates[1][1]
DistributionSettings.Distributions[i].SampleRates[1][2]
DistributionSettings.Distributions[i].SampleRates[1][3]
DistributionSettings.Distributions[i].ShutdownMode
DistributionSettings.Distributions[i].Info.MaxDelay
DistributionSettings.Distributions[i].Info.MinDelay
DistributionSettings.Distributions[i].Info.IsDelayBalanced
DistributionSettings.Distributions[i].Info.Source
DistributionSettings.Distributions[i].Info.UpperBound
DistributionSettings.Distributions[i].Info.LowerBound
DistributionSettings.Distributions[i].Info.ClkSettings[0][0].PLLEnable
DistributionSettings.Distributions[i].Info.ClkSettings[0][1].PLLEnable
DistributionSettings.Distributions[i].Info.ClkSettings[0][2].PLLEnable
DistributionSettings.Distributions[i].Info.ClkSettings[0][3].PLLEnable
DistributionSettings.Distributions[i].Info.ClkSettings[1][0].PLLEnable
DistributionSettings.Distributions[i].Info.ClkSettings[1][1].PLLEnable
DistributionSettings.Distributions[i].Info.ClkSettings[1][2].PLLEnable
DistributionSettings.Distributions[i].Info.ClkSettings[1][3].PLLEnable
With "i" the distribution number

Cf. PG269
GetClockSource Type, Tile

Type, Tile,
ClockSource

Cf. PG269
GetCoarseDelaySettings Type, Tile, Block

Type, Tile, Block,
Settings.CoarseDelay,
Settings.EventSource

Cf. PG269
GetConnectedData Type, Tile, Block

Type, Tile, Block,
ConnectedIData,
ConnectedQData

Cf. PG269
GetDACCompMode Tile, Block

Tile, Block,
EnablePtr

Cf. PG269
GetDataPathMode Tile, Block

Tile, Block,
Mode

Cf. PG269
GetDecimationFactor Tile, Block

Tile, Block,
DecimationFactor

Cf. PG269
GetDecimationFactorObs Tile, Block

Tile, Block,
DecimationFactor

Cf. PG269
GetDecoderMode Tile, Block

Tile, Block,
DecoderMode

Cf. PG269
GetDither Tile, Block

Tile, Block,
Mode

Cf. PG269
GetDSA Tile, Block

Tile, Block,
SettingsPtr.DisableRTS,
SettingsPtr.Attenuation

Cf. PG269
GetFabClkOutDiv Type, Tile

Type, Tile,0
FabClkDiv

Cf. PG269
GetFabRdVldWords Type, Tile, Block

Type, Tile, Block,
FabricDataRate

Cf. PG269
GetFabWrVldWords Type, Tile, Block

Type, Tile, Block,
FabricDataRate

Cf. PG269
GetFabWrVldWordsObs Type, Tile, Block

Type, Tile, Block,
FabricDataRate

Cf. PG269
GetFabRdVldWordsObs Type, Tile, Block

Type, Tile, Block,
FabricDataRate

Cf. PG269
GetFIFOStatus Type, Tile

Type, Tile,
Enable

Cf. PG269
GetFIFOStatusObs Type, Tile

Type, Tile, Enable
Cf. PG269
GetIMRPassMode Tile, Block

Tile, Block,
Mode

Cf. PG269
GetInterpolationFactor Tile, Block

Tile, Block,
InterpolationFactor

Cf. PG269
GetIntrStatus Type, Tile, Block

Type, Tile, Block, IntrStatus
Cf. PG269
GetInvSincFIR Tile, Block

Tile, Block, Enable
Cf. PG269
GetIPStatus None

First all DAC tile,

IpStatus.DACTileStatus[Tile].IsEnabled,
IpStatus.DACTileStatus[Tile].TileState,
IpStatus.DACTileStatus[Tile].BlockStatusMask,
IpStatus.DACTileStatus[Tile].PowerUpState,
IpStatus.DACTileStatus[Tile].PLLState

Then all ADC tile,

IpStatus.ADCTileStatus[Tile].IsEnabled,
IpStatus.ADCTileStatus[Tile].TileState,
IpStatus.ADCTileStatus[Tile].BlockStatusMask,
IpStatus.ADCTileStatus[Tile].PowerUpState,
IpStatus.ADCTileStatus[Tile].PLLState,

Finally:

IpStatus.State

Cf. PG269
GetLinkCoupling Tile, Block

Tile, Block,
Mode

Cf. PG269
GetMixerSettings Type, Tile, Block

Type, Tile, Block,
Mixer_Settings.Freq,
Mixer_Settings.PhaseOffset,
Mixer_Settings.EventSource,
Mixer_Settings.CoarseMixFreq,
Mixer_Settings.MixerMode,
Mixer_Settings.FineMixerScale,
Mixer_Settings.MixerType

Cf. PG269
GetMTSEnable Type, Tile

Type, Tile,
Enable

Cf. PG269
GetNyquistZone Type, Tile, Block

Type, Tile, Block,
NyquistZone

Cf. PG269
GetOutputCurr Tile, Block

Tile, Block,
OutputCurr

Cf. PG269
GetPLLConfig Type, Tile Type, Tile, Cf. PG269
GetPLLLockStatus Type, Tile

Type, Tile,
LockStatus

Cf. PG269
GetQMCSettings Type, Tile, Block

Type, Tile, Block,
QMC_Settings.EnablePhase,
QMC_Settings.EnableGain,
QMC_Settings.GainCorrectionFactor,
QMC_Settings.PhaseCorrectionFactor,
QMC_Settings.OffsetCorrectionFactor,
QMC_Settings.EventSource

Cf. PG269
GetThresholdSettings Tile, Block

Tile, Block,
ThresholdSettings.UpdateThreshold
ThresholdSettings.ThresholdMode[0],
ThresholdSettings.ThresholdMode[1],
ThresholdSettings.ThresholdAvgVal[0],
ThresholdSettings.ThresholdAvgVal[1],
ThresholdSettings.ThresholdUnderVal[0],
ThresholdSettings.ThresholdUnderVal[1],
ThresholdSettings.ThresholdOverVal[0],
ThresholdSettings.ThresholdOverVal[1]

Cf. PG269
GetSignalDetector Tile, Block

Tile, Block,
Mode,
TimeConstant,
Flush,
EnableIntegrator,
Threshold,
ThreshOnTriggerCnt,
ThreshOffTriggerCnt,
HysteresisEnable

Cf. PG269
GetDACPower Board_id, Tile

Board_id, Tile,
value_1,
value_2,
value_3,
value_4,
value_5

Cf. PG269
IntrClr

Type, Tile, Block,
IntrMask

None Cf. PG269
IntrDisable

Type, Tile, Block,
IntrMask

None Cf. PG269
IntrEnable

Type, Tile, Block,
IntrMask

None Cf. PG269
MTS_Sysref_Config

Enable,
dac_tiles,
adc_tiles

DAC_Sync_Config.Target_Latency,
DAC_Sync_Config.Offset[Tile],
DAC_Sync_Config.Latency[Tile],
DAC_Sync_Config.Marker_Delay,
DAC_Sync_Config.SysRef_Enable,
ADC_Sync_Config.Target_Latency,
ADC_Sync_Config.Offset[Tile],
ADC_Sync_Config.Latency[Tile],
ADC_Sync_Config.Marker_Delay,
ADC_Sync_Config.SysRef_Enable

Cf. PG269
MultiConverter_Init Type, Tile_ref None Cf. PG269
MultiConverter_Sync

Type, ADC_Sync_Config.Target_Latency,
DAC_Sync_Config.Target_Latency, Tile

Sync_config.Target_Latency,
Sync_config.Offset[Tile],
Sync_config.Latency[Tile],
Sync_config.Marker_Delay,
Sync_config.SysRef_Enable

Cf. PG269
Reset Type, Tile None Cf. PG269
ResetNCOPhase Type, Tile, Block None Cf. PG269
RF_ReadReg16 Offset Value Cf. PG269
RF_ReadReg32 Offset Value Cf. PG269
RF_WriteReg16 Offset, Value None Cf. PG269
RF_WriteReg32 Offset, Value None Cf. PG269
SetCalFreeze


Tile, Block,
CalFreezePtr.FreezeCalibration, CalFreezePtr.DisableFreezePin

None Cf. PG269
SetCalibrationMode

Tile, Block,
Calibration Mode

None Cf. PG269
SetClkDistribution

Distribution_Settings.SourceTileId
Distribution_Settings.SourceType
Distribution_Settings.EdgeTileIds[0]
Distribution_Settings.EdgeTileIds[1]
Distribution_Settings.EdgeTypes[0]
Distribution_Settings.EdgeTypes[1]
Distribution_Settings.DistRefClkFreq
Distribution_Settings.DistributedClock
Distribution_Settings.SampleRates[0][0]
Distribution_Settings.SampleRates[0][1]
Distribution_Settings.SampleRates[0][2]
Distribution_Settings.SampleRates[0][3]
Distribution_Settings.SampleRates[1][0]
Distribution_Settings.SampleRates[1][1]
Distribution_Settings.SampleRates[1][2]
Distribution_Settings.SampleRates[1][3]
Distribution_Settings.ShutdownMode

None

Cf. PG269

SetCoarseDelaySettings

Type, Tile, Block,
Settings.CoarseDelay,
Settings.EventSource

None Cf. PG269
SetDACPowerMode

Board_id, Tile, Block,
op_current

Board_id, Tile, Block,
op_current

Cf. PG269
SetDACVOP

Tile, Block,
uACurrent

None Cf. PG269
SetDataPathMode

Tile, Block,
Mode

None

Cf. PG269
SetDecimationFactor

Tile, Block,
Decimation Factor

None Cf. PG269
SetDecimationFactorObs

Tile, Block,
Decimation Factor

None Cf. PG269
SetDecoderMode

Tile, Block,
Decoder Mode

None Cf. PG269
SetDither

Tile, Block,
Mode

None

Cf. PG269
SetDSA

Tile, Block,
DisableRTS,
Attenuation

None

Cf. PG269
SetFabClkOutDiv

Type, Tile,
FabClkDiv

None Cf. PG269
SetFabRdVldWords

Tile, Block,
FabricDataRate

None Cf. PG269
SetFabRdVldWordsObs

Tile, Block,
FabricDataRate

None Cf. PG269
SetFabWrVldWords

Tile, Block,
FabricDataRate

None Cf. PG269
SetIMRPassMode

Tile, Block, Mode

Tile, Block,
Mode

Cf. PG269
SetInterpolationFactor

Tile, Block,
InterpolationFactor

None Cf. PG269
SetInvSincFIR

Tile, Block,
Enable

None Cf. PG269
SetMixerSettings

Type, Tile, Block
Mixer_Settings.Freq,
Mixer_Settings.PhaseOffset,
Mixer_Settings.EventSource,
Mixer_Settings.CoarseMixFreq,
Mixer_Settings.MixerMode,
Mixer_Settings.FineMixerScale,
Mixer_Settings.MixerType

None Cf. PG269
SetMMCMReg

Type, Tile,
Mult,
Mult_frac,
Div,
clkout0_div,
clkout0_frac

None Cf. PG269
SetNyquistZone

Type, Tile,
Block, NyquistZone

None Cf. PG269
SetQMCSettings

Type, Tile, Block,
QMC_Settings.EnablePhase,
QMC_Settings.EnableGain,
QMC_Settings.GainCorrectionFactor,
QMC_Settings.PhaseCorrectionFactor,
QMC_Settings.OffsetCorrectionFactor,
QMC_Settings.EventSource

None Cf. PG269
SetThresholdSettings

Tile, Block,
ThresholdSettings.UpdateThreshold,
ThresholdSettings.ThresholdMode[0],
ThresholdSettings.ThresholdMode[1],
ThresholdSettings.ThresholdAvgVal[0],
ThresholdSettings.ThresholdAvgVal[1],
ThresholdSettings.ThresholdUnderVal[0],
ThresholdSettings.ThresholdUnderVal[1],
ThresholdSettings.ThresholdOverVal[0],
ThresholdSettings.ThresholdOverVal[1]

None Cf. PG269
SetSignalDetector

Tile, Block,
Mode,
TimeConstant,
Flush,
EnableIntegrator,
Threshold,
ThreshOnTriggerCnt,
ThreshOffTriggerCnt,
HysteresisEnable

None Cf. PG269
SetupFIFO

Type, Tile,
Enable

None Cf. PG269
SetupFIFOObs

Type, Tile,
Enable

None Cf. PG269
Shutdown Type, Tile None Cf. PG269
StartUp Type, Tile None Cf. PG269
CustomStartup

Type, Tile,
StartState,
EndState

None Cf. PG269
UpdateEvent

Type, Tile, Block,
Event

None Cf. PG269
DynamicPLLConfig

Type, Tile,
Source,
RefClkFreq,
SamplingRate

RefClkDivider,
FeedbackDivider,
OutputDivider

Cf. PG269
MultiBand

Type, Tile,
DigitalDataPathMask,
DataType,
DataConverterMask

Type, Tile,
DigitalDataPathMask,
DataType,
DataConverterMask

Cf. PG269
SetCalCoefficients

Tile, Block,
CalBlock, Coeffs.Coeff0, Coeffs.Coeff1, Coeffs.Coeff2, Coeffs.Coeff3, Coeffs.Coeff4, Coeffs.Coeff5, Coeffs.Coeff6, Coeffs.Coeff7

None Cf. PG269
GetCalCoefficients Tile, Block, CalBlock

Tile, Block, CalBlock,
Coeffs.Coeff0, Coeffs.Coeff1, Coeffs.Coeff2, Coeffs.Coeff3, Coeffs.Coeff4, Coeffs.Coeff5, Coeffs.Coeff6, Coeffs.Coeff7

Cf. PG269
DisableCoefficientsOverride Tile, Block, CalBlock None Cf. PG269
SetDACCompMode

Tile, Block,
Enable

None

Cf. PG269
GetEnabledInterrupts Type, Tile, Block

Type, Tile, Block,
IntrMask

Cf. PG269
SetDACDataScaler

Tile, Block,
Enable

None Cf. PG269
GetDACDataScaler Tile, Block

Tile, Block,
Enable

Cf. PG269
Board Control Commands
GetExtPllConfig

Board_id = 3 for 216, 4 for 208,
pll_src = 0 or 1 depending on target LMX

Freq Return the current frequency of the LMX.
GetExtParentClkList Board_id = 3 for 216, 4 for 208 LMK_FREQ_LIST[LMK_FREQ_NUM] Return a list of frequencies available for the LMK.
GetExtParentClkConfig Board_id = 3 for 216, 4 for 208 LMKCurrentFreq Return the current LMK frequency.
GetExtPllFreqList

Board_id = 3 for 216, 4 for 208,
pll_src = 0 or 1 depending on target LMX

ADC_FREQ_LIST[LMX_ADC_NUM]
or
DAC_FREQ_LIST[LMX_DAC_NUM]
depending on Pll_Src

Return a list of allowed values for the LMX.
rfclkReadReg

Board_id = 3 for 216, 4 for 208,
chip_id = 0 or 1 for LMX, 2 for LMK,
reg_addr

Board_id,
chip_id,
reg_addr,
data

Read a register from the LMK/LMX.
rfclkWriteReg

Board_id = 3 for 216, 4 for 208,
chip_id = 0 or 1 for LMX, 2 for LMK,
reg_addr, data

Board_id,
chip_id,
reg_addr,
data

Write a register from the LMK/LMX with the following parameters:

Board_id (always 0)

chip_id ( 0 :PLL ADC, 1 PLL DAC, 2: LMK)

reg_addr (register address from the TCS file)

data (data from the TCS file)

SetExtParentclk

Board_id = 3 for 216, 4 for 208,
freq

Board_id,
freq

Configure LMK clock with requested frequency.
SetExtPllClkRate

Board_id = 3  for 216, 4 for 208,
pll_src = 0 or 1 depending on target LMX,
freq

Board_id,
Pll_Src,
freq

Configure PLL (LMX) with requested frequency.
PL Data and Control Commands
GetMemtype Type, Tile Memtype Get selected memory type (block RAM or DDR).
SetLocalMemSample

Type, Tile, Block,
numsamples

None Set the number of samples to be generated or captured.
SetMemtype

Type, Tile,
mem_type

Error code on failure Set memory type to DDR (0) or block RAM (1).
SetMMCM Type, Tile

None

Reconfigure the MMCM according to the tile settings, block 0 of this tile, and Fs.
MTS_Setup

Type,
Enable

None Setup the clocking scheme for multi-tile synchronization feature.
SetMMCMFin

Type, Tile,
Fplin

None

Reconfigure the MMCM based on tile settings, block 0 of this tile, and Fplin (user fabric clock input).
GetMMCMFin Type, Tile

Type, Tile,
MMCMFin

Returns the current MMCM frequency input.
GetMTS_Setup Type

Type,
Tile_Mask

Get the current clocking scheme for all tiles (standard or MTS).
GetMMCMReg Type, Tile

Type, Title, Lock,
Mult,
MultFrac,
Div,
Clk0Div,
Clk0DivFrac,
Clk1Div

Get the MMCM settings.
MMCM_Rst Type, Tile None Reset the MMCM.
LocalMemInfo Type

Type,
memBaseAddr,
numTiles,
numMem,
memSize,
numWords,
mem_enable,
mem_clksel

Get information on the memory.
LocalMemTrigger

Type,
clksel,
numsamples,
rfdc_ch

None Trigger the memory channel according to the mask rfdc_ch.
LocalMemAddr Type, Tile, Block

Type,
Tile,
Block,
Addr_I,
Addr_Q

Get the memory addresses associated with the tile and block.
WriteDataToMemory

Tile, Block,
number of bytes,
interleaved pair

None In this case, the buffer address is allocated by Linux (CMA pool) from PS DDR and firmware writes the data to the buffer by reading data from a socket.
ReadDataFromMemory

Tile, Block,
number of bytes,
interleaved pair

None In this case, the buffer address is allocated by Linux (CMA pool) from PL DDR and firmware reads the data from the buffer and sends it to a socket. In this command, the number of bytes should be aligned to 32.
SetTDDRTSPinCtrl

Type,
TDD_ModePin

None Set the channel to control, LSB channel 0, MSB channel 15.
GetTDDRTSPinCtrl Type


TDD_ModePin

Get the channel to control, LSB channel 0, MSB channel 15.
GetTDDRTSTrigDelay Tile Trig_Delay Get the trigger delay for ADC per tile. This is the delay between the TDD trigger (from SetTDDRTSTrigSlot) to the hw_trigger of the capture memory. Delay in AXI control clock cycles (slow clock), then resync to tile clock.
SetTDDRTSTrigDelay

Tile,
Trig_Delay

None Set the trigger delay for ADC per tile. This is the delay between the TDD trigger (from SetTDDRTSTrigSlot) to the hw_trigger of the capture memory. Delay in AXI control clock cycles (slow clock), then resync to tile clock.
SetTDDRTSTrig Trig None Set the trigger. 0: stop triggering the memory automatically via hw_trigger. 1: enable triggering of capture memories.
GetTDDRTSTrig None Trig Get the trigger. 0: stop triggering the memory automatically via hw_trigger. 1: enable triggering of capture memories.
SetTDDRTSTrigSlot

trig_symbol,
trig_ofdm

None Set the frame and symbol to trigger on.
GetTDDRTSTrigSlot None

trig_symbol,
trig_ofdm

Get the frame and symbol to trigger on.
GetTDDRTSSlot None

Guard_Length,
Symbol_Length,
Slot_Config

Get configuration of guard band, symbol length, and slot configuration (UL/DL).
SetTDDRTSSlot

Guard_Length,
Symbol_Length,
Slot_Config

None Set configuration of guard band, symbol length, and slot configuration (UL/DL).
GetTDDRTSEnables None Enable Read the enable/disable hw_trigger_en on capture mem, per tile.
SetTDDRTSEnables Enable None Set the enable/disable hw_trigger_en on capture mem, per tile.
SetTDDRTSRst Reset None Reset the counters in the TDD block.
GetTDDRTSRst None Reset Read the reset register.