CONNTEST
XJTAG software can automatically generate and perform a connection test (interconnect test) on the circuit. This test is used to detect open-circuit and short-circuit faults as well as stuck-at faults. It includes tests of pull resistors and logic devices which are accessible via JTAG devices. The connection test is also able to drive signals through other supported hardware such as bed-of-nails or flying probe machines. This can increase test coverage on the circuit even further by testing signals between JTAG devices and test points accessible from the other machine.
The CONNTEST function is used to perform this connection test (or interconnect test) on the circuit.
It is important to make sure that all devices that are connected to JTAG components have been completely checked to ensure that the output pins are disabled (see the Test Device Files screen). Otherwise contentions can occur whilst running the connection test, which may damage the JTAG devices.
The way the connection test runs can be modified by configuring the various options on the Connection Test settings tab on the XJRunner Setup screen in XJDeveloper. This screen has options to help with ground bounce effects and to specify whether certain errors are searched for.
The CONNTEST function cannot be used inside either a HOLDOFF block or a raw JTAG block.
Syntax
The CONNTEST function can be called in one of three different ways:
CONNTEST()
CONNTEST( INT debugLevel )
CONNTEST( INT debugLevel )( INT result, INT nets, INT pins )
Parameters
- debugLevel
-
The debugLevel value indicates how much output should be generated by the connection test when errors are found. The valid values are defined as constants in the standard Globals.xje circuit code file that is added to all new projects:
Value Description Constant 4 Do not output any information, just return the number of errors detected. CONNTEST_DEBUG_NONE 3 Output the type of each error found. CONNTEST_DEBUG_BRIEF 2 Output the type of each error and list the pins on the related nets. CONNTEST_DEBUG_NORMAL 1 Output the type of each error and output debug information indicating the values that were read and written when the error was detected. CONNTEST_DEBUG_DETAILED 0 Output the type of each error, the debug information and the list of pins on related nets. CONNTEST_DEBUG_ALL If the debug level is not provided, then the default as specified either in the project settings or overridden in the Enhanced Testing Options dialog on the Run Tests screen in XJDeveloper or XJInvestigator, or in the Enhanced Testing Options in XJRunner is used.
- result
- Returns the number of errors that were found.
- nets
- Returns the number of nets that were tested.
- pins
- Returns the number of pins that were tested.
Return value
When called in an expression (either of the first two syntax forms above), the function returns an INT value indicating the number of errors that were found.
Debugging Errors
To learn about tracing errors reported by the connection test, see Tracking down reported errors.
If high current levels or unexplained errors occur during the connection test, see Troubleshooting the Connection Test to help you track down the problem. There are also FAQs on common JTAG issues reported by the connection test.
N.B. Certain errors may only be visible at certain TCK frequencies.
Example
GLOBAL CustomConnectionTest()(INT result) INT numErrors; numErrors := CONNTEST(CONNTEST_DEBUG_NORMAL); IF numErrors > 0 THEN PRINT("Connection Test found errors\n"); result := RESULT_FAIL; ELSE PRINT("Connection Test passed\n"); result := RESULT_PASS; END; END;
XJTAG v4.1.100