Guidance Requested: Implementing CNN Model on PYNQ-Z2 with FINN and Creating Overlays using Vivado

Hi, pynq community,

I’m currently using a PYNQ-Z2 board to implement my CNN model, and I’m quite new to this process. I need some guidance on a couple of key points:

  1. Transferring a CNN model using FINN:

-What are the steps involved in using FINN to transfer my CNN model onto the PYNQ-Z2 board?
-Are there any specific tutorials or resources that can help me understand this process better?

  1. Creating an Overlay using Vivado:

-How can I create an overlay for my CNN model using Vivado?
-Are there any detailed guides or examples that can walk me through this process?

Any help or pointers to resources would be greatly appreciated!

Thanks in advance for your assistance.

1 Like


For the Overlay, do you need a tutorial about where to place your bitstream in your board? Or do you need a tutorial about how to generate a bitstream via Vivado?

1 Like

Hi Matthew,

Thanks for your prompt response!

I need a tutorial on how to generate a bitstream via Vivado for my CNN model. Any guidance or resources you can provide on this would be extremely helpful.

Thanks again for your assistance!

1 Like


Here is a Vivado manual (hard, I know) about how to generate a bitstream for a specific project. You can see some main steps in that file:
( ug995-vivado-ip-subsystems-tutorial.pdf (

There is also this video: ( #2 TechBytes | How to create FPGA Bitstream in Vivado (

1 Like

Thank you for the resources! I appreciate your help.

Did you also check this pynq tutorial?

Tutorial: Creating a hardware design for PYNQ

1 Like

I appreciate your help mate.