Functional verification involves testing various functionalities of a chip design to ensure that the design is operating within the target parameters and getting the right results based on these parameters. In other words, is the design behaving as intended? In fault simulation, the question becomes: if I inject an error into the design that causes the design to fail, can I detect whether this will happen or, even better, can my design still behave the way it’s supposed to? Do I have a valid test environment? If a fault occurred, will my design be resilient enough to endure?
Both functional verification and fault simulation have their own coverage metrics. However, in the interest of efficiency, designers typically look to see how they can leverage test mechanisms from functional verification for fault simulation. In both situations, there’s an almost limitless number of tests that can be run to exhaustively verify the design. Of course, “limitless” doesn’t really support time-to-market targets, given how labor-intensive manually writing software test libraries can be. As such, any technologies that automate functional verification and fault simulation can be a significant benefit to design productivity.
Functional safety compliance adds another twist. Safety-critical automotive applications, for instance, adhere to the ISO 26262 functional safety standard. ISO 26262 outlines a risk classification system called Automotive Safety Integrity Levels (ASILs), whose aim is to mitigate potential hazards stemming from the malfunctioning behavior of electrical and electronic (E/E) systems. ASIL D represents the strictest level and is applied to automotive applications such as ADAS. From a fault simulation standpoint, verification engineers require robust diagnostic tests to verify safety mechanisms will adhere to the requirements of ISO 26262 as well as the IEC 61508 industrial safety standard. At more critical levels, such as ASIL D, coverage demands will also be at higher levels and associated safety mechanisms should be more resilient and, hence, reliable.