ScanExpress JET

jet icon 1 - ScanExpress JETScanExpress JET

At-Speed Non-Intrusive Functional Testing

Functional circuit board testing presents many challenges that are often costly and time consuming. Most functional tests need to be customized for each design, limiting reusability. This results in software engineers vying for time between development code and test code. Even when functional tests become available, the diagnostic details are often inadequate to give clear visibility on a given problem.

ScanExpress JET is a tool designed to overcome these challenges by automating the functional test generation process on CPU–based IEEE-1149.1 compliant circuit boards. Coined JTAG Embedded Test, JET is the preferred method for at-speed, non-intrusive functional testing.



  • Dramatically enhances UUT test coverage when it includes a CPU with a JTAG debug/emulation port
  • CPU assists at-speed testing using test routines downloaded via JTAG into CPU cache memory or external RAM
  • JTAG Embedded Tests are able to be combined with boundary-scan structural tests for extended test coverage
  • Automatic generation of functional tests for common peripherals
  • Software guides the user through a logical sequence of steps for constructing test steps from start to finish
  • “C”-style command file script language with single-step capability assists in writing custom test sequences
  • Extends coverage beyond boundary-scan for:
    • All CPU accessible resources
    • Boundary-scan inaccessible components and analog devices
    • I/O port testing using external equipment
  • In-System Programming (ISP) of Flash up to theoretical speeds
  • Large library of supported processors
  • Automatically constructs test plans for integration into the ScanExpress Runner™ test execution sequencer (sold separately)

JET automates at-speed functional test development of peripheral components that interface with an IEEE-1149.1 compatible CPU. JET provides a peripheral component library that allows reusability across multiple CPU platforms. The highly customizable diagnostic scripts provide users with the pinpoint resolution they need to clearly identify failures. Corelis offers both a stand-alone JET solution as well as a combined solution with traditional JTAG structural interconnect testing. JET is ideal for testing boards without the need to modify the PCB circuitry or the on-board firmware.  JET operates through a CPU’s

combiningJTAGfunctionaltest - ScanExpress JET

Combining JTAG and Functional Test to Increase Test Coverage

JTAG port to provide users simplified access to the following operations:

  • Run, Stop, and Step Functions
  • Ability to Write to Registers and Memory
  • Ability to Read from Registers and Memory
  • Exchange Parameters with the JTAG Host
  • Display CPU Status

The host software automatically uses these features to download test & diagnostic routines into the CPU’s cache or external memory. These routines then execute at full processor speed and send results back to the host.

UUTconfiguration - ScanExpress JET
UUT configuration combining a single CPU scan-chain with two additional scan chains using a NetUSB-1149.1/E controller

Corelis also supports the following processors. Click Here.

For more information, please contact Corelis sales.

Manufacturer Architecture
Altera ARM Cortex-A9 MPCore
Supported Processors
Cyclone V SoC


Manufacturer Architecture
Supported Processors
AU15x0, Au1000, AU1000LP, AU1000N, Au1100, Au1200, Au1500, AU1550, 8th G x86, Athlon, Duron 7thG, Efficeon, Geode NX, K7, SC520


Manufacturer Architecture
Applied Micro PowerPC
Supported Processors
PowerPC-401GF, PowerPC-403GA, PowerPC-403GB, PowerPC-403GC, PowerPC-403GCX, PowerPC-405CR, PowerPC-405EP, PowerPC-405EX, PowerPC-405EXr, PowerPC-405EZ, PowerPC-405GP, PowerPC-405GPR, PowerPC-405H, PowerPC-405L, PowerPC-405LP, PowerPC-405PM, PowerPC-405PS, PowerPC-4xx, PowerPC-NPe405H, PowerPC-NPe405L, PowerPC-440EP, PowerPC-440EPx, PowerPC-440GP, PowerPC-440GPR, PowerPC-440GR, PowerPC-440GRx, PowerPC-440GX, PowerPC-440SP, PowerPC-440SPe, PowerPC-460EX, PowerPC-460GT


Manufacturer Architecture
Supported Processors
tangent-A4, tangent-A5, ARC 605, ARC 610D, ARC 625D, ARC 710D, ARC 725D, ARC 750D


Manufacturer Architecture
Supported Processors
Cortex-M3, Cortex-A9 MPCore, ARM1136, ARM1136J-S, ARM1136JF-S, ARM1156, ARM1176, ARM11MPCore, ARM710T, ARM710T-AMBA, ARM720T, ARM740T, ARM720T-AMBA, ARM740T-AMBA, ARM7TMDI-AMBA, ARM7TMDI-S, ARM7TMDI, ARM922T, ARM925T, ARM926T, ARM940T, ARM946T, ARM9TDMI, ARM920T, ARM926EJ-S, ARM946E-S, ARM966E-S, ARM968E-S, ARM996HS


Manufacturer Architecture
Atmel ARM7, ARM9, ARM9E
Supported Processors
AT91C140, AT91F40416, AT91F40816, AT91FR40162, AT91FR40162S, AT91FR4042, AT91FR4081, AT91M40400, AT91M40800, AT91M40807, AT91M42800A, AT91M43300, AT91M55800A, AT91M63200, AT91R40008, AT91R40807, AT91RM3400, AT91SAM7A1, AT91SAM7A2, AT91SAM7A3, AT91SAM7S128, AT91SAM7S256, AT91SAM7S32, AT91SAM7S321, AT91SAM7S512, AT91SAM7S64, AT91SAM7SE256, AT91SAM7SE32, AT91SAM7SE512, AT91SAM7X128, AT91SAM7X256, AT91SAM7X512, AT91SAM7XC128, AT91SAM7XC256, AT91SAM7XC512, AT91RM9200, AT91SAM9260, AT91SAM9261, AT91SAM9261S, AT91SAM9263, AT91SAM9G20


Manufacturer Architecture
BAE Systems PowerPC
Supported Processors


Manufacturer Architecture
Broadcom MIPS, MIPS32, MIPS64
Supported Processors
BCM5706, BCM5708, BCM6352, BCM7110, BCM7315, BCM7803, BCM1100, BCM1101, BCM3310, BCM3345, BCM3348, BCM3349, BCM3350, BCM3351, BCM3352, BCM3360, BCM3361, BCM3362, BCM6348, BCM7100, BCM1122, BCM1125, BCM1125H, BCM1125Y, BCM1155, BCM1180, BCM1250, BCM1255, BCM1260, BCM1280, BCM1455, BCM1480, BCM1103, BCM1113, BCM5350, BCM5365, BCM6338, BCM6345, BCM6358, BCM6550, BCM7111, BCM7115 , BCM7312, BCM7317, BCM7318, BCM7401, BCM7402, BCM4704, BCM4716, BCM4717, BCM4718, BCM1250


Manufacturer Architecture
Cirrus Logic ARM7, MIPS32
Supported Processors
CS22210, CS22220, CS22230, CS22250, CS22270, CS89712, EP7209, EP7211, EP7212, EP7339, EP7407, PS7110, PS7111, PS7500FE, SH8665, SH8668, EP7309, EP7311, EP7312, CS7410


Manufacturer Architecture
Freescale ARM7, ARM9, ARM9E, ARM11, Coldfire, CPU32, Power Architecture Technology, Cortex-A8, DSP
Supported Processors
i.MX51, i.MX31, i.MX31L, MAC7101, MAC7104, MAC7105, MAC7106, MAC7111, MAC7112, MAC7114, MAC7115, MAC7116, MAC7121, MAC7122, MAC7124, MAC7125, MAC7126, MAC7131, MAC7134, MAC7135, MAC7136, MAC7141, MAC7142, MAC7144, MAC7200, MAC7202, MAC7212, MAC7222, MAC7241, MAC7242, MAC7252, MAC7xxx, i.MXS, M9328MX1, MC9328MX1, MC9328MXL, MC9328MXS, MC9328MX21, MC9328MX21S, MC94MX21, i.MX21, i.MX27, XC68HC912, MCF5202, MCF5203, MCF5204, MCF5206, MCF5206E, MCF5207, MCF5208, MCF52100, MCF5211, MCF52110, MCF5212, MCF5213, MCF5214, MCF5216, MCF52210, MCF52211, MCF52212, MCF52213, MCF52221, MCF52223, MCF52230, MCF52231, MCF52232, MCF52233, MCF52234, MCF52235, MCF52236, MCF52274, MCF52277, MCF5232, MCF5233, MCF5234, MCF5235, MCF5249, MCF5249L, MCF5251, MCF5253, MCF5270, MCF5271, MCF5272, MCF5274, MCF5274L, MCF5275, MCF5275L, MCF5280, MCF5281, MCF5282, MCF52xx , SCF5250, MCF5307, MCF5307A, MCF5307B, MCF5327, MCF5328, MCF53281, MCF5329, MCF5372, MCF53721, MCF5372L, MCF5373, MCF5373L, MCF53xx , MCF5407, MCF5407C3, MCF54450, MCF54451, MCF54452, MCF54453, MCF54454, MCF54455, MCF5470, MCF5471, MCF5472, MCF5473, MCF5474, MCF5475, MCF5480, MCF5481, MCF5482, MCF5483, MCF5484, MCF5485, MCF54xx , 683xx , MC68302, MC68306, MC68307, MC68308, MC68328, MC68330, MC68331, MC68332, MC68334, MC68336, MC68338, MC68340, MC68341, MC68349, MC68356, MC68360, MC68376, MC68EN360, MC68F333, MC68MH360, 56300, 56600, 56700, 56800, DSP56301, DSP56303, DSP56307, DSP56309, DSP56311, DSP56321, DSP56362, DSP56364, DSP56366, DSP56367, DSP56371, DSP56374, DSP56824, DSP56852, DSP56853, DSP56854, DSP56855, DSP56857, DSP56858, DSP56F801, DSP56F802, DSP56F803, DSP56F805, DSP56F807, DSP56F8122, DSP56F8123, DSP56F8135, DSP56F8145, DSP56F8146, DSP56F8147, DSP56F8155, DSP56F8156, DSP56F8157, DSP56F8165, DSP56F8166, DSP56F8167, DSP56F826, DSP56F827, DSP56F8322, DSP56F8323, DSP56F8335, DSP56F8345, DSP56F8346, DSP56F8347, DSP56F8355, DSP56F8356, DSP56F8357, DSP56F8365, DSP56F8366, DSP56F8367, RedCap, StarCore, MSC7110, MSC7112, MSC7113, MSC7115, MSC7116, MSC7118, MSC7119, MSC8101, MSC8103, MSC8122, MSC8122SW, MSC8126, MSC8126SW, MSC8144, MSC8144E, MSC8144EC, DSP56156, DSP56166, MGT5100, PPC750CX, PPC750CXE, MGT560


Manufacturer Architecture
Supported Processors
PPC401 , PPC403 , PPC405 , PPC603, PPC604, PPC604e, PPC740L, PPC740, PPC750, PPC750CLDD2, PPC750CX, PPC750CXDD2, PPC750CXe, PPC750CXEDD2, PPC750CXr, PPC750FLDD2, PPC750FX, PPC750FXDD2, PPC750GLDD1, PPC750GX, PPC750GXDD1, PPC750L, PPC603e, PPC603ev


Manufacturer Architecture
Intel Xscale, Atom
Supported Processors
Z500, Z510, Z510P, Z510PT, Z515, Z520, Z520PT, Z530, Z530P, Z540, Z550, 80200 , 80219 , 80321 , 80331, 80332 , IOP310 , IOP321, IQ80315 , IQ81341, IQ81342 , IXC1100, IXP2350, IXP23x0 , IXP2400, IXP2800, IXP2805, IXP2850, IXP2855, IXP28xx , IXP420, IXP421, IXP422, IXP423, IXP425, IXP460, IXP465, IXP46x , PXA210, PXA250, PXA255, PXA25x , PXA260, PXA261, PXA262, PXA263, PXA26x , PXA270, PXA271, PXA272, PXA273, PXA27x , PXA290, PXA29x


Manufacturer Architecture
Marvell ARM9
Supported Processors
88i8945, 88FR101, PXA255


Manufacturer Architecture
Supported Processors
4Kc, 4Ke , 4Km , 4Kp, 5Kc


Manufacturer Architecture
Micrel ARM9
Supported Processors
KSZ8695P, KSZ8695PX, KSZ8695X, KSZ8692PB, KSZ8692MPB, KSZ8692XPB, KSZ8692PB, KSZ869MPB, KSZ8692XPB


Manufacturer Architecture
Supported Processors
ERTEC200, VR5432, VR5500


Manufacturer Architecture
Supported Processors
LPC21xx, LH75400, LH75401, LH75410, LH75411, LH79520, LH79524, LH79525, LPC2101, LPC2102, LPC2103, LPC2104, LPC2105, LPC2106, LPC2109, LPC2112, LPC2114, LPC2119, LPC2124, LPC2129, LPC2131, LPC2131/01, LPC2132, LPC2132/01, LPC2134, LPC2134/01, LPC2136, LPC2136/01, LPC2138, LPC2138/01, LPC2141, LPC2142, LPC2144, LPC2146, LPC2148, LPC2157, LPC2158, LPC2194, LPC2210, LPC2212, LPC2214, LPC2220, LPC2290, LPC2292, LPC2294, LPC2361, LPC2362, LPC2364, LPC2365, LPC2366, LPC2367, LPC2368, LPC2377, LPC2378, LPC2387, LPC2388, LPC2460, LPC2468, LPC2470, LPC2478, LPC2880, LPC2888, LPC3xxx, LH7A400, LH7A404, LPC3130, LPC3131, LPC3141, LPC3143, LPC3152, LPC3154, LPC3180, LPC3181, LPC3180, LPC3220, LPC3230, LPC3240, LPC3250


Manufacturer Architecture
Nvidia ARM Cortex-A15
Supported Processors
Tegra K1


Manufacturer Architecture
Supported Processors
ML674000, ML674001, ML674002, ML674003, ML675001, ML675002, ML675003, ML67Q4050, ML67Q4051, ML67Q4060, ML67Q4061, ML696201, ML69Q6203


Manufacturer Architecture
Supported Processors
RM7900, RM7935, RM7965, RM9000x1, RM9000x2, RM9150, RM9220 (RM9000x2GL), RM9222 (RM9000x2GL), RM9224 (RM9000x2GL)


Manufacturer Architecture
Supported Processors
Au1000, Au1100, Au1200, Au1210, Au1250, Au1500, Au1550, XLR, XLR308, XLR508, XLR516, XLR532, XLR716, XLR732, XLS202, XLS204, XLS404, XLS408, XLS608


Manufacturer Architecture
Samsung ARM7, ARM9, ARM9E
Supported Processors
KS17C4000 , S3C4510 , S3C4530 , S3F441FX , S5N8947 , S3C3410, S3C44B0X, S3C4510B, S3F4A0KR, S3F4A1HR, S3F4A2FR, S3C2410, S3C2500 , S3C2410A, S3C2440, S3C2440A, S3C2442A, S3C2443, SC32442, S3C2412, S3C2413


Manufacturer Architecture
ST Microelectronics ARM7, ARM9, ARM10E
Supported Processors
STA2064, STA2065, STA2051, STR710, STR710FZ1, STR710FZ2, STR711FR0, STR711FR1, STR711FR2, STR712FR0, STR712FR1, STR712FR2, STR715FR0, STR730, STR730FZ1, STR730FZ2, STR731FV0, STR731FV1, STR731FV2, STR735FZ1, STR735FZ2, STR736FV0, STR736FV1, STR750FL2, STR750FV0, STR750FV1, STR750FV2, STR751FR0, STR751FR1, STR751FR2, STR752FR0, STR752FR1, STR752FR2, STR755, STR755FR0, STR755FR1, STR755FR2, STR755FV0, STR755FV1, STR755FV2, STn8810, STn8810S12, STn8811A12, STn8815A09, STn8815A12


Manufacturer Architecture
Texas Instruments ARM7, DSP, OMAP
Supported Processors
TMS470R1A128, TMS470R1A256, TMS470R1A288, TMS470R1A384, TMS470R1A64, TMS470R1B1M, TMS470R1B512, TMS470R1B768, TMS470R1VC336A, TMS470R1VC338, TMS470R1VC346A, TMS470R1VC348, TMS470R1VC688, TMS470R1VF288, TMS470R1VF336, TMS470R1VF336A, TMS470R1VF338, TMS470R1VF346A, TMS470R1VF348, TMS470R1VF356A, TMS470R1VF37A, TMS470R1VF448, TMS470R1VF45A, TMS470R1VF45AA, TMS470R1VF45B, TMS470R1VF45BA, TMS470R1VF478, TMS470R1VF48B, TMS470R1VF48C, TMS470R1VF55B, TMS470R1VF55BA, TMS470R1VF67A, TMS470R1VF688, TMS470R1VF689, TMS470R1VF76B, TMS470R1VF7AC, TMS320C5501, TMS320C5502, TMS320C5503, TMS320C5506, TMS320C5507, TMS320C5509, TMS320C5509A, TMS320C5510, TMS320C6202, TMS320C6412, TMS320C6413, TMS320C6415, TMS320C6416, TMS320C6455, TMS320C6711, TMS320C6713, TMS320C6713B, TMS320VC5510A, TMS320DM642, TMS320DM6446, TMS320DM6467, TMS320DM646x, OMAP3503, OMAP3515, OMAP3525, OMAP3530, OMAP35x, OMAP-L137, OMAP-L138, OMAP-L1x, OMAP5910, OMAP5912


Manufacturer Architecture
Wintegra MIPS64
Supported Processors
WIN71711, WIN71718, WIN717D4, WIN717D6, WIN717P4, WIN717W3, WIN717W6, WIN730, WIN737, WIN737D4, WIN737M6, WIN737P4, WIN740P6, WIN747, WIN747D2, WIN747D4, WIN747P6, WIN747W6, WIN770, WIN770M6, WIN777, WIN777M6, WIN780, WIN780M6, WIN780W4, WIN787, WIN787D4, WIN787M6, WIN7xx, WIN867M6NFFI350 , WIN1xx


Manufacturer Architecture
Xilinx PowerPC, Zynq-7000
Supported Processors
PPC405, Z-7010, Z-7015, Z-7020, Z7030, Z-7035, Z-7045, Z-7100, Z-7007S, Z-7012S, Z-7014S


Corelis pioneered JTAG emulation and has provided customers with thousands of JTAG emulators for many CPU types. Corelis is also the world leader in boundary-scan test tools. Combining these two technologies into one product provides customers with an integrated development and execution test environment with a single point of contact and support.

The JET testing method depends on the UUT having a JTAG-enabled processor (CPU) on-board. The CPU dedicated JTAG Test Access Port (TAP) is generally routed to a single emulation connector on the board. Other JTAG interconnect scan chains may be connected to different JTAG connectors which are used for boundary-scan testing.

The CPU debug TAP brings control and visibility of the processor itself to the host. This is the same TAP employed by JTAG emulators for software development and debug. Included are access to the CPU register/control structures, attached memory, and the ability to utilize the CPU debug running/stepping facilities for testing.

The JET method harnesses the power of the target embedded CPU to assist in the code download, device programming, and testing operations at full processing speed. Several basic features are available:

  • Run

  • Stop

  • Step

  • Write to Registers and memory

  • Read from Registers and memory

  • Exchange parameters with the JTAG host

  • Display CPU status

The host software uses these features to download test/diagnostics routines into the CPU’s cache memory and into the target memory. These routines execute at speed and pass the test results to the host.

There is no need to modify the on-board application software, typically stored in Flash memory. The Flash memory itself can be similarly programmed using the CPU as an algorithm expediter. This avoids the slower wiggling approach of JTAG Flash programming.

Connecting to a UUT

JET requires a UUT with a JTAG-enabled processor having external access to its Test Access Port (TAP). A Corelis controller serves as the interface between the PC and the TAP interface.

Boards typically include a single JTAG TAP connector that is dedicated to the CPU. This TAP is often used for JTAG–based software debug and emulation. Boards may also include other JTAG TAP connectors, primarily being used for boundary-scan test and in-system programming.

The figure above depicts connecting a Corelis NetUSB-1149.1/E™ four-port JTAG controller to a board that includes three separate TAP connectors: a CPU with a dedicated JTAG port, and two additional JTAG ports containing other boundary-scan compatible devices.

The ScanExpress JET system is also able to handle cases where the CPU and other boundary-scan devices share the same scan-chain.

Using ScanExpress JET

The ScanExpress JET tool is available as a stand-alone application or as a plug-in to ScanExpress TPG. Functional tests that are generated using ScanExpress JET are also compatible with the ScanExpress Runner test executive. Figure 2 depicts the ScanExpress JET GUI.

ScanExpressJET FunctionalTests1 - ScanExpress JET

Figure 2. ScanExpress JET GUI

The ScanExpress JET Integrated Development Environment (IDE) consists of the following major functions:

  1. Preparation – Several screens that guide the user step by step on how to collect information about the devices and setup of various test options. Following these steps, the tool automatically produces the functional test steps.

  2. Test Steps – Program that executes the test steps that were previously created by the preparation function.

  3. Reports – Analysis program to view and calculate test coverage statistics.

  4. Execution with the ScanExpress Runner option – Invokes the ScanExpress Runner test executive to run both boundary-scan and JET tests from a single test plan.

ScanExpress JET has the ability to record all feature selections and file references to enable recalling a given project. This serves as a mechanism to quickly retest previous target boards as well as providing a starting point for migrating similar test scenarios.

When operating as a plug-in to ScanExpress TPG™, ScanExpress JET inherits the boundary-scan environment parameters, including all settings and files of the host application.


This constitutes a set of sequential screens which guide a user in selecting options and declaring device specific parameters. It collects all the information required to perform automatic testing using the JET methodology. It also includes optional JTAG operations to assure minimal board connectivity at the outset.

The major pieces of information required by the tool include::

  1. Devices – The tool requires knowledge of CPU visible resources in the circuit. This includes information such as memory device features including size, width of the addresses, etc. Much of this information can be obtained automatically by the tool.

  2. Custom test scripts – User developed test routines beyond those automatically created by the tool.

The information collected becomes part of the project when saved.

Completion of the Preparation phase results in the automatic creation of scripts, download routines, and embedded testing steps required to perform specific board testing.

Test Steps

The Test Steps screen lists the test steps automatically created during the preparation phase and provides controls to run tests on the target and view results. The steps can be invoked individually, run in their entirety or with an enabled subset, and can even be looped.

Progress while the steps are underway is also indicated.

This screen shows a PASS/FAIL indication summarizing the overall outcome of all enabled test operations. Detailed diagnostics of failure causes is displayed.


The Reports function provides access to test coverage statistics enabling the user to determine the overall testability utilizing ScanExpress JET. Included are merged coverage statistics showing how well testing confirms board operability. Coverage information includes both JET steps as well as legacy boundary-scan tests.

ScanExpress Runner

ScanExpress JET test steps can be executed from the ScanExpress Runner environment. ScanExpress JET will automatically pass the generated test files to ScanExpress Runner. Clicking on the Runner icon in the shortcut pane on the left side of the ScanExpress JET main window launches ScanExpress Runner.

Using ScanExpress Runner to execute boundary-scan tests in conjunction with JET based tests provides a single test environment for a complete test using both test methods. Verifying structural integrity with JTAG interconnection test prior to running JET functional tests results in better overall diagnostics during failure conditions.

JET image1 2 300x265 - ScanExpress JET
JET screen grab 300x201 - ScanExpress JET

ScanExpressFlow icon - ScanExpress JET


Test Engineers

JET is able to increase board test coverage by quickly combining boundary-scan testing with at-speed functional testing.

Design Engineers

JET assists in prototype debug before test firmware or test fixtures are available

Firmware/Software Engineers

JET is able to save coding time through automatic test and diagnostic generation.

Field Application Engineers

JET can be used to field validate a customer board or upgrade firmware on-site.

Repair Engineers

JET can identify board failures quickly reducing the repair cost per unit.

ScanExpress JET 13 Point Benefit

The JTAG Embedded Testing (JET) method extends coverage beyond popular boundary-scan techniques to virtually every signal of the UUT that is accessible by on-board CPU(s). This includes most of the remaining non-scannable, analog and I/O port resources.

Ordering Information

Part Number—20700

  • ScanExpress JET Test Development System supporting both Test Program Generation and Execution.

Part Number—207XX

  • CPU specific support package for ScanExpress JET. Contact Corelis for a list of supported processors and part numbers.

Note: At least one CPU support package must be purchased with the ScanExpress JET Test Development System.

Need Assistance?

We're here to help!

If you would like assistance with implementing JTAG testing in your design, or you are simply short of resources, our talented and experienced engineering staff can help you with all your JTAG needs.

Top JTAG Boundary-Scan, In-System Programming, & Bus Analyzers - Corelis