VGA (video graphics array) is a video display standard. A VGA controller generates the synchronization signals and outputs data pixels serially. In this chapter, we discuss the development of a 640-by-480 resolution VGA controller and software driver. The hardware portion includes a VGA synchronization circuit, an SRAM based dual-port video memory controller, and an Avalon interface wrapping circuit. The software portion includes the driver routines to read and write the video memory, to plot simple lines, and to display and erase texts and bitmap images as well as basic routines to retrieve an image from a file in BMP format.


VGA is a video display standard introduced in the late 1980s in IBM PCs and is widely supported by PC graphics hardware and monitors. While it was designed for CRT (cathode ray tube) monitors, most modern LCD (liquid crystal display) monitors usually include a VGA port. Thus, the circuit developed in this chapter can be used in conjunction with LCD monitors as well.

18.1.1 Basic operation of a CRT

The conceptual sketch of a monochrome CRT monitor is shown in Figure 18.1. The electron gun (cathode) generates a focused electron beam, which traverses a vacuum tube and eventually hits the phosphorescent screen. Light is emitted at the instant that electrons hit a phosphor dot on the screen. The intensity of the electron beam and the brightness of the dot are determined by the voltage level of the external video input ...

Get Embedded SoPC Design with Nios II Processor and Verilog Examples now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.