By the time i got my board to test it is early July, so it is kind of late
for the session 2, my original aim is to use does overlay on IO to control on/off of water pump to shoot water
following the lab book 2 (which is also accessible from Github https://github.com/ATaylorCEngFIET/Element14_PYNQ ) , i encounter first error at 19, which is to run the build_ip.bat
in my folder, there isnn't such folder and file. puzzled, i look at the session 2 recording again, and turns out that i made a silly mistake, navigating the directory wrongly. So one thing nice about this series is
it is step by step with video recording. although i am super late into the real attempt on the board, i hope i can get pass the steps by referring to it again.
so, i build my first IP and it takes about 1.5 minutes
and i added it to the IP repository
At this stage, i know at least the proper way to add our own ip. With the added IP, we can then use it in our design
following the lab book, we added the Color Convert, Pixel Pack, VDMA, Test Pattern Generator, and select run automation
The runs automation connects the IP blocks automatically
as illustration, below is before and after running connection automation (step 25)
for VDMA, we set to frame buffers 4 with address width 32. VDMA is provided to work in conjunction with the Video Frame Buffer Controller PIM within the Multiport Memory Controller for DMA access.
then we follow a sequence of connecting IP blocks. However, in step 32, i can't select auto assign address but it seems it has been automated for me anyhow
eventually, i connected few more IP blocks and validate the design. It has no error but does have a warning
we then create HDL wrapper and generate bitstream. i got this dialog and a subsequent settings block that is not in the lab book but i am able to move on nonetheless
Bitstream generation does takes some time (in fact in older xilinx tools up to half and hour), i let it run for
it takes 15 minutes on my laptop
following the lab book, copy the bitstream file into a new folder manually created
also copy these two
and create a python script
Now Let's look at the IO that we want to implement
for the PYNQ-Z2 board it has these peripherals
PYNQ-Z2 | |
---|---|
Device | Zynq Z7020 |
Memory | 512MB DDR3 |
Storage | MicroSD |
Video | HDMI In & Out |
Audio | ADAU1761 codec with HP + Mic, Line in |
Network | 10/100/1000 Ethernet |
Expansion | USB host (PS) |
GPIO | 1x Arduino Header |
2x Pmod* | |
1x RaspberryPi header* | |
Other I/O | 6x user LEDs |
4x Pushbuttons | |
2x Dip switches | |
Dimensions | 3.44” x 5.51” (87mm x 140mm) |
Webpage | TUL PYNQ-Z2 webpage |
*PYNQ-Z2 RaspberryPi header shares 8 pins with 1 Pmod
===> to be continued ....
Test
Resources
PYNQ-Z2 Workshop: Getting Up and Running with PYNQ (Win a $500 Gift Card for Your Embedded Vision Project!)
session 3