Controllability & Observability

The Sandia Controllability/Observability Analysis Program (SCOAP) was the first topology-based program that popularized testability analysis applications. SCOAP methods perform testability analysis by calculating the controllability and observability of each signal line, where controllability reflects the difficulty of setting a signal line to a required logic value from primary inputs and observability reflects the difficulty of propagating the logic value of the signal line to primary outputs. So in short,

Controllability: The ability to set node to a specific value.

Observability: The ability to observe a node’s value.

Lets say I want to control and observe a stuck at 0 fault at point U for the circuit below. 

The SCOAP testability analysis program calculates six numerical values for each signal s in a logic circuit:

  • CC0(s)—combinational 0-controllability of s
  • CC1(s)—combinational 1-controllability of s
  • CO(s)—combinational observability of s
  • SC0(s)—sequential 0-controllability of s
  • SC1(s)—sequential 1-controllability of s
  • SO(s)—sequential observability of s

We will only talk about combinational circuit's controllability and observability here, because doing this type of analysis for a sequential circuit can prove to become very difficult and confusing. For a combinational circuit, the higher the controllability or observability, the tough it is.

CC0 & CC1 Calculation:


CO Calculation:

From the tables we can see that CC0(s) and CC1(s) starts from 1 and higher & CO(s) starts from 0 and goes higher. A larger CC0(s) or CC1(s) value implies that it is more difficult to control s to 0 or 1 from primary inputs. A larger CO(s) value implies that it is more difficult to observe s at any primary output. 1 is added to each rule to indicate that a signal passes through one more level of logic gate. 


Let's say I want to detect SA1 faults at point D and G, and SA0 faults at E and F. So, the first step would be to calculate the controllability and observability of these points using the CC0, CC1 and CO formulas of different gates. 


We can see, at point D for stuck at 1 fault, the observability is 13. And, for point F, the observability is 11 for stuck at 0 fault, which is higher than all the other nodes values. As we know the higher the value of controllability and observability of a point, the harder it is to detect it. So, they can be treated as undetected faults. We can also verify our analysis, if we just compare the faulty outputs with the golden response.


So we can verify the result of our controllability and observability analysis by giving every possible input pattern combinations. No pattern could detect the fault at DSA1 and FSA0, so we can treat these faults as undetectable faults. 

Post a Comment

0 Comments