I was somewhat inspired by beacon_dave 's post on his overlay modification so I decided to do something very similar.  I'm adding the Button interface to the overlay we created in Session 2 so that I can control the pattern that is displayed by the TPG based on the value read from the buttons.


This involves adding the AXI GPIO as Dave demonstrated.  And connecting it to the Button interface.


Here's the modified Block Diagram:

And a closeup of the modified section:

I realize in retrospect that I should have renamed the instance from axi_gpio_0 to something friendlier like "buttons".  I'll remember to do that next time.


I replicated the workshop steps and wrote the bitstream and created the overlay directory that I copied to the Pynq-Z2 board.


I then created a new Notebook named tpd_btns.


I made a short video of it in operation.  Sorry, it's kind of clunky (I have my Pynq-Z2 behind my monitors for lack of desk space which makes it inconvenient to push buttons ).