Instantiate and control a microblaze IOP

I would like to get some help in the process of adding a microblaze IOP in my current hardware design (which consists of a zynq and a custom IP) and use this IOP to control a PMOD in my pynq-Z2 board throught a jupyter notebook. The Doc is a bit blur for me (MicroBlaze Subsystem — Python productivity for Zynq (Pynq)).
Best regard,
Luc Forestier.

Hi @lucDu93,

I would suggest to start with the base overlay and:

  1. remove the hardware you do not need from it
  2. Add your custom IP


Thank you for the reply Mario. I thought of that solution at the beginning but I found that the base hardware design is too complicated (I don’t know what to remove, also I’ve found that the pmoda is mixed with rpi outputs on pynq-z2). I will be very happy if someone could make a tutorial about it. (I’m working with Vivado 2018.2 and image v2.3).base.pdf (217.3 KB)

I have created the hardware part of what I wanted (instantiating a microblaze IOP in my design) by following this tutorial : (till the ‘Using the IOP’ section), here is the design design_1.pdf (75.3 KB) and addressing table, and the bitstream was generated correctly. Then I followed the doc (MicroBlaze Subsystem — Python productivity for Zynq (Pynq) v1.0) and exported the bsp folder with .bit .hwh and .tcl files of my design. I opened them on jupyter, loaded the bitstream and added the bsp folder, but when I use the microblaze (%%microblaze overlay.pmod1) to perform a simple addition function, I get this message : '“Compile FAILED Binary file too big for IP”. Can someone help me, please ?