In today’s article on cell-aware fault modeling, we described how specific layout-dependent faults can be accounted for in the test suite, increasing the test coverage beyond what stuck-at modeling provides and yet keeping the vector count down below what gate-exhaustive modeling would require.
But there has to be some way of defining these specific “user-defined” faults so that the test generation program can include them in the test suite.
Mentor devised their so-called “User-Defined Fault Model”, or UDFM, language to handle this. It’s a human-readable and -writable format, and you can use it to define both static and transition faults. This allows you to describe specific custom faults manually if you wish, although, as described in the article, it would be written out automatically by the tools.
As an example, the following would define the four possible alternative tests for the static fault caused by the low-resistance bridge example in the article:
Fault “Bridge-R4” {
Test {StaticFault “Z”=0; Condition “S0”=0,”S1”=0,”D0”=0,”D1”=-,”D2”=1}
Test {StaticFault “Z”=0; Condition “S0”=1,”S1”=0,”D0”=-,”D1”=0,”D2”=1}
Test {StaticFault “Z”=0; Condition “S0”=0,”S1”=1,”D0”=1,”D1”=-,”D2”=0}
Test {StaticFault “Z”=0; Condition “S0”=1,”S1”=1,”D0”=-,”D1”=1,”D2”=0}
}