An introduction to XJEase Keywords

Alongside standard keywords for data types, operators, expressions, and flow control, there are many others specifically tailored for use in boundary scan test code. Commonly used XJEase keywords include:

  • Pre-defined constants such as BOARD_NAME (a string containing the name that was provided when entering board information into XJDeveloper), and UNIQUE_DEVICE_REF (a string containing the name of the current device, such as IC4, or BoardName.IC4 if it’s a multi-board setup). These are useful when reporting information about test results.
  • The SET statement, which is the main mechanism for reading and writing pins on the board or those on the JTAG controller.
  • Functions for user-interaction such as INPUTBOX (which can display a dialog box to collect an input string from the user such as a serial number), MESSAGEBOX (a function that can display a dialog box with buttons to obtain the user's response), and MESSAGEBOX_ASYNC (similar to MESSAGEBOX except execution continues without waiting for a response). There is also PRINT (which writes strings and integers to an output channel such as a display window) and PRINT_DEVICE_LINK (which causes a hyperlink to a device to be outputted that can be used by the schematic and layout viewers).
  • Functions that interact with a keyboard: for example, GETKEY (which checks for a keypress) and WAITKEY (which waits for a keypress to occur)
  • Functions for variable manipulation such as BIN and HEX (to format an integer as a binary or hexadecimal string), ASC and CHAR (to convert between a single ASCII character and the integer that represents it), and STRTOINT (which converts a string into an integer value).
  • Keywords related to the size of integers such as parameter WIDTH (used to define an integer's width) and WIDTHOF (a function that takes a variable and returns its width).
  • As well as keywords such as FOR, IF, and SWITCH that were described earlier in this user guide chapter in the section on flow control, there are also related keywords such as BREAK (to terminate a loop), RETURN (to force a function to terminate early), EXIT (to abort all XJEase file execution) and SLEEP (to pause execution for a specified number of milliseconds).
  • Keywords related to testing such as CALL, which is used in a circuit code file to execute a function that's in a test device file.
  • Keywords for boundary scan functions such as CHECKCHAIN (which checks that the chain is working and that the devices’ ID codes match what is expected), and CONNTEST (which runs the automatically generated interconnection test).
  • System related keywords such as NOW, which returns the current time in milliseconds.

Refer to the XJEase Keyword Reference section in the XJTAG Help system for a list of all keywords and how to use them.