I thought that I'd try out another of the basic overlays before moving on to a neural network application.
The PYNQ development software provides a set of logic tools using the logictools overlay. You can create a digital circuit by specifying its function and IOs with a simple, declarative API in Python.
The logictools overlay has 3 function generators plus a trace analyzer to capture generated patterns.
I'll go through an example of creating a waveform with Wavedrom and generating the pattern on a set of pins on the Arduino Uno compatible IO connectors.
The Wavedrom application uses a straightforward JSON format to specify a waveform. Syntax is explained here: https://wavedrom.com/tutorial.html
For pattern generation the 3 primary keys are 'name' (signal name), 'pin' (hardware pin designator), and 'wave' (pin state at each clock).
Here is the 3 bit counter pattern that I'll be demonstrating:
And the resulting pattern (the loopback waveform is not captured until the pattern and trace analyzer execute):
Short video showing the loopback operation and capture of the output waveform in the analyzer and an external scope:
A picture of the physical setup:
Next for my roadtest I'm going to try some image processing with neural networks.