In version 3.8 of XJTAG the way that functional test coverage is inferred has changed slightly. Here is a summary of what has changed.

Defining “functional” test coverage is the way to tell XJTAG’s test coverage analysis that you know some part of the circuit is tested, even though XJTAG does not know. Typically this is because the testing takes place outside of JTAG testing and you want your test coverage reports to reflect all of the testing which takes place. Sometimes it comes about because you know that parts of the circuit are implicitly tested by a device file test.

When we were updating the test coverage calculation code as part of XJTAG v3.8, we realised that our rules for how functional test coverage applies to the circuit were unclear and were inconsistent depending on how you defined the functional test coverage. We have therefore changed how this works and the new behaviour is as follows:

If you apply functional test coverage to a device, functional test coverage will be applied to every pin on all nets on which the device has a pin.

If you apply functional test coverage to a net, functional test coverage will be applied to every pin on the net

If you apply functional test coverage to a bus (in the test device file) the test coverage will not be applied to other pins on the nets of that bus

If you apply functional test coverage to a pin, functional test coverage will only be applied to that single pin.

In addition to all this, the place where functional tests are managed in XJDeveloper has been moved – functional tests are now configured via a tab on the main Test Coverage screen so that they are more integrated with the rest of the test coverage analysis feature.