NPI Graphics Video Controller

NPI Graphics Video Controller


Category: Video Controller

Created: April 28, 2008

Updated: January 27, 2020

Language: VHDL

Other project properties

Development Status: Stable

Additional info: FPGA proven

WishBone compliant: No

WishBone version: n/a

License: n/a


The design provides basic video function.


- Configurable resolution up to 1600x1400
- Configurable pixel width 16,32 bit per pixel
- Configurable Burst Size and NPI width
- Stride support
- Direct memory access through Xilinx NPI channel
- Support Spartan3x family, Virtex4, Virtex5
- Demo design and bitstream available for EUS FS, ML403, ML405 and ML505


- Resolutions: 640x480x32/16; 800x600x32/16; 1024x768x32/16; 1600x1200x16
- Tested platforms Spartan3E, Virtex4, Virtex5
- Design is available in VHDL - XPS core

To do

- Docs
- Add virtual DMA engine
- Add multilayer support with an alpha-blending
- Accelerator pipe
- Graphical Library Support (Allegro and AGG)

Reference designs

NPI_VGA_CTRL resolution 800x600: Spartan 3E demo design with sources - EDK 10.1 - board EUS FS
NPI_VGA_CTRL resolution 1280x1024x32b@60Hz: Virtex 4FX demo design with sources - EDK 10.1 - board ML405
Spartan3AN - AGG Demo resolution 800x600x12bit resolution

AGG Demo


The ML405 board AGG demo example that demonstrates clipping to multiple rectangular regions. The example is rendered at PPC. The resolution is 1280x1024x32bits without HW accelerator.

The demos can be downloaded at:

ml405.rar AGG Demo,
, eus_FS - Spartan 3E AGG Demo resolution 800x600x32,
, eus_FS - Spartan 3E AGG Demo resolution 800x600x16 - agg_demo_eus_fs_16bits.rar,
, Spartan3AN - AGG Demo resolution 800x600x12bit resolution,

After download unpack the file, initiate FPGA by downloading bitstream and download demo software by XMD: