By John McHale
SAN JOSE, Calif.—Software certification and obsolescence costs can cause headaches for designers of graphic systems for avionics and command-and-control applications.
Avionics displays have “pixel-intensive” graphic displays that require a high-level of determinism that commercial off-the-shelf (COTS), graphics processing units (GPUs) are not designed to handle without expensive tweaking, says Mark Snyder, director of embedded visual computing (EVC) engineering at Quantum3D in San Jose, Calif.
Battling obsolescence can also be costly when using COTS hardware GPUs, says Ray Niacaris, director of EVC software sales at Quantum3D. Many military systems have 20-year life cycles and COTS hardware GPUs become obsolete much too quickly, he continues.
GPUs come from high-volume commercial markets that are not driven by military designs, Snyder adds.
Expensive software driver updates and complicated code also make it more difficult to certify the systems under the Federal Aviation Administration’s (FAA’s) DO-254 and DO-178B requirements, Snyder says. He defines a hardware GPU as a chip designed specifically as a graphics processor.
Quantum3D’s IGL (interactive graphics language) technology is for applications that do not need a hardware GPU, Snyder says. It provides the GPU functions in software, thereby removing the power dissipation and mitigating the excessive costs associated with hardware GPUs, he adds.
These attributes—lower power and more efficient graphics rendering—are also ideal for a command-and-control application Niacaris calls “shirt-pocket situational awareness” or taking the digital information displayed on multiple monitors in the commander’s war room and putting it on a small handheld device. Quantum3D mocked up a prototype for a U.S. Army technology demonstration, by creating an embedded graphics solution on a Dell Axim handheld device, which Niacaris says generated a lot of interest.
Although, at the end of the day, it is really about the software—IGL—because that is what is giving customers “more bang for their buck,” Niacaris says. It is the software strategy that lowers the power dissipation of the chip, he adds.
Quantum’s IData products use IGL in human-machine interface development, Snyder says. It is an open architecture that uses a model-based design instead of one built around code, thereby making safety certification more simple, he says.
IGL uses the industry-standard OpenGL (Open graphics language) API (application programming interface), Snyder says. An industry consortium called Khronos defines the different OpenGL subsets, including the OpenGL SC, which Snyder and his team use for their IGL tool. OpenGL SC is tailored for avionics applications, he adds.
Quantum3D engineers demonstrated a module based on this concept at the Avionics 2008 conference and exhibition in Amsterdam earlier this year. The module was running a digital battlefield map in 3D, Niacaris says. The board was sitting on the display platform and the GPU was exposed, while it rendered a 2D and a 3D map on a display powered by this system.
Quantum3D used a device driver from ALT Software in Toronto, Ontario, and the MPC 5121 chip from Freescale Semiconductor in Austin, Texas. Niacaris says people stopped by the booth just to see “how cool the system was running. The system dissipated about only 2 or 3 watts.”
It is an example of a low-power (SOC) graphics application “we’ve been working on for three or four years,” Snyder says.
What IGL essentially does is “keep everything simple” in the embedded graphic system by standardizing the essential graphics functions, Snyder says. By getting rid of the software driver overhead and unnecessary functionality, it enables the system to focus on its core functions—whether in avionics systems or a warfighter’s handheld computer, he continues. In turn, the processor—which under IGL at times will act as the GPU—more efficiently spends its energy on relevant tasks, thereby cutting overall system power dissipation, Snyder notes.
Snyder references his white paper on IGL, “IGL—A Certifiable Software Based OpenGL SC GPU,” for a description of how IGL is integrated.
“IGL is a software library that is used to create a rendered OpenGL image,” Snyder writes in the white paper. “IGL is compiled for the target platform and linked as a component of the overall user application. It takes the graphics API calls made by the user application and generates the image to be rendered. The user application allocates the memory required for the frame buffer, stencil buffer, and depth buffer on initialization. Pointers to these regions of memory are then used to initialize IGL for use. The user application then sets up the OpenGL state as desired and makes all OpenGL rendering calls required to create the image to display. As the commands are made, IGL begins generating the image to be displayed. Once the user application has completed all OpenGL rendering calls, the image in the frame buffer is ready to be used for whatever the application requires.”
In the paper, Snyder describes IGL as being a “transformation and rasterization engine.” He states that having the two engines improves portability.
“The application developer specifies vertices of graphical primitives via software calls to the supplied OpenGL SC API,” Snyder writes. “Vertices are transformed and the primitives are then rasterized into a block of memory that can be thought of as the frame buffer. The software acts primarily as a state machine, wherein the user is allowed to modify various states and specify geometry to be rendered in a user-defined coordinate system defined by the OpenGL API.”