Introduction to XJEase
XJEase is a simple, yet fully featured procedural programming language designed to make it easy to write reusable tests for devices.
XJEase code is best created inside XJDeveloper. Here code can be edited and explored, with definitions of variables and functions easily navigated to. Tests can be run and debugged, with the ability to step through the code, set breakpoints and examine variables.
There are two types of files that contain XJEase code in a project:
- Circuit code files
- These files contain just code and are defined at the project level, containing tests that are specific to the circuit or that span multiple devices. These are managed and edited on the Circuit Code Files Screen .
- Test device files
- A test device file defines reusable tests for a specific device. It includes metadata about the device, including bus definitions, as well as the test code for the device and references to associated additional code files. Additional code files are XJEase files that just contain code, and provide modular packages of functionality. Test Device Files are managed and edited on the Test Device Files Screen.
The User Guide contains more details about creating Test Device Files.
XJEase Library
XJTAG comes with a large library of Test Device Files and Additional Code Files for many common devices, which can be added to a project and used with no modification. When an unsupported device is encountered, the library will usually provide a file for a similar device that can be used as a good starting point for the new device.
It is also possible to create your own libraries to make it easy to manage and distribute your own XJEase code within an organisation.
Characteristics of XJEase
XJEase is designed specifically for writing tests for hardware devices and to be easy to learn.
Integer variables can have an arbitrary width, meaning there is no limit on the width of a bus that can be represented. It is also possible to represent whole blocks or pages of data in as a single value. The arithmetic operators are similar to most mainstream languages.
XJEase is case sensitive. All language keywords and built-in functions, constants and variables are upper-case. It is recommended that most user-defined values and functions are not upper-case, to eliminate the risk of future language enhancements conflicting with existing code.
XJTAG v4.1.100