# ZCU111 DAC ADC Loopback keep getting stuck

**URL:** <https://discuss.pynq.io/t/zcu111-dac-adc-loopback-keep-getting-stuck/9123>\
**Category:** Support\
**Created:** [July 3, 2026, 10:41am UTC](https://discuss.pynq.io/t/zcu111-dac-adc-loopback-keep-getting-stuck/9123 "2026-07-03T10:41:39Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![HIMANSHU\_HIMANSHU](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/himanshu_himanshu/32/7619_2.png) [@HIMANSHU\_HIMANSHU](https://discuss.pynq.io/u/HIMANSHU_HIMANSHU)\
**Post date:** [July 3, 2026, 10:41am UTC](https://discuss.pynq.io/t/zcu111-dac-adc-loopback-keep-getting-stuck/9123/1 "2026-07-03T10:41:39Z")

</div>

PYNQ Version : 3.0.1

Vivado version 2022.1

I am trying to build a simple ADC and DAC loopback setup for ZCU111 and getting stuck in the dac configuration step.

```python
import numpy as np
import scipy
import scipy.io
import scipy.signal
import matplotlib.pyplot as plt

from scipy.signal import welch

import os
os.environ['BOARD'] = 'ZCU111'          

import pynq
from pynq import allocate
from pynq import Overlay

import xrfclk
import xrfdc

from time import sleep

SAMPLING_RATE = 4096 # MHz

INTERPOLATION_FACTOR = 8   
DECIMATION_FACTOR = 8      

CARRIER_FREQUENCY = 300 # MHz

NYQUIST_ZONE = 1

base = Overlay('sin_loopback/loopback_sin_zcubit')
rfdc = base.usp_rf_data_converter_0

def init_rf_clks(lmk_freq=122.88, lmx_freq=409.6): # was 245.76 / 491.52
    xrfclk.set_ref_clks(lmk_freq=lmk_freq, lmx_freq=lmx_freq)

init_rf_clks()

dac_tile = rfdc.dac_tiles[0]                        
dac_tile.DynamicPLLConfig(1, 409.6, 4096) <---- Get stuck here         
dac_block = dac_tile.blocks[0]
dac_block.NyquistZone = NYQUIST_ZONE
dac_block.MixerSettings['Freq'] = CARRIER_FREQUENCY
dac_block.UpdateEvent(xrfdc.EVENT_MIXER)
dac_tile.SetupFIFO(True)
dac_tile.StartUp()

```

My block design:

 ![image](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/6/6352af47d582de0bbbb5ee83b66b2e452ba82ce3.png)

ADC and DAC Settings (ADC tile 226 and DAC tile 228):

**ADC**  
Digital Output Data = I/Q  
Decimation = 8x  
SPC = 2  
Required Clock = 256 MHz  
Mixer = Fine, Real → I/Q

**DAC**  
Analog Output Data = Real  
Interpolation = 8x  
SPC = 4  
Required Clock = 256 MHz  
Mixer = Fine, I/Q → Real

**System clocking:**

**ADC 226**  
Sampling Rate = 4.096 GSPS  
Max Fs = 4.096 GSPS  
PLL = Check  
Reference Clock = 409.600 MHz  
PLL Ref Clock = 409.6 MHz  
Fabric Clock = 256 MHz  
Clock Out = 256 MHz

**ADC 226**  
Sampling Rate = 4.096 GSPS  
Max Fs = 4.096 GSPS  
PLL = Check  
Reference Clock = 409.600 MHz  
PLL Ref Clock = 409.6 MHz  
Fabric Clock = 256 MHz  
Clock Out = 256 MHz

And also the SPI ports are enabled; I have checked them.

One thing to note is my DS45 LED light is not on, which should be ON. I checked the jumper J110 that is there, which is required, but it still doesn’t work. Although I do not get any error for setting the PLL clock as stated above in the code.

Any help would mean a lot; I have been stuck here for days.

---

<div class="post-metadata">

**Author:** ![joshgoldsmith](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/joshgoldsmith/32/5347_2.png) [@joshgoldsmith](https://discuss.pynq.io/u/joshgoldsmith)\
**Post date:** [July 6, 2026, 10:15am UTC](https://discuss.pynq.io/t/zcu111-dac-adc-loopback-keep-getting-stuck/9123/2 "2026-07-06T10:15:47Z")

</div>

This is almost certainly a clocking issue. Are you sure you have the correct clock file for the LMX clock that uses a frequency of 409.6 MHz with an input clock of 122.88 MHz from the LMK?

Where did you get the 409.6 MHz clock file from?

---

<div class="post-metadata">

**Author:** ![HIMANSHU\_HIMANSHU](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/himanshu_himanshu/32/7619_2.png) [@HIMANSHU\_HIMANSHU](https://discuss.pynq.io/u/HIMANSHU_HIMANSHU)\
**Post date:** [July 6, 2026, 10:35am UTC](https://discuss.pynq.io/t/zcu111-dac-adc-loopback-keep-getting-stuck/9123/3 "2026-07-06T10:35:36Z")

</div>

I didn’t check that. I thought this came with xrfclk, and it didn’t even give an error while setting it to 409.6 MHz. Otherwise, if we set an unavailable frequency, it will throw an error.

---

<div class="post-metadata">

**Author:** ![joshgoldsmith](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/joshgoldsmith/32/5347_2.png) [@joshgoldsmith](https://discuss.pynq.io/u/joshgoldsmith)\
**Post date:** [July 7, 2026, 9:13am UTC](https://discuss.pynq.io/t/zcu111-dac-adc-loopback-keep-getting-stuck/9123/4 "2026-07-07T09:13:20Z")

</div>

Can you build the design using the default 122.88 MHz LMK and 491.52 MHz LMX clock frequencies?

---

<div class="post-metadata">

**Author:** ![HIMANSHU\_HIMANSHU](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/himanshu_himanshu/32/7619_2.png) [@HIMANSHU\_HIMANSHU](https://discuss.pynq.io/u/HIMANSHU_HIMANSHU)\
**Post date:** [July 11, 2026, 4:21am UTC](https://discuss.pynq.io/t/zcu111-dac-adc-loopback-keep-getting-stuck/9123/5 "2026-07-11T04:21:17Z")

</div>

Sorry for replying this late.

Actually, I checked my design with another ZCU111. the exact same design with newly flashed PYNQ 3.0.1, and now I am able to set the DAC and ADC clocks. And it works on the older one also if I swap the SD card. I think there is some issue with the SD card or clock files on the older board. Although with the new SD card it works, the DS45 LED still doesn’t glow up.

---

<div class="post-metadata">

**Author:** ![joshgoldsmith](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/joshgoldsmith/32/5347_2.png) [@joshgoldsmith](https://discuss.pynq.io/u/joshgoldsmith)\
**Post date:** [July 13, 2026, 1:31pm UTC](https://discuss.pynq.io/t/zcu111-dac-adc-loopback-keep-getting-stuck/9123/6 "2026-07-13T13:31:42Z")

</div>

Hi @HIMANSHU_HIMANSHU

Yes, SD cards can be finicky. In my experience, unfortunately, the expensive ones are always the most reliable.
