No description, website, or topics provided.
Switch branches/tags
Clone or download
Latest commit 751e7a1 Oct 30, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build ignores Oct 30, 2017
button-pcb ignore Sep 22, 2017
docs hard code template path Oct 30, 2017
src only draw pixels from buffer when out of the border Oct 25, 2017
tests pulse test bench Oct 24, 2017
.gitignore ignore file Sep 22, 2017
Makefile basename for svg Oct 30, 2017
README.md add links to useful docs Oct 26, 2017
TODO.md updates Oct 24, 2017

README.md

FPGA Virtual Graffiti

overview

example output and construction photos

Tools used

Top resource tips

Documentation

Build notes

Synthesis

make

To program the mystorm board, first start a terminal listening on /dev/ttyUSBX at 115200 baud, and reset the board. Then type:

make prog

Tests

many test benches are in tests. They can be simulated and outputs viewed with gtkwave:

make debug-[name of verilog file]

eg

make debug-bresenham

Storing configuration on the board

Instructions here

SRAM video buffer

Using the SRAM on the back of the board for persistant graffitis. This caused 2 major issues:

Wiimote Camera

I2C reader / writer

fpga read

Started off with this youtube series:https://www.youtube.com/watch?v=rWzB5hZlqBA by Tom Briggs.

In Tom's design, the I2C clock is assigned to the state machine's !clk.

Writing and requesting data was easy, but reading the data was difficult to synchronize the clock. I then tried 2 different approaches:

  • separating the I2C clock and state machine clock to give more time for reading data (4 state machine clocks for 1 I2C clock)
  • generating the clock within the state machine itself.

Option 2 proved much easier to write. I also found this brief Q&A on reddit on the same topic

DVI output

based on Hamster's minimal DVI-D VHDL