Screen Display Simulator written in VHDL and JS. Generates RGB pixel data file from VHDL simulation and displays the pixels on the browser. Expects 24-bit RGB data.
Example output for pattern_generator.vhd
and objectbuffer.vhd
are shown below.
- create a project and import files in the
rtl
directory. - add the testbench from
tb
directory and run the testbench untilvsync
is asserted. rgb.txt
data should be generated under project folder.- open
display.html
fromtools
directory in your browser, load the generatedrgb.txt
data, choose the resolution and hitRender screen
button.
NOTE: Windows support is not added yet.
- Install GHDL and add it to your path.
- run
make
to check VHDL syntax in your code - run
make simulate
to create the RGB data. This runs thetb_display.vhd
testbench for one full frame. It stores pixel color data per clock when in the active video area. Saves in a file calledrgb.txt
. This will take a couple seconds and will take around ~10MB space. - open
display.html
fromtools
directory in your browser, choose the resolution and hitRender screen
button.
+- makefile : GHDL simulation / RGB data generation
+- rtl/
| -- timing_generator.vhd : timing generator
| -- pattern_generator.vhd : color spectrum pattern
| -- objectbuffer.vhd : generates objects
+- tb/
| -- tb_display.vhd : generates rgb values for one frame
+- tools/
|-- display.html : HTML / JS code to display the generated rgb data