PYNQ version & Board & Tools
- PYNQ: PYNQ-Z2 image (v3.x)
- Board: PYNQ-Z2
- Tools: Vivado 2024.1
What I’m trying to do
I want to get the on-board ADAU1761 audio codec working on the PYNQ-Z2 using Vivado 2024.1 so I can take audio in, process it in the PL, and send audio back out in real time.
What I have tried
- I created a custom Verilog block called
i2s_topthat generates I2S clocks (mclk / bclk / lrclk) and connects an I2S transmitter and receiver. - I packaged
i2s_topas IP, added it to my block design, and wired it to the audio pins in the XDC (bclk,lrclk,sdata_i,sdata_o,codec_address[1:0],IIC_1_scl_io,IIC_1_sda_io, etc.). - There is also an
audio_codec_ctrl/i2s_ctrlIP in my design. In Vivado 2024.1 it was previously shown as locked and I had TCL errors when trying to reconnectsdata_in/sdata_out, but I eventually got the design to synthesize and generate a bitstream. - When I load the bitstream as an overlay in PYNQ and print
overlay.ip_dict, the audio part is basically not usable and I don’t get any sound in or out.
My understanding
- The ADAU1761 needs:
- I2C configuration (register setup for PLL, routing, DAC/ADC enable, etc.)
- I2S signals (MCLK, BCLK, LRCLK, SDATA) for audio data.
- My current IP mainly handles the I2S side; I’m not sure what the recommended way is in 2024.1 to handle the codec configuration and overall audio path.
What I’d like guidance on
- For PYNQ-Z2 + Vivado 2024.1, is it better to:
- Reuse the PYNQ base overlay audio design (the one that already works with ADAU1761) and insert a small custom processing block in the middle, or
- Build a minimal fresh design with PS I2C (or AXI IIC) for ADAU1761 init + a simple custom I2S IP, and ignore the older
audio_codec_ctrlIP?
If possible, I’d really appreciate:
- Any example projects or block designs showing PYNQ-Z2 audio working on recent Vivado versions (2022+/2023+/2024+),
- A pointer to a working ADAU1761 init sequence for PYNQ-Z2 (e.g. 48 kHz line-in to line-out),
- General advice on what the PYNQ team/community recommends as a clean starting point for custom audio work on this board.
Thank you!