XRFDC macro parameters

Hi everyone, I was going through Xilinx documentation and PYNQ source code, and I came across the list of macro parameters included in the xrfdc package, as shown here:

# Some of our more important #define constants
CLK_SRC_PLL = 0x1
CLK_SRC_EXT = 0x2

EVNT_SRC_IMMEDIATE = 0x00000000
EVNT_SRC_SLICE     = 0x00000001
EVNT_SRC_TILE      = 0x00000002
EVNT_SRC_SYSREF    = 0x00000003
EVNT_SRC_MARKER    = 0x00000004
EVNT_SRC_PL        = 0x00000005
EVENT_MIXER        = 0x00000001
EVENT_CRSE_DLY     = 0x00000002
EVENT_QMC          = 0x00000004

MIXER_MODE_OFF = 0x0
MIXER_MODE_C2C = 0x1
MIXER_MODE_C2R = 0x2
MIXER_MODE_R2C = 0x3
MIXER_MODE_R2R = 0x4

MIXER_TYPE_COARSE = 0x1
MIXER_TYPE_FINE   = 0x2
MIXER_TYPE_OFF    = 0x3

COARSE_MIX_OFF                     = 0x0
COARSE_MIX_SAMPLE_FREQ_BY_TWO      = 0x2
COARSE_MIX_SAMPLE_FREQ_BY_FOUR     = 0x4
COARSE_MIX_MIN_SAMPLE_FREQ_BY_FOUR = 0x8
COARSE_MIX_BYPASS                  = 0x10

MIXER_SCALE_AUTO = 0x0
MIXER_SCALE_1P0  = 0x1
MIXER_SCALE_0P7  = 0x2

FAB_CLK_DIV1   = 0x1
FAB_CLK_DIV2   = 0x2
FAB_CLK_DIV4   = 0x3
FAB_CLK_DIV8   = 0x4
FAB_CLK_DIV16  = 0x5

THRESHOLD_CLRMD_MANUAL_CLR = 0x1
THRESHOLD_CLRMD_AUTO_CLR   = 0x2
TRSHD_OFF                  = 0x0
TRSHD_STICKY_OVER          = 0x1
TRSHD_STICKY_UNDER         = 0x2
TRSHD_HYSTERISIS           = 0x3

However, I don’t think this list is complete, but I also could not find a complete version of this list anywhere. I would really appreciate if anyone can share a more complete version of this list when possible.

Best,
Zhimu

As a follow up: for anyone who’s using PYNQ on the RFSoC’s, there is no need looking into these macro parameters. Once the RFDC is configured correctly using Vivado, all DAC’s and ADC’s will run by themselves when the bitstream file is uploaded.

1 Like