PCOLA/SOQ is a unified way to assess the test coverage offered by testing systems. Rather than directly considering what the test system can detect, it starts by considering everything that could be at fault in the device under test, and then scores how well the test system could identify such faults.

Faults are defined in terms of a set of properties for devices:

  • Presence: is there a device where there should be one?
  • Correctness: is that device the one it is supposed to be?
  • Orientation: is the device fitted the correct way around?
  • Live: does the device have basic functionality?
  • Alignment: is the device placed straight and correctly centred on its pads?

and a set of properties for connections to those devices:

  • Shorts: is there a possibility that a connection could be accidentally joined to another?
  • Opens: could a connection have been missed?
  • Quality: are all joints well formed, with enough material to correctly hold?


A weighting is applied to represent how critical a fault with that property may be for that device or connection.

Scores are then awarded, assessing how reliably a test system would detect any fault with one of those properties.

If the test system will always identify any fault with a property, then it can be said to have full cover. For instance, in XJTAG, if a JTAG device has an ID code, we can read it, and therefore be certain what that device is, and by extension whether or not it is the device we expect. This means we can offer full Correctness cover for such a JTAG device.

On the other hand, there may be cases where the test system could only detect some of the possible faults. As an example, if a device has three pins, two of which are later connected via a resistor, then it might not be possible to detect an accidental short between those pins – however a short from either of those pins to the third pin would be detectable. This is partial cover.

Finally, there may be cases where a test system can offer no cover at all. By its nature, boundary scan offers no physical inspection of the unit under test, so XJTAG provides no test coverage for Alignment and Quality.

A device’s score is calculated from the property weights, multiplied by a numeric representation of the cover offered (1 for full, ½ for partial, 0 for none). The average score is then taken across all devices in the unit under test, and reported as a PCOLA score out of 100,000. A similar process is repeated for each connection, and a second number (for SOQ) is calculated. These two numbers form the overall PCOLA/SOQ score for the test system.

An initial implementation of PCOLA/SOQ reporting was introduced into XJDeveloper 3.8 – however grouping and scoring of devices was fairly manual. With XJTAG 3.9 the process is much more automated, and this will be discussed in a future blog post.