Overview

CDC-200 is a fully customizable display controller IP supporting OpenWF display API specification. A number of features can be configured both at synthesis time and at run time. In this way the display controller can be adapted to both FPGA systems (limited features, special applications) or for an ASIC (generic feature set, more flexibility.) At compile time, the most important features that can be configured are, (A)RGB formats, number of layers, alpha blending technique. The maximum number of (A)RGB layers is only dependent on the bus bandwidth and timing constraints. CDC-200 can support AMBA APB and AHB/AXI as well as the Altera AVALON bus interface.. The controller provides a digital RGB signal with video data and signals for horizontal/vertical blank and synchronization as output. To support a large number of displays, resolution and refresh rate can be register controlled.
Download CDC (Display Controller) data sheet
Highlights
- Multiple layers - GUI on top of HMI
- Windowing - Picture-in-Picture
- Flexible color format handling - RGB565, ARGB8888 etc.
- Gamma Correction - Using independent look-up tables for R,G,B
- Dithering - For outputs with low bits per channel
- Configurable alpha blending modes - Resource usage vs. flexibility
- Compile time parameterization - Allows to tailor resource usage to real system needs
- High Resolution support upto 65536 x 65536
- Video overlay
Architecture

Configurable Features
| Feature | Description |
| Multiple Layers | Support for a variable amount of layers |
| Alpha-Layer | Ability to store alpha-values for layers in separate Alpha-Layers |
| Windowing | Each layer can have an individual size and position |
| Variable Resolution and Refresh Rate | Support for resolutions up to 65536x65536 at different refresh rates |
| Variable Resolution and Refresh Rate (Runtime) | Ability to change resolution and refresh rate at runtime |
| Gamma Correction> | Correct gamma via a configurable Gamma Ramp |
| Vertical IRQ | Raise an IRQ if the end of a frame is reached |
| Background Colour | Ability to specify a custom background colour< |
| Blending Techniques | Provide several techniques of alpha blending |
| Variable pixel-formats | The output pixel-format can be adjusted |
| Dithering | Ability for dithering |
Supported Pixel Format (selection)
In general all formats which encode (A)RGB in 8,16 or 32 bits can be configured. At run-time, a set of up to 8 formats can be defined.
| Format | Description |
| 8888 | 32 bit ARGB, alpha channel optional |
| 4444 | 16 bit ARGB, alpha channel optional |
| 1555 | 16 bit ARGB, alpha channel optional |
| 565 | 16 bit RGB, no additional alpha channel |
| 8 | 8 bit Greyscale, can be used as alpha-values |
Supported Blending Techniques
| Technique | Description |
| Simplified Blending | Simplified calculation: Division by 256 instead of 255. Correction for alpha-values of 255. |
| Precise Blending | Division by 255 (MulDiv255). Correct results |
In general the formula for alpha blending two layers (i.e. Layer0 and Layer1) is:
ColourRes = f1 * colour1 + f0 * colour0
Colour1 is the colour of the top layer, colour0 of the subjacent layer. The factors f1 and f0 are alpha values. The blending mode describes which alpha values to use for f1 and f0. For both of the parameters an own blending mode can be chosen. The information of the blending mode is stored in the upper layer (in this case Layer1). The alpha values are stored in the upper layer (a1) and in the subjacent layer (a0).
Gamma Ramp
Gamma ramp is for gamma correction. All output pixels are forwarded to it unless the ramp is deactivated. The ramp consists of three lookup tables, one for each colour. Input colours are used as an address to the gamma-corrected value.
For More Information
Please contact This e-mail address is being protected from spambots. You need JavaScript enabled to view it
