Making a VGA Driver in SystemVerilog

How to build a VGA driver using SystemVerilog on an FPGA board.

10 cards · 1m 20s · tap to begin

From · · 1m 20s

Making a VGA Driver in SystemVerilog

How to build a VGA driver using SystemVerilog on an FPGA board.

In brief

How to build a VGA driver using SystemVerilog on an FPGA board. A student created a working VGA driver in SystemVerilog for an FPGA board, displaying an image with transparency support. Originally reported by Lukaswerner.

Quick answers

What Is VGA?
VGA is a display standard from the IBM PS/2 in 1987 using cathode ray tubes.
What is the key takeaway from Making a VGA Driver in SystemVerilog?
A student created a working VGA driver in SystemVerilog for an FPGA board, displaying an image with transparency support.

What Is VGA?

A glorious beaver orange on a VGA monitor on my working VGA driver

VGA is a display standard from the IBM PS/2 in 1987 using cathode ray tubes.

Screen Refresh Rate

The VGA driver needs a 25.175 MHz clock to send pixels in time for 60Hz refresh.

Implementation Approach

The DE10-lite FPGA board has a 50MHz clock that can be divided to 25MHz for VGA.

Horizontal Timing

Horizontal Timing

640 visible pixels plus 16 front porch, 96 sync pulse, and 16 back porch equals 800 total pixels.

Vertical Timing

480 visible pixels plus 33 front porch, 2 sync pulse, and 10 back porch equals 525 total pixels.

Color Mapping

A simple table maps 4-bit inputs to 12-bit color outputs for limited switches.

Image Display

Image Display

The student loaded an Asterix image from ROM using a custom color mapping system.

Transparency Support

The student implemented alpha channel mixing for transparency in the image display.

Hardware Testing

The VGA driver works on a monitor with a beaver orange color display.

Final Result

Final Result

The student created a working VGA driver displaying an image with transparency support.

In short

A student created a working VGA driver in SystemVerilog for an FPGA board, displaying an image with transparency support.

Read the original on Lukaswerner

React

Sign in to react and comment.

Comments (0)

Life is short. Keep it sweet. Respect others' opinions and be kind!

    Recommended next

    More decks on systemverilog and related topics.