# PYNQ-ZU - Could not find IP or hierarchy xfft in overlay

**URL:** <https://discuss.pynq.io/t/pynq-zu-could-not-find-ip-or-hierarchy-xfft-in-overlay/4468>\
**Category:** Support\
**Created:** [July 18, 2022, 7:00am UTC](https://discuss.pynq.io/t/pynq-zu-could-not-find-ip-or-hierarchy-xfft-in-overlay/4468 "2022-07-18T07:00:49Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![LightwishWONG](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/lightwishwong/32/2841_2.png) [@LightwishWONG](https://discuss.pynq.io/u/LightwishWONG)\
**Post date:** [July 18, 2022, 7:00am UTC](https://discuss.pynq.io/t/pynq-zu-could-not-find-ip-or-hierarchy-xfft-in-overlay/4468/1 "2022-07-18T07:00:49Z")

</div>

Hi everyone,  
I’m trying to use PYNQ-ZU board to run FFT. I followed the step-by-step guide provided by xilinx [here](https://www.xilinx.com/about/blogs/adaptable-advantage-blog/2022/MicroZed-Chronicles--Signal-Processing-FFT-and-PYNQ.html). The pdf guide is [here](https://github.com/ATaylorCEngFIET/MZ448). After I finished the block design in vivado and ran synthesis, I uploaded the .bit file, the .tcl file and the .hwh file to the PYNQ-ZU board and imported the FFT overlay in a jupyter notebook. But the fft IP could not be found, while other IPs like dma and fifo could be detected successfully, as shown below.

 ![overlay_check](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/d/d78709944b4fbceaa59f89b2828c05eacb41634d.png)

If I checked the fft IP specifically, it came an error.

 ![fft_ipCheck](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/1/1536ef55014f9901a19001fde08b9fd5e244f7be.png)

The block design created in vivado is shown below. I think maybe something is wrong there but I can’t figure it out.

 ![my_block_design](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/9/9b06c680799f5918636fc22746b7042a11c2a2e5.png)

I use PYNQ-ZU with image v2.6 and vivado 2020.1. Need to mention that in the step-by-step guide [here](https://github.com/ATaylorCEngFIET/MZ448), the author uses PYNQ-Z1 board. So in the guide the zynq PS IP in the block design (zynq) is different from that in my block design (zynq UltraScale). Some ports may be different, like IRQF2P port in zynq IP while pl\_ps\_irq port in zynq UltraScale IP. Could this be the problem?

Please help me fix it. Many thanks!

---

<div class="post-metadata">

**Author:** ![marioruiz](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/marioruiz/32/2177_2.png) [@marioruiz](https://discuss.pynq.io/u/marioruiz)\
**Post date:** [July 18, 2022, 7:09am UTC](https://discuss.pynq.io/t/pynq-zu-could-not-find-ip-or-hierarchy-xfft-in-overlay/4468/2 "2022-07-18T07:09:54Z")

</div>

Hi @LightwishWONG,

Welcome to our community.  
The `ip_dict` only shows memory-mapped IP, with an AXI4-Lite interface. The xfft you have in your design is not memory mapped, and the streaming interface is connected to a DMA

You can learn how to move data to this IP by following Cathal’s tutorial.

> [@Tutorial: PYNQ DMA (Part 1: Hardware design)](https://discuss.pynq.io/t/tutorial-pynq-dma-part-1-hardware-design/3133):
>
> PYNQ DMA tutorial (Part 1: Hardware design) This tutorial will show you how to use the Xilinx AXI DMA with PYNQ. It will cover adding the AXI DMA to a new Vivado hardware design and show how the DMA can be controlled from PYNQ. This tutorial is based on the v2.6 PYNQ image and will use Vivado 2020.1. If you are using a different PYNQ version you should be able to follow the same steps in this tutorial, but you should make sure you are using the supported version of Vivado for that PYNQ release. …

Mario

---

<div class="post-metadata">

**Author:** ![LightwishWONG](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/lightwishwong/32/2841_2.png) [@LightwishWONG](https://discuss.pynq.io/u/LightwishWONG)\
**Post date:** [July 18, 2022, 7:22am UTC](https://discuss.pynq.io/t/pynq-zu-could-not-find-ip-or-hierarchy-xfft-in-overlay/4468/3 "2022-07-18T07:22:28Z")

</div>

Hi @marioruiz ,  
Thanks for your kind help. I’ll follow this tutorial.

---

<div class="post-metadata">

**Author:** ![LightwishWONG](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/lightwishwong/32/2841_2.png) [@LightwishWONG](https://discuss.pynq.io/u/LightwishWONG)\
**Post date:** [July 18, 2022, 11:33am UTC](https://discuss.pynq.io/t/pynq-zu-could-not-find-ip-or-hierarchy-xfft-in-overlay/4468/4 "2022-07-18T11:33:15Z")

</div>

I’ve learned this tutorial. I think in my block design the xfft and the DMA are just connected as described in the tutorial you provide, as shown below.

 ![dma_xfft](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/0/0f6bcca42e39b7661c7ff5fc7173b33ee3cf9fab.jpeg)

The connection between the DMA and the zynq UltraScale+ is shown below

 ![dma_ps](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/a/a1c0a52e45e10509b1bc51dc238f4e08f85fbb60.jpeg)

Now I’m still confused how to move data to the xfft IP.

---

<div class="post-metadata">

**Author:** ![marioruiz](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/marioruiz/32/2177_2.png) [@marioruiz](https://discuss.pynq.io/u/marioruiz)\
**Post date:** [July 18, 2022, 12:14pm UTC](https://discuss.pynq.io/t/pynq-zu-could-not-find-ip-or-hierarchy-xfft-in-overlay/4468/5 "2022-07-18T12:14:36Z")

</div>

Hi,

Part 2 of the tutorial covers the software part. You may also want to read the documentation for the DMA

[https://pynq.readthedocs.io/en/latest/pynq\_libraries/dma.html](https://pynq.readthedocs.io/en/latest/pynq_libraries/dma.html)

[https://pynq.readthedocs.io/en/latest/overlay\_design\_methodology/pspl\_interface.html](https://pynq.readthedocs.io/en/latest/overlay_design_methodology/pspl_interface.html)

Mario

---

<div class="post-metadata">

**Author:** ![LightwishWONG](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/lightwishwong/32/2841_2.png) [@LightwishWONG](https://discuss.pynq.io/u/LightwishWONG)\
**Post date:** [July 18, 2022, 12:27pm UTC](https://discuss.pynq.io/t/pynq-zu-could-not-find-ip-or-hierarchy-xfft-in-overlay/4468/6 "2022-07-18T12:27:08Z")

</div>

Hi,

I’ve learned part 2 as well. Do you mean that is actually not a hardware problem and what I should do now is to write some code to make the xfft IP mamory mapped?

---

<div class="post-metadata">

**Author:** ![marioruiz](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/marioruiz/32/2177_2.png) [@marioruiz](https://discuss.pynq.io/u/marioruiz)\
**Post date:** [July 18, 2022, 12:42pm UTC](https://discuss.pynq.io/t/pynq-zu-could-not-find-ip-or-hierarchy-xfft-in-overlay/4468/7 "2022-07-18T12:42:34Z")

</div>

No, you need to move the data via the DMA. The xfft IP only accepts samples via AXI4-Stream. This data movement is going to be very similar to the way Cathal moves data in the tutorial.

Mario

---

<div class="post-metadata">

**Author:** ![briansune](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/briansune/32/3087_2.png) [@briansune](https://discuss.pynq.io/u/briansune)\
**Post date:** [July 18, 2022, 3:25pm UTC](https://discuss.pynq.io/t/pynq-zu-could-not-find-ip-or-hierarchy-xfft-in-overlay/4468/8 "2022-07-18T15:25:38Z")

</div>

@LightwishWONG

Hello Wong,

Just from what I experienced in before about DFT IP had a simulation issue on Vivado 2020.2.  
I am not sure about FFT but short search also see a lot of issue and path so paid a bit attention to the patch is handy.  
See issue about DFT [here](https://support.xilinx.com/s/question/0D52E00006hppjmSAA/xilinx-dft-v42%E4%BB%BF%E7%9C%9F%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B020210717)  
Ensure you had patch the DFT as well on Vivado 2020.2 IP if you need to use that.

Bests

---

<div class="post-metadata">

**Author:** ![LightwishWONG](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/lightwishwong/32/2841_2.png) [@LightwishWONG](https://discuss.pynq.io/u/LightwishWONG)\
**Post date:** [August 1, 2022, 5:54am UTC](https://discuss.pynq.io/t/pynq-zu-could-not-find-ip-or-hierarchy-xfft-in-overlay/4468/9 "2022-08-01T05:54:23Z")

</div>

Hi Mario,

Sorry I haven’t replied for so long. Lately I’ve been busy with another project. The tutorial you recommend made by Cathal is really great, which explains the details thoroughly. As you said before, the key is how to transfer and receive data using DMA. Now I successfully run the hardware FFT. Many thanks for your kind help!

---

<div class="post-metadata">

**Author:** ![marioruiz](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/marioruiz/32/2177_2.png) [@marioruiz](https://discuss.pynq.io/u/marioruiz)\
**Post date:** [August 1, 2022, 9:51am UTC](https://discuss.pynq.io/t/pynq-zu-could-not-find-ip-or-hierarchy-xfft-in-overlay/4468/10 "2022-08-01T09:51:03Z")

</div>

Closed on August 1, 2022, 9:51am UTC


