RFSoC 4x2 Bypassing mixer and saving sampled data to a file

PYNQ version 3.0.1
Board name: RFSoC 4x2
Vivado version: Vivado 2022.1

Aim: I would like to sample a real signal with different frequencies using ADC and print the sampled data in jupyter notebook.

Problems:

  1. I am unable to bypass the mixer using pynq(python) so, I tried to modify the base.tcl design and followed the discussion I have encountered the same issues but I am unable to solve the final issue to reset output products as mentioned discussion even after I went to sources → IP Sources → base → reset output products I am getting the same issue again. Am I doing the last step wrong because the discussion is not clear when he said

Note: I have tried without modifying the base.tcl even then I ran into the same error again.

  1. Will it be ok if I just changed the ADC mixer to bypass mode without changing any connections in the base design and use the bit stream generated to sample real data?

  2. How to program the adc_clk so that I can sample at variable frequencies rather than the default one.

Any suggestions or replies can help.

Thank you.

Cheers.

You can bypass the mixers anytime with xrfdc software drivers. It has nothing to do with the hardware design.

You can check out the xrfdc driver and its python wrappers. For example:

adc_block.MixerSettings = {
            'CoarseMixFreq':  xrfdc.COARSE_MIX_BYPASS,
            'EventSource':    xrfdc.EVNT_SRC_TILE,
            'FineMixerScale': xrfdc.MIXER_SCALE_1P0,
            'Freq':           0,
            'MixerMode':      xrfdc.MIXER_MODE_R2C,
            'MixerType':      xrfdc.MIXER_TYPE_COARSE,
            'PhaseOffset':    0.0
        }

Not sure if this would work. I just copied and modified this snippet from here.