This article needs additional citations for verification. (April 2024) |
A RAMDAC (random-access memory digital-to-analog converter) is a combination of three fast digital-to-analog converters (DACs) with a small static random-access memory (SRAM) used in computer graphics display controllers or video cards to store the color palette and to generate the analog signals (usually a voltage amplitude) to drive a color monitor.[1] The logical color number from the display memory is fed into the address inputs of the SRAM to select a palette entry to appear on the data output of the SRAM. This entry is composed of three separate values corresponding to the three components (red, green, and blue) of the desired physical color. Each component value is fed to a separate DAC, whose analog output goes to the monitor, and ultimately to one of its three electron guns (or equivalent in non-CRT displays).[2]
RAMDACs became obsolete as DVI, HDMI, DisplayPort and other digital interface technology became mainstream, which transfer video data digitally (via transition-minimized differential signaling or low-voltage differential signaling) and defer digital-to-analog conversion until the monitor's pixels are actuated.
The term RAMDAC did not enter into common PC-terminology until IBM introduced the IBM VGA display adapter in 1987. The IBM VGA adapter used the INMOS G171 RAMDAC. The INMOS VGA RAMDAC was a separate chip, featured a 256-color (8-bit CLUT) display from a palette of 262,144 possible values, and supported pixel-rates up to approximately 30 Mpix/s.[3]
As clone manufacturers copied IBM VGA hardware, they also copied the INMOS VGA RAMDAC. Advances in semiconductor manufacturing and PC processing power allowed RAMDACs to add direct-color operation, which is a mode of operation that allows the SVGA-controller to pass a pixel's color value directly to the DAC-inputs, thereby bypassing the RAM lookup-table. Another innovation was Edsun's CEGDAC, which featured hardware-assisted spatial anti-aliasing for line/vector draw operations.
By the early 1990s, the PC chip industry had advanced to the point where RAMDACs were integrated into the display controller chip, thus reducing the number of discrete chips and the cost of video cards. Consequently, the market for standalone RAMDACs disappeared. Today, RAMDACs are still manufactured and sold for niche applications, but in obviously limited quantity.
In modern PCs, the RAMDAC(s) are integrated into the display controller chip, which itself may be mounted on an add-in-board or integrated into the motherboard core-logic chipset. The original purpose of the RAMDAC, to provide a CLUT-based display mode, is rarely used, having been supplanted by True Color display modes. However, many CAD and video editing applications use hardware overlay, combined with the programmable palette, to ensure the user interface does not disrupt the rendering of editing window.
The size of each DAC of the RAMDAC is 6 to 10 bits. The SRAM's word length must be at least three times as large as the size of each DAC. The SRAM acts as a color lookup table (CLUT). It usually has 256 entries (and thus an 8-bit address). If the DAC's word length is also 8 bits, we have a 256 × 24-bit SRAM which allows a selection of 256 out of 16,777,216 (16.7 million) possible colors for the display.[2] The contents of this SRAM can be altered when no pixel needs to be generated for transmission to the display, which occurs during the vertical blanking interval between every frame.
The SRAM can usually be bypassed and the DACs can be fed color directly by display data, for True color modes. In fact this has become very much the normal mode of operation of a RAMDAC since the mid-1990s, so the programmable palette is mostly retained only as a legacy feature to ensure compatibility with old software. In many newer graphics cards, the RAMDAC can be clocked much faster in true color modes, when only the DAC part without the SRAM is used.
A quick estimation on the pixel clock for a given output can be found with:[4]
The ability to drive transitions for sharp edges usually incurs, for the RAMDAC, a significant requirement in excess of the pixel clock.
As of 2006, the DAC of a modern graphics card runs at a clock rate of 400 MHz. However, video cards based on the XGI Volari XP10 run at 420 MHz DAC. The highest documented DAC frequency ever achieved on a production video card for the PC platform is 550 MHz, set by BarcoMed 5MP2 Aura 76Hz by Barco.[5]