Projects / VHDL problem sets / Virtual board
Virtual FPGA board
Write VHDL for the pins of this board, program it, and play with its switches and buttons while your design runs: LEDs light up, the display counts, and text arrives in the terminal. Start from one of the examples, or from your own code from the VHDL book.
How the board works
Programming compiles your design with the same VHDL-2008 simulator as the book, here in your
browser, and connects its ports to the pins of the board by name: a port called led
drives the LEDs, a port called sw reads the switches. The list of pins is below the board.
A real board runs at 100 MHz. A simulator in a browser manages a few hundred thousand clock
cycles a second for a small design, so this board runs at a clock you choose, from 10 Hz to 1 MHz,
and shows how close to real time it gets. Write timing with a generic, CLK_HZ: the board fills in its
clock frequency, and the same code runs on a real board with CLK_HZ set to 100 MHz.
A BAUD generic gets the speed of the terminal in the same way.
The LEDs and the display show how long each one was lit since the last screen update, as your eye would: a PWM output looks dimmed, and a display that lights its digits in turn looks steady, as long as it switches fast enough. Slow the clock down to watch either happen.