Now let us consider s-a-1 in an internal net (output of G1), as shown in Figure 10. As the net output of G1 is stuck-at-1, we need to drive it to 0 to verify the presence/absence of the fault. So at least on input of G1 is to be made 0; at G1, I1=0 and I2 through I5 are 1. To propagate the effect of fault to O, all inputs of G2 though G5 are made 1. Now, if fault is present, then O is 1, else 0. So, I1=0, I2=1,….,I25=1, is a test pattern for the stuck-at-1 fault at net output of G1. It is interesting to note that same test pattern I1=0, I2=1,….,I25=1 tests both s-a-1 at net I1 and output of G1. In other words, in structural testing with stuck-at fault model, one test pattern can test more than one fault.

Figure 10. s-a-1 fault in net OG1 with input test pattern
Now let us enumerate the gains and price paid for structural testing with stuck-at fault model
- Gains
- No extra pin outs or DFT circuitry like 2-1 Multiplexers and shift resisters for controlling and observing internal nets
- Low test time as one test pattern can test multiple stuck-at faults
- Price
- Functionality is not tested, even for the units (gates and Flip-flops). However, testing history reveals that even with this price paid, quality of test solution is maintained.
To conclude, Table 2 compares Structural and Functional Testing
Table 2. Comparison of structural and functional testing
| Functional testing | Structural Testing |
| Without fault models. | With fault models. |
| Manually generated design verification test patterns. | Automatic test pattern generation (ATPG). |
| Slow and labor intensive. | Efficient and automated. |
Fault coverage not known |
Fault Coverage is a quantified metric. |
| More Test Patterns | Less Test Patterns |
| Can be applied at the operating speed. | Difficult to be applied at the speed the design is expected to work. |