Imagine this: You are driving 75 miles per hour down the highway in your new 2006-model listening to Steve Miller's Greatest Hits suddenly the engine management system or the stability control fails. Not only could you be in a serious or possibly fatal accident, but the car manufacturer's reputation could be in jeopardy if you aren't the only one in a similar situation.
With the evolution of automobiles from purely mechanical machines into today's highly integrated drive-by-wire automotive electronics systems, design engineers now face added challenges. They must continually add complex electronics to each successive model year while still maintaining high standards for quality and reliability, all while meeting the stringent demands of low-cost, high-volume production.
Traditionally, these developers have relied on microcontrollers (MCUs), ASICs and bulky wiring harnesses to implement and control these systems and expand the capabilities of each automotive generation. Today, these technologies are reaching their limits, as well as creating reliability concerns as complexity grows exponentially. To solve these problems, many designers are turning to FPGAs as a flexible, low-cost solution for their next-generation automotive electronics designs.
Failures from space
The need for component reliability data is essential to ensure the proper function of the various systems in today's vehicles. While most elements of component reliability are well understood, there are some unique issues that should be factored into the selection process when selecting programmable logic devices such as FPGAs.
Specifically, technology decision makers must anticipate sources of failure that will impact programmable logic systems specifically. While the concept of bombardment of neutrons from space (cosmic rays) sounds a bit like something straight out of a Star Trek episode, neutron-induced errors are a dangerous reality for many types of electronic equipment.
Neutron-induced firm errors have progressed from being a nuisance to being a significant problem. For example, a neutron-induced upset to the configuration element of an SRAM-based (static-RAM-based) FPGA could result in loss of functionality. When this occurs, it may cause the host system to malfunction. Looking into the future, this problem will only worsen as future deep submicron manufacturing processes will continue to create substantial challenges for designers of FPGA-based automotive electronics.
The single-event upsets (SEUs) caused by neutrons inside integrated circuits can occur in any type of volatile memory cells. The aforementioned SRAM-based FPGAs use internal memory elements to hold the configuration state (or personality) of the FPGA. These memory elements pose a more serious reliability threat. When the contents are changed, it is called a "soft-error" because data, not functionality is affected. While the device can successfully be rewritten with correct data (EDAC (error detection and correction) or TMR (triple module redundancy) can be used for SRAM data and registers respectively), soft errors can lead to loss of data or "system exceptions."
When an SRAM-based FPGA configuration memory cell is corrupted, it is called a "firm error" because these errors are not easily detected or corrected and are not transient in nature. Once a firm error occurs in an FPGA, the device must be reloaded with its original configuration. In some cases, the power must first be recycled to clear the fault, and then, reconfigured.
The consequences of a neutron-induced SEU in one of these configuration cells could be severe. If a configuration bit upsets and changes state, it could change the entire functionality of the device, resulting in significant data corruption or the forwarding of spurious signals into other circuits in the system. In extreme cases, the undetected existence for a prolonged period of a firm error can become a "hard error" and cause the destruction of the device itself or the system containing the device (a neutron-induced firm error that misroutes a signal creating an internal short is one common example of this type of problem).