The project structure is as shown below:
The Graphics Engine (driven by the VGA Controller, 640x480 @ 60Hz) is an on-demand RGB display pixel generator whose output can be altered using a few input pins. Previews of the different possible display outputs are provided in the last section of this documentation.
The Audio Engine drives the Frequency Synth to produce a ~28 second looping sound track @ 140 BPM at the output.
uo_out
)uio_out
)ui_in
)tt_um_demosiine_sda
The design takes in 8 digital inputs from the INPUT terminal to modify the on-screen graphics (and audio) to create funky visual effects. All inputs are expected to be LOW to render the output as shown in the default preview as shown below.
The effect of each input pin is presented in the table below:
Input Pin | Parameter | When LOW | When HIGH |
---|---|---|---|
ui_in[7] |
Audio State | Play | Pause |
ui_in[6] |
Animation State | Run | Stop |
ui_in[5] |
Background Style | Black | Rolling RGB |
ui_in[4] |
Overlay Style | Cycle RGB | Rolling RGB |
ui_in[3] |
Overlay State | Enabled | Disabled |
ui_in[2] |
Big Sine State | Enabled | Disabled |
ui_in[1] |
Little Sine State | Enabled | Disabled |
ui_in[0] |
Colour Inversion | Normal | Negative |
Provided below are a some of my favourite previews generated from DemoSiine along with the INPUT configuration which generated them:
# | Input | Output | Bidirectional |
---|---|---|---|
0 | Frame Positive / Negative | Video Red MSB | |
1 | Enable / Disable Little Sine Layer | Video Green MSB | |
2 | Enable / Disable Big Sine Layer | Video Blue MSB | |
3 | Enable / Disable Overlay | Video V-Sync | |
4 | Toggle Overlay Style | Video Red LSB | |
5 | Toggle Background Style | Video Green LSB | |
6 | Run / Stop Animation | Video Blue LSB | |
7 | Play / Pause Audio | Video H-Sync | Audio Output |