Skip to content

Commit

Permalink
Getting ready for another submission
Browse files Browse the repository at this point in the history
  • Loading branch information
SagarDevAchar authored Sep 3, 2024
1 parent 911cb18 commit dba7912
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 21 deletions.
Binary file removed docs/Demosiine.mp3
Binary file not shown.
29 changes: 19 additions & 10 deletions docs/info.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,6 @@ You can also include images in this folder and reference them in the markdown. E
512 kb in size, and the combined size of all images must be less than 1 MB.
-->

<!-- Disable this once Input section comes in -->
## Preview

![DemoSiine Video Output Preview](DemoSiine.jpg)

<!-- ![DemoSiine Audio Output](Demosiine.mp3) -->

## How it works
Expand All @@ -30,9 +25,9 @@ tt_um_demosiine_sda : The main project :)
└── freq_synth : Generates variable frequency square waves
```

<!-- 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 `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 `graphics_engine` (driven by the `vga_controller`) is an on-demand RGB pixel generator which produces a display output of resolution 640x480 @ 60Hz.
<!-- The `graphics_engine` (driven by the `vga_controller`) is an on-demand RGB pixel generator which produces a display output of resolution 640x480 @ 60Hz. -->

The `audio_engine` drives the `freq_synth` to produce a ~28 second looping sound track @ 140 BPM at the output.

Expand All @@ -41,14 +36,28 @@ The `audio_engine` drives the `freq_synth` to produce a ~28 second looping sound
- [TinyVGA Pmod](https://github.com/mole99/tiny-vga) connected to OUTPUT terminal (`uo_out`)
- VGA Display connected to the HD15 female connector of the Pmod
- [TT Audio Pmod](https://github.com/MichaelBell/tt-audio-pmod) connected to BIDIR terminal (`uio_out`)
<!-- - Some switches to the INPUT terminal (`ui_in`) -->
- Some switches to the INPUT terminal (`ui_in`)

## How to test

- Connect the necessary peripherals
- Provide a 25MHz clock to the top module `tt_um_demosiine_sda`
- Reset the design (if necessary)
- Enjoy the show :)
<!-- - Tweak the inputs to customize your show -->
- Tweak the inputs to customize your show

## Default Preview

![DemoSiine Video Output Preview](DemoSiine.jpg)

## Input Configurations

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 above.

The effect of each input pin is presented in the table below:

<!-- ## Input Configurations -->
| Pin | Functionality | When LOW | When HIGH |
|:----------:|:-------------:|:--------:|:---------:|
| `ui_in[7]` | | | |
| | | | |
| | | | |
16 changes: 8 additions & 8 deletions info.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@ project:
# The pinout of your project. Leave unused pins blank. DO NOT delete or add any pins.
pinout:
# Inputs
ui[0]: "Stop / Run Animation"
ui[1]: "Play / Pause Audio"
ui[2]: ""
ui[3]: ""
ui[4]: ""
ui[5]: ""
ui[6]: ""
ui[7]: ""
ui[0]: "Frame Positive / Negative"
ui[1]: "Enable / Disable Little Sine Layer"
ui[2]: "Enable / Disable Big Sine Layer"
ui[3]: "Enable / Disable Overlay"
ui[4]: "Toggle Overlay Style"
ui[5]: "Toggle Background Style"
ui[6]: "Run / Stop Animation"
ui[7]: "Play / Pause Audio"

# Outputs
uo[0]: "Video Red MSB"
Expand Down
2 changes: 1 addition & 1 deletion src/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

"//": "PL_TARGET_DENSITY - You can increase this if Global Placement fails with error GPL-0302.",
"//": "Users have reported that values up to 0.8 worked well for them.",
"PL_TARGET_DENSITY": 0.9,
"PL_TARGET_DENSITY": 0.85,

"//": "CLOCK_PERIOD - Increase this in case you are getting setup time violations.",
"//": "The value is in nanoseconds, so 20ns == 50MHz.",
Expand Down
4 changes: 2 additions & 2 deletions src/graphics_engine.v
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ module graphics_engine(

wire [5:0] sine_off_y, sine_bg_off_y;

wire [7:0] xy_avg;
wire [3:0] xy_avg;
wire [3:0] cycle_red_colour, cycle_green_colour, cycle_blue_colour;

wire [5:0] overlay_rgb, sine_rgb, sine_bg_rgb, sine_rgb_dither, sine_bg_rgb_dither, bg_rgb;
Expand All @@ -31,7 +31,7 @@ module graphics_engine(
reg [9:0] ctr;
wire [9:0] anim_x, anim_2x;

assign xy_avg = anim_x[8:2] + y[8:1];
assign xy_avg = anim_x[5:2] + y[4:1];
assign cycle_green_colour = xy_avg[3:0];
assign cycle_red_colour = cycle_green_colour - 4'd6;
assign cycle_blue_colour = cycle_green_colour + 4'd6;
Expand Down

0 comments on commit dba7912

Please sign in to comment.