|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
|
|
The Java API for Boundary-Scan
Enabling Technology for Internet-Driven PLD Systems
By Neil Jacobsson, JTAG Software Development Manager, and
Frank Toth (frank.toth@xilinx.com)
Marketing Manager of the CPLD Business Unit at Xilinx
Background
One final piece of the puzzle remained unavailable. This piece is the enabling technology that allows access to the device IEEE Std 1149.1 interface for programming test and debug across the wide variety of platforms required throughout the product lifecycle in a single reusable description language.
IEEE Std 1149.1
Access is required to only 4 (or optionally 5) pins on a device, regardless of the packaging constraints. These pins define a Test Access Port (TAP) that enables operation of the on-chip test infrastructure that is used to ensure that:
A.. All components on a printed circuit board are mounted properly and in the right place.
So simply stated, the IEEE Std 1449.1 defines a serial protocol that requires 4 (or optionally 5) pins on each compliant device. These pins are as follows:
A.. TCK - This is a clock signal that synchronizes the 1149.1 internal state machine operations.
The pins of the TAP drive a 16-state controller (state machine). The state machine transitions between states according to the value of the TMS signal value on the rising edge of TCK. The state machine is illustrated in the diagram below (Figure 2).
The 1149.1 standard defines that TDI is valid and shifted in (and TDO valid and shifted out) only in the Shift-DR or Shift-IR states. The Shift-IR state selects the device instruction register between TDI and TDO.
Depending on the instruction selected different data registers are activated. When in Shift-DR, the data register appropriate for the previously entered instruction is selected between TDI and TDO. The default data register is the mandatory 1-bit bypass register.
An external file known as the BSDL (Boundary-Scan Description Language) file defines the properties and characteristics of any single device's boundary-scan logic. These files are supplied by the IC manufacturer and are used in the generation of any algorithmic description of the operation of the IEEE 1149.1 compliant device.
Multiple boundary-scan devices are linked up serially in a daisy chain. Each device shares the same TCK and TMS. The TDO of one device links to the TDI of the next. Since all devices share the same TCK and TMS, all devices sequence through the TAP controller synchronously and concurrently. All devices are therefore in the same TAP controller state at the same time. When shifting data (in the Shift-IR or Shift-DR state) into the boundary-scan chain, all devices have registers internally linked between their TDI and TDO pins. This results in what appears to be a single shift register of a fixed length from the system TDI pin to the system TDO.
Programmable Logic Systems
The next phase is the pre-production phase. This is typified by building up a small number of prototypes of the final system. These prototypes are then run through programming and test systems to determine and improve the testability and manufacturability of the system. Some special purpose hardware or software might be used in this phase that is hosted on a PC or workstation. It is also possible that Manufacturing Defects Analyzers (MDA's) are used at this point.
Depending on the expected shipment volumes, higher speed test and programming equipment may be used in full-production. This would include deployment of automatic test equipment (ATE), programming hardware or customer-developed programming and test systems.
Once the systems are out in the field, the designer is interested in having easy access to his system for remote test debug and potentially system upgrade capability. This would typically be accomplished through use of an embedded microprocessor within the target system. Access to the processor would typically be through a remote system link or by using debug routines in local storage.
Ideally, to reduce the time and effort required for multiple deployments, the algorithmic description of the programming and test of the target system should be platform independent. The same algorithm description file used on a PC or workstation should also work on an ATE or embedded processor.
The Java Programming Language
The Java Programming language found its immediate application in internet-based solutions in which programs would need to be run on a wide variety of platforms, the nature of which would not be known until deployment through a browser or other launching tool. This means that a single Java program would be able to be written for deployment on any possible platform for which a JVM exists and that it would behave identically on all platforms.
Further, the Java programming language was enriched through the development and deployment of a wide variety of system class libraries that afford reusable, easily integrated capabilities for such high utility operations as data manipulation, security protocols, multi-threading, exception handling and internet-based file access.
There are over 180 licensees of Java technology worldwide. These licensees provide a wide variety of software development tools including compilers, debuggers and other CASE tools as well as JVM implementations, reference materials and workshops.
The Applications Programming Interface (API)
One such natural application is the communications protocol defined by IEEE Std 1149.1. It turns out that this protocol naturally defines its own API since the operations it allows are well defined. By defining these protocols within object oriented methods, either an automated tool or an applications developer can rapidly generate a programming or test application for an entire system of PLD's or general boundary-scan devices.
Java API for Boundary-Scan
The Java API for Boundary-Scan will be a publicly available API that describes IEEE Std 1149.1 protocols. It is used to describe all functionality required to develop programming, test and debug algorithms for electrical systems.
Applications developed using the Java API for Boundary-Scan can also make use of the other general purpose Java class libraries to enable Internet based update of PLD-based systems, enhance system security, integrate multi-threading of configuration and test applications and interface to remote configuration databases.
Conclusions
Home | Product of the Week | Tech Note | AppReview | Vendor Tools | Feedback
|
|||||||||||||||||||||||||||||||||
|
Copyright © 2003 ChipCenter-QuestLink About ChipCenter-Questlink |
||||||||||||||||||||||||||||||||||