JTAG/Boundary Scan In-System Programming Software

ScanExpress Programmer offers four distinct programming methods. Utilizing Corelis high-performance controllers with built-in support for JTAG, I2C, and SPI interfaces, and target assisted programming, ScanExpress Programmer can program components under the following individually licensed modules.

In-System Programming

The decreasing cost of programmable devices has caused their popularity to explode during recent years. However, the wide variety of available devices and programming methods requires users to acquire and maintain different types of in-system programmers specific to each device manufacturer. As a result, engineers must learn new tools and programming algorithms to program each device causing an inefficient use of engineering resources.

ScanExpress Programmer is designed to replace the clutter of in-system programmers with a single universal programming solution comprised of a scalable architecture for future expandability. ScanExpress Programmer is a universal in-circuit programming tool that can program and verify Flash memories, serial EEPROMs, CPLDs, FPGAs, and other programmable logic devices. ScanExpress Programmer provides common programming functions including read, erase, blank check, program, verify, device ID check, and others. All of these functions can be performed while the target device is installed in-circuit. Users no longer have to maintain different programming tools to program different parts. ScanExpress Programmer offers users one common GUI for all supported programmable devices.

ScanExpress Programmer is targeted for users in development, production, and field environments. For development, software engineers can quickly change code stored in memory devices during the software development process. For production, in-circuit programming allows memory devices to remain on the shelf in a blank state requiring less inventory management. These blank devices can then be installed at assembly and programmed in-circuit, thus reducing programming and tracking costs. In the field, support engineers and technicians can upgrade products with newly released firmware. This provides minimal down-time to customers.


JTAG Programmer

The JTAG programmer module offers the most flexibility and can program Flash memory and serial EEPROM devices which are connected to any boundary-scan component. The JTAG programmer can also program CPLDs and similar devices that are JTAG in-system programmable, including those that are compliant with IEEE-1532.

The illustration below depicts a block diagram of the JTAG programming interface. The JTAG programming module uses a special target Flash description board file and a standard hex or binary data file to program Flash devices. The Flash Programming Information file (.FPI) maintains the JTAG scan chain information and Flash device programming parameters.

The .FPI board files are generated using a ScanExpress Flash Generator license. The ScanExpress Flash Generator user interface is offered as stand-alone generation program, but is more commonly accessed through ScanExpress TPG which has a specialized Flash selection GUI that utilizes a recognized ScanExpress Flash Generator license. Accessing the Flash module from ScanExpress TPG allows users to perform combined JTAG testing along with in-system programming rather than performing these functions separately. The .FPI board files are built using the target netlist, BSDL files, and the built-in Flash library.

ScanExpress Programmer Datasheet.


I2C and SPI Programming

ScanExpress Programmer provides high-speed programming of I2C and SPI compatible serial EEPROMs and Flash memories. Users can program devices in-system at theoretically maximum programming speeds.

The Inter-Integrated Circuit (I2C) programmer module provides fast programming of I2C memory devices by controlling the I2C bus signals directly through a dedicated I2C interface.

The Serial Peripheral Interface (SPI) programmer module provides fast programming of any SPI memory device by controlling the SPI bus signals directly through a dedicated high-speed SPI interface.

The I2C and SPI interfaces allow erasing, programming, verifying, and reading the content of serial EEPROM and Flash memory devices. Device contents can also be dumped to a file on the computer. Standard Motorola S-Record, Intel Hex, binary, and hex-text file formats are supported. The read button allows immediate display of data from any user specified address block within the serial memory device.


In-System JTAG Programming of CPLDs

In addition to its extensive Flash related features, the JTAG programming module also contains a built-in SVF (Serial Vector Format) file parser which is capable of executing SVF files created by manufacturers’ tools to directly program their CPLDs and FPGAs. The JTAG programming module also contains a JAM and STAPL language interpreter for executing ISP files of the vector-independent JAM and Bytecode formats. Devices from all popular manufacturers are supported including Alliance Semiconductor, Altera, Atmel, Fairchild, Fujitsu, Hyundai, Intel, Microchip, Micron, Macronix, Philips, Samsung, Sharp, SGS-Thompson, Spansion, SST, Texas Instruments, Toshiba, Xicor, and more.