I’ve completed and understand the tutorial that connects the switches, buttons and LEDs to the AXI bus using the interfaces defined in the board files. All good. Makes sense and works.
I’ve also created a simple 30 bit counter that uses the 125 MHz clock on Pin H16 to blink the 4 LEDs. I found the pin assignments in the PynqZ2 user manual and created a constraints file. When I load the overlay, my block runs, but the PS freezes up, presumably because it no longer has a clock.
Next, I created a simple project with only the Zynq PS, ran the connection automation, wired the clock and checked that this worked. Theory confirmed, the PS needs its clock.
Now, when I try to add my own IP block to this project, I get warnings during the Synthesis step and Vivado conveniently sets the clock input for my block to constant zero instead of wiring it to Pin H16.
Can someone point me to resources or instructions on how to connect IP to individual pins on the Z2 board? The component definitions in the board file are all good and I guess I could use one of the Arduino components and ignore the pins I don’t need, but really I would like to simply connect a single pin to my IP.
PS: I have my project running on the Arduino Vidor 4000 board (the one with an Intel Cyclone FPGA). I want to move it to Pynq to take advantage of the more capable PS to serve up the collected data, so I’m pretty sure I’m in the right place, I’m just stymied by how to connect to the hardware.