# Need guidance on implementing neural network on PYNQ-Z2

**URL:** <https://discuss.pynq.io/t/need-guidance-on-implementing-neural-network-on-pynq-z2/483>\
**Category:** Support\
**Created:** [September 20, 2019, 1:08pm UTC](https://discuss.pynq.io/t/need-guidance-on-implementing-neural-network-on-pynq-z2/483 "2019-09-20T13:08:05Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![kumamon](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/kumamon/32/533_2.png) [@kumamon](https://discuss.pynq.io/u/kumamon)\
**Post date:** [September 20, 2019, 1:08pm UTC](https://discuss.pynq.io/t/need-guidance-on-implementing-neural-network-on-pynq-z2/483/1 "2019-09-20T13:08:06Z")

</div>

How do I implement my own trained neural network on the PYNQ-Z2?

Do I have to create my own overlay? If yes, how do I start doing that? If no, then how do I know whether the overlays on git is suitable for my network?

(I have no prior knowledge on FPGA)

---

<div class="post-metadata">

**Author:** ![Colorado\_Rob](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/colorado_rob/32/81_2.png) [@Colorado\_Rob](https://discuss.pynq.io/u/Colorado_Rob)\
**Post date:** [September 21, 2019, 6:42pm UTC](https://discuss.pynq.io/t/need-guidance-on-implementing-neural-network-on-pynq-z2/483/2 "2019-09-21T18:42:39Z")

</div>

Have you looked at any of the NN projects & research here: [PYNQ - Python productivity for Zynq - Community](http://www.pynq.io/community.html)?

Find one that best fits your goal and modify it to suit your needs. I expect that you will need to customize the code to suit your specific needs. But that really depends on the details of your goals.

If you need help creating your own overlay, there are step-by-step instructions on the Pynq site and numerous videos on YouTube. I found this one to be a very good intro: [- YouTube](https://www.youtube.com/watch?v=Dupyek4NUoI&t=791s)

---

<div class="post-metadata">

**Author:** ![kumamon](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/kumamon/32/533_2.png) [@kumamon](https://discuss.pynq.io/u/kumamon)\
**Post date:** [September 23, 2019, 11:16pm UTC](https://discuss.pynq.io/t/need-guidance-on-implementing-neural-network-on-pynq-z2/483/3 "2019-09-23T23:16:58Z")

</div>

In order to recreate the hardware designs for [GitHub - Xilinx/BNN-PYNQ: Quantized Neural Networks (QNNs) on PYNQ](https://github.com/Xilinx/BNN-PYNQ) , it says I need a Linux machine but will a Windows 10 Home be enough?

---

<div class="post-metadata">

**Author:** ![cathalmccabe](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/cathalmccabe/32/3348_2.png) [@cathalmccabe](https://discuss.pynq.io/u/cathalmccabe)\
**Post date:** [September 24, 2019, 6:57am UTC](https://discuss.pynq.io/t/need-guidance-on-implementing-neural-network-on-pynq-z2/483/4 "2019-09-24T06:57:13Z")

</div>

The framework/scripts are based on Linux. You may be abel to use a Virtual Machine on your WIndows laptop.

Cathal

---

<div class="post-metadata">

**Author:** ![kumamon](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/kumamon/32/533_2.png) [@kumamon](https://discuss.pynq.io/u/kumamon)\
**Post date:** [September 26, 2019, 3:19am UTC](https://discuss.pynq.io/t/need-guidance-on-implementing-neural-network-on-pynq-z2/483/6 "2019-09-26T03:19:55Z")

</div>

**I am having problems with the hardware design rebuilt.**

**After entering ./make-hw.sh cnvW1A1 pynqZ1-Z2 a on a terminal in Ubuntu 16.04.03 LTS,**

**I got the following CRITICAL WARNING:**

Setting up Vivado project…

\*\*\*\*\*\* Vivado v2018.2 (64-bit)  
\*\*\*\* SW Build 2258646 on Thu Jun 14 20:02:38 MDT 2018  
\*\*\*\* IP Build 2256618 on Thu Jun 14 22:10:49 MDT 2018  
\*\* Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.

source /home/them/BNN-PYNQ/bnn/src//library/script/pynqZ1-Z2/make-vivado-proj.tcl -notrace  
INFO: [IP\_Flow 19-234] Refreshing IP repositories  
INFO: [IP\_Flow 19-1700] Loaded user IP repository ‘/home/them/BNN-PYNQ/bnn/src/network/output/hls-syn/cnvW1A1-pynqZ1-Z2/sol1/impl/ip’.  
INFO: [IP\_Flow 19-2313] Loaded Vivado IP repository ‘/opt/Xilinx/Vivado/2018.2/data/ip’.  
Wrote : \</home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.srcs/sources\_1/bd/procsys/[procsys.bd](http://procsys.bd/)\>  
CRITICAL WARNING: [BD 41-737] Cannot set the parameter PCW\_M\_AXI\_GP0\_FREQMHZ on /ps7. It is read-only.  
CRITICAL WARNING: [BD 41-737] Cannot set the parameter PCW\_M\_AXI\_GP1\_FREQMHZ on /ps7. It is read-only.  
CRITICAL WARNING: [BD 41-737] Cannot set the parameter PCW\_S\_AXI\_ACP\_FREQMHZ on /ps7. It is read-only.  
CRITICAL WARNING: [BD 41-737] Cannot set the parameter PCW\_S\_AXI\_GP0\_FREQMHZ on /ps7. It is read-only.  
CRITICAL WARNING: [BD 41-737] Cannot set the parameter PCW\_S\_AXI\_GP1\_FREQMHZ on /ps7. It is read-only.  
CRITICAL WARNING: [BD 41-737] Cannot set the parameter PCW\_S\_AXI\_HP0\_FREQMHZ on /ps7. It is read-only.  
CRITICAL WARNING: [BD 41-737] Cannot set the parameter PCW\_S\_AXI\_HP1\_FREQMHZ on /ps7. It is read-only.  
CRITICAL WARNING: [BD 41-737] Cannot set the parameter PCW\_S\_AXI\_HP2\_FREQMHZ on /ps7. It is read-only.  
CRITICAL WARNING: [BD 41-737] Cannot set the parameter PCW\_S\_AXI\_HP3\_FREQMHZ on /ps7. It is read-only.  
CRITICAL WARNING: [PSU-1] Parameter : PCW\_UIPARAM\_DDR\_DQS\_TO\_CLK\_DELAY\_2 has negative value -0.009 . PS DDR interfaces might fail when entering negative DQS skew values.  
CRITICAL WARNING: [PSU-2] Parameter : PCW\_UIPARAM\_DDR\_DQS\_TO\_CLK\_DELAY\_3 has negative value -0.033 . PS DDR interfaces might fail when entering negative DQS skew values.  
CRITICAL WARNING: [PSU-1] Parameter : PCW\_UIPARAM\_DDR\_DQS\_TO\_CLK\_DELAY\_2 has negative value -0.009 . PS DDR interfaces might fail when entering negative DQS skew values.  
CRITICAL WARNING: [PSU-2] Parameter : PCW\_UIPARAM\_DDR\_DQS\_TO\_CLK\_DELAY\_3 has negative value -0.033 . PS DDR interfaces might fail when entering negative DQS skew values.  
CRITICAL WARNING: [PSU-1] Parameter : PCW\_UIPARAM\_DDR\_DQS\_TO\_CLK\_DELAY\_2 has negative value -0.009 . PS DDR interfaces might fail when entering negative DQS skew values.  
CRITICAL WARNING: [PSU-2] Parameter : PCW\_UIPARAM\_DDR\_DQS\_TO\_CLK\_DELAY\_3 has negative value -0.033 . PS DDR interfaces might fail when entering negative DQS skew values.  
\</ps7/S\_AXI\_HP0/HP0\_DDR\_LOWOCM\> is being mapped into \</BlackBoxJam\_0/Data\_m\_axi\_hostmem\> at \<0x00000000 [512M]\>  
\</BlackBoxJam\_0/s\_axi\_control/Reg\> is being mapped into \</ps7/Data\> at \<0x43C00000 [64K]\>  
Wrote : \</home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.srcs/sources\_1/bd/procsys/[procsys.bd](http://procsys.bd/)\>  
CRITICAL WARNING: [PSU-1] Parameter : PCW\_UIPARAM\_DDR\_DQS\_TO\_CLK\_DELAY\_2 has negative value -0.009 . PS DDR interfaces might fail when entering negative DQS skew values.  
CRITICAL WARNING: [PSU-2] Parameter : PCW\_UIPARAM\_DDR\_DQS\_TO\_CLK\_DELAY\_3 has negative value -0.033 . PS DDR interfaces might fail when entering negative DQS skew values.  
CRITICAL WARNING: [PSU-1] Parameter : PCW\_UIPARAM\_DDR\_DQS\_TO\_CLK\_DELAY\_2 has negative value -0.009 . PS DDR interfaces might fail when entering negative DQS skew values.  
CRITICAL WARNING: [PSU-2] Parameter : PCW\_UIPARAM\_DDR\_DQS\_TO\_CLK\_DELAY\_3 has negative value -0.033 . PS DDR interfaces might fail when entering negative DQS skew values.  
Wrote : \</home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.srcs/sources\_1/bd/procsys/[procsys.bd](http://procsys.bd/)\>

**When I opened cnvW1A1-pynqZ1-Z2.xpr,**

**the Tcl console output the following:**

start\_gui

open\_project /home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.xpr  
open\_project /home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.xpr  
Scanning sources…  
Finished scanning sources  
INFO: [IP\_Flow 19-234] Refreshing IP repositories  
INFO: [IP\_Flow 19-1700] Loaded user IP repository ‘/home/them/BNN-PYNQ/bnn/src/network/output/hls-syn/cnvW1A1-pynqZ1-Z2/sol1/impl/ip’.  
INFO: [IP\_Flow 19-2313] Loaded Vivado IP repository ‘/opt/Xilinx/Vivado/2018.2/data/ip’.  
WARNING: [IP\_Flow 19-3664] IP ‘procsys\_BlackBoxJam\_0\_0’ generated file not found ‘/home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.srcs/sources\_1/bd/procsys/ip/procsys\_BlackBoxJam\_0\_0/procsys\_BlackBoxJam\_0\_0.dcp’. Please regenerate to continue.  
WARNING: [IP\_Flow 19-3664] IP ‘procsys\_BlackBoxJam\_0\_0’ generated file not found ‘/home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.srcs/sources\_1/bd/procsys/ip/procsys\_BlackBoxJam\_0\_0/procsys\_BlackBoxJam\_0\_0\_stub.v’. Please regenerate to continue.  
WARNING: [IP\_Flow 19-3664] IP ‘procsys\_BlackBoxJam\_0\_0’ generated file not found ‘/home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.srcs/sources\_1/bd/procsys/ip/procsys\_BlackBoxJam\_0\_0/procsys\_BlackBoxJam\_0\_0\_stub.vhdl’. Please regenerate to continue.  
WARNING: [IP\_Flow 19-3664] IP ‘procsys\_BlackBoxJam\_0\_0’ generated file not found ‘/home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.srcs/sources\_1/bd/procsys/ip/procsys\_BlackBoxJam\_0\_0/procsys\_BlackBoxJam\_0\_0\_sim\_netlist.v’. Please regenerate to continue.  
WARNING: [IP\_Flow 19-3664] IP ‘procsys\_BlackBoxJam\_0\_0’ generated file not found ‘/home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.srcs/sources\_1/bd/procsys/ip/procsys\_BlackBoxJam\_0\_0/procsys\_BlackBoxJam\_0\_0\_sim\_netlist.vhdl’. Please regenerate to continue.  
WARNING: [IP\_Flow 19-3664] IP ‘procsys\_auto\_pc\_0’ generated file not found ‘/home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.srcs/sources\_1/bd/procsys/ip/procsys\_auto\_pc\_0/procsys\_auto\_pc\_0.dcp’. Please regenerate to continue.  
WARNING: [IP\_Flow 19-3664] IP ‘procsys\_auto\_pc\_0’ generated file not found ‘/home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.srcs/sources\_1/bd/procsys/ip/procsys\_auto\_pc\_0/procsys\_auto\_pc\_0\_stub.v’. Please regenerate to continue.  
WARNING: [IP\_Flow 19-3664] IP ‘procsys\_auto\_pc\_0’ generated file not found ‘/home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.srcs/sources\_1/bd/procsys/ip/procsys\_auto\_pc\_0/procsys\_auto\_pc\_0\_stub.vhdl’. Please regenerate to continue.  
WARNING: [IP\_Flow 19-3664] IP ‘procsys\_auto\_pc\_0’ generated file not found ‘/home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.srcs/sources\_1/bd/procsys/ip/procsys\_auto\_pc\_0/procsys\_auto\_pc\_0\_sim\_netlist.v’. Please regenerate to continue.  
WARNING: [IP\_Flow 19-3664] IP ‘procsys\_auto\_pc\_0’ generated file not found ‘/home/them/BNN-PYNQ/bnn/src/network/output/vivado/cnvW1A1-pynqZ1-Z2/cnvW1A1-pynqZ1-Z2.srcs/sources\_1/bd/procsys/ip/procsys\_auto\_pc\_0/procsys\_auto\_pc\_0\_sim\_netlist.vhdl’. Please regenerate to continue.  
open\_project: Time (s): cpu = 00:00:14 ; elapsed = 00:00:16 . Memory (MB): peak = 6007.227 ; gain = 116.625 ; free physical = 211 ; free virtual = 2497  
update\_compile\_order -fileset sources\_1

---

<div class="post-metadata">

**Author:** ![rock](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/rock/32/32_2.png) [@rock](https://discuss.pynq.io/u/rock)\
**Post date:** [October 1, 2019, 11:36pm UTC](https://discuss.pynq.io/t/need-guidance-on-implementing-neural-network-on-pynq-z2/483/7 "2019-10-01T23:36:46Z")

</div>

I was wondering if you are using 2018.2 vivado to open a 2018.3 project?

---

<div class="post-metadata">

**Author:** ![kumamon](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/kumamon/32/533_2.png) [@kumamon](https://discuss.pynq.io/u/kumamon)\
**Post date:** [October 1, 2019, 11:53pm UTC](https://discuss.pynq.io/t/need-guidance-on-implementing-neural-network-on-pynq-z2/483/8 "2019-10-01T23:53:58Z")

</div>

Woops. The “Hardware design rebuild” section on the BNN git said the terminal commands were tested with 2018.2 so I assumed that the project was in 2018.2 so I installed the 2018.2 Vivado WebPack. Thanks for pointing it out.
