# How to access two levels of hierachy on PYNQ-Z1

**URL:** <https://discuss.pynq.io/t/how-to-access-two-levels-of-hierachy-on-pynq-z1/2297>\
**Category:** Support\
**Created:** [February 2, 2021, 9:33pm UTC](https://discuss.pynq.io/t/how-to-access-two-levels-of-hierachy-on-pynq-z1/2297 "2021-02-02T21:33:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Oumayma](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/oumayma/32/1548_2.png) [@Oumayma](https://discuss.pynq.io/u/Oumayma)\
**Post date:** [February 2, 2021, 9:33pm UTC](https://discuss.pynq.io/t/how-to-access-two-levels-of-hierachy-on-pynq-z1/2297/1 "2021-02-02T21:33:04Z")

</div>

Hi everyone,

I’m trying to encode and decode a message on my PYNQ-Z1 board using the Reed Solomon Encoder/Decoder IP blocks on Vivado 2020.1.  
While trying to do so, I couldn’t access the encoder/decoder dma on Jupyter Notebook.

Here are the errors that I get (and the Vivado Block Diagrams and the Github link to all the project)  
Github link: [GitHub - MeriemOumaymaHAMDI/ReedSolomon\_Encoder\_Decoder](https://github.com/MeriemOumaymaHAMDI/ReedSolomon_Encoder_Decoder)

 ![Capture1](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/8/88892d8012cd134f22114c7f609b9986b7e9dd62.png)  
 ![Capture2](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/e/e468e49caba08c3636193aab12eacaad08392ec0.png)  
 ![Capture3](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/8/84e4f6020f6f01856850a1dfe7c8c719ee5a338a.png)  
 ![BlocDiagram](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/1/1a529246d5c270b750eeafe95f06b5c0eff47af5.png)  
 ![RSDiagram](https://us1.discourse-cdn.com/flex019/uploads/pynq1/original/2X/3/38778f7aeda20a13fb0691fe1aa122a651e7a37a.png)

---

<div class="post-metadata">

**Author:** ![PeterOgden](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/peterogden/32/55_2.png) [@PeterOgden](https://discuss.pynq.io/u/PeterOgden)\
**Post date:** [February 3, 2021, 9:15am UTC](https://discuss.pynq.io/t/how-to-access-two-levels-of-hierachy-on-pynq-z1/2297/2 "2021-02-03T09:15:00Z")

</div>

You are correct in assuming that you should be able to `test.RS_0.encoder_dma`. It looks like the issue is in how interrupts are being handled. Can you try following the base overlay design pattern of attaching all of your interrupt lines to an interrupt controller which in turn connects to the PS?

Peter
