# Key error on Overlay load

**URL:** <https://discuss.pynq.io/t/key-error-on-overlay-load/3043>\
**Category:** Support\
**Created:** [September 17, 2021, 10:58pm UTC](https://discuss.pynq.io/t/key-error-on-overlay-load/3043 "2021-09-17T22:58:08Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![JJSterling](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/jjsterling/32/321_2.png) [@JJSterling](https://discuss.pynq.io/u/JJSterling)\
**Post date:** [September 17, 2021, 10:58pm UTC](https://discuss.pynq.io/t/key-error-on-overlay-load/3043/1 "2021-09-17T22:58:08Z")

</div>

Hello all,

I am trying to bring up this block design under PYNQ 2.6 on a ZCU111.

 ![2021-09-17](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/7/779afe76d37ab1de21e63eee39bd0e4ca886b60f.png)

When I try to load the overlay, I get the following error:

 ![2021-09-16](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/e/e9549f94fc3c0813d6d6e1d5e34cc647cd424c4a.png)

I found out the block that causes the error is the zynq\_ultra\_ps\_e\_0. Clearly, the processor block has no “interrupts” key. Yet the connection between the pl\_ps\_irq0 pin of the zynq\_ultra\_ps\_e\_0 block and the s2mm\_introut pin of the axi\_dma\_adc block appears to be correctly configured, and passes design validation. I’ve even disconnected the two and reconnected them, with no joy.

Anyone have any ideas? Here is the HWH file: [SuperRF19.hwh](https://discuss.pynq.io/uploads/short-url/4Od5URoDgUSnMIvVQhmtSi5haPK.hwh) (618.8 KB)

---

<div class="post-metadata">

**Author:** ![jancumps](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/jancumps/32/2140_2.png) [@jancumps](https://discuss.pynq.io/u/jancumps)\
**Post date:** [September 18, 2021, 9:36am UTC](https://discuss.pynq.io/t/key-error-on-overlay-load/3043/2 "2021-09-18T09:36:45Z")

</div>

I used this blog to define a working interrupt: [An Example for the PYNQ Interrupt Subsystem](https://discuss.pynq.io/t/zynq-ps7-interrupts/198/2)

The advise is to use an AXI Interrupt Controller:  
 ![image](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/c/cd42c80f3ebf00966a572fc9668134c584e5f43f.png)

---

<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:** [September 18, 2021, 10:19am UTC](https://discuss.pynq.io/t/key-error-on-overlay-load/3043/3 "2021-09-18T10:19:14Z")

</div>

There is a bug in the current pynq version that prevents this type of direct connections from working, this is fixed in the upcoming version.

As @jancumps mention you can add an interrupt controller, the other workaround is to add an concat block in the interrupt path. If you use more that one interrupt, you will need an interrupt controller.

The fix and more documentation here

> <https://github.com/Xilinx/PYNQ/pull/1246/files>
>
> \- Improve interrupt documentation by including this Peter's post https://discuss….pynq.io/t/zynq-ps7-interrupts/198/2
> \- Return a warning when interrupts are used, but they are not associated to an interrupt controller, thus preventing the Overlay creation to fail.
> 
> This Fixes Xilinx/PYNQ-Dev#338

Mario
