Newsletter

Automotive DesignLine  >  Design Center  >  Infotainment

Optimized memory utilization boosts graphics display controller IC efficiency

The complex memory traffic patterns across GDC interfaces present potential bottlenecks. A balanced design architecture can reduce, and even eliminate, choke points while optimizing performance, cost, and board space utilization.

Page 1 of 3

Automotive DesignLine

Graphics display controllers (GDCs) are becoming very popular in an increasing range of embedded automotive electronics applications such as infotainment and navigation displays.

One important design consideration for using these GDCs is graphics memory utilization. There are complex memory traffic patterns across the different interfaces in a typical GDC, with several potential bottlenecks in the system. But there are solutions to these bottlenecks that designers can use—including dedicated and shared architectures. A balanced design approach for graphics memory can be implemented that reduces the risk, or even can eliminate, bottlenecks while also optimizing system performance, cost, and board space utilization.

GDC graphics memory usage
While it is up to the geometry and rendering engines to execute the drawing efficiently, the graphics memory provides the buffer zones where all graphics information is retained. In effect, the graphics memory stores the display frame that will eventually be shown on the vehicle's display panel. Thus, it is very important that the data be delivered to the video output interface in a timely and reliable manner.

The different types of data stored in the graphics memory are:

  • Drawing frame(s)
  • Display frame
  • Z-buffer data
  • Video capture buffer
  • Polygon drawing flag buffer
  • Display list buffer
  • Texture map
  • Cursor pattern

    The display frame is essentially a subset of the drawing or logical frame(s). One of the drawing frames is designated to be shown on the display panel, either wholly or partially. The drawing engine updates the frames after drawing processing, and the modified display frame is then shown on the panel. The memory occupied by these frames is directly proportional to the resolution (horizontal and vertical pixels) and color depth that is used.

    The Z-buffer data contains depth information needed for 3D drawing. It has the same number of bits per pixel as the drawing frame. Each data unit in this buffer indicates how deep the corresponding pixel is located in the 3D space. For example, Fujitsu GDCs use a 3D Cartesian coordinate system that is left-handed and negative (i.e. the direction of positive z-axis is away from the viewer). The data captured from the video input interface also has to be stored temporarily in the graphics memory in the video capture buffer—a 16-bits-per-pixel area sized typically to be 2.2 times one video frame.

    The polygon drawing flag buffer contains 1 bit per pixel of information that is required while drawing polygons. In addition, the graphics memory can also store display lists, texture maps, and bitmaps.

    Prioritizing graphics memory access
    With such a large variety of information stored in graphics memory, the tasks utilizing this information have to be prioritized for memory access. This has already been specified for Fujitsu GDCs, as shown below:

    1. Display Frame Refresh
    2. Video Capture
    3. Display Processing
    4. Host CPU Access (for display lists, texture maps, and bitmaps)
    5. Drawing Access (Z-buffer, polygon flag buffer, etc.)

    The display frame refresh updates the display panel's contents 50 or 60 times a second, or at the vertical refresh frequency rate. This task requires that a significant amount of data be transferred, which directly affects human machine interactivity. Therefore, the refresh task is assigned the highest priority.

    The second task, the video capture, buffers the input video data in the graphics memory. The next function, display processing, includes different processes related to the display controller (i.e. display alpha blending, overlaying, and cursor pattern processing). Then comes the host CPU access, which includes transferring display lists, texture maps, and bitmaps to the memory. The final task is the drawing access that involves updating the drawing frames, using the Z-buffer and polygon flag buffer.

    Page 2: Data traffic patterns: A question of bandwidth  

    Page 1 | 2 | 3



  • Rate this article
    WORSE | BETTER
    1 2 3 4 5




     Featured Jobs
    Skyline Solar Inc. seeking EE, Systems Engineer in Mountain View, CA

    Northrop Grumman seeking RF Systems Engineer in Baltimore, MD

    T-Mobile seeking Senior Voice Messaging Engineer in Bellevue, WA

    Lowe's seeking MVS Systems Programmer III in North Wilkesboro, NC

    ITT Corporation seeking Staff Engineer in Thousand Oaks, CA

    More jobs on EETimesCareers
     Sponsor
     CAREER CENTER
    Ready to take that job and shove it?
    SEARCH JOBS:

     SPONSOR

     RECENT JOB POSTINGS
    For more great jobs, career related news, features and services, please visit EETimes' Career Center.