Testing non-JTAG Devices
Including tests for devices that do not have JTAG is very important in achieving the highest possible test coverage. Connection testing is very good at checking the physical, manufacturing integrity of a lot of a circuit; however there are faults that it cannot detect. For example it is only possible for a connection test to check that a pin is not open circuit if communication can be seen between that pin and another pin in the design. This means that a connection test can only check for open circuit faults on pins that have JTAG capability and are on nets with at least one other JTAG enabled pin.
However, by using the connections between the accessible pins/busses on devices in the JTAG chain to drive and monitor signals on non-JTAG devices, it is possible to test other pins for open circuit faults. Exercising the functionality of non-JTAG devices in this way means that open circuit faults can be found on both the peripheral device and the JTAG enabled device. Short circuit faults and stuck-at faults can also be detected in this way; however connection testing is a more effective tool for finding these types of fault.
This form of testing can be used on individual devices but is often applied to a group, or cluster, of non-JTAG devices in the circuit. Some JTAG tool vendors refer to this type of testing as cluster testing.
One variant of this method is memory testing. A sequence of JTAG test signals is created to manipulate the address and data busses of a memory device so as to write information into memory, then a second set of test signals is created to read this information back. This can apply to SRAM, SDRAM, Flash memory or any variant.
If any non-JTAG device is connected to a JTAG device, its functionality and/or connections can be tested to some extent. For instance:
- External Connectors
- Video chips
- IIC devices
- Ethernet Controllers
- and many more...