Return to the Products Page
  homesearchagentssupportask xilinxmap

The Java API for Boundary Scan 
Frequently Asked Questions 

BulletWhat is an application programming interface (API)? 
BulletWhat is the Java API for Boundary-Scan? 
BulletHow will the Java API for Boundary-Scan simplify boundary-scan applications development? 
BulletWhat is IEEE 1149.1 Boundary-Scan? 
BulletWhy is there interest in IEEE 1149.1 now? 
BulletWho will be able to use the Java API for Boundary-Scan? 
BulletWill the Java API for Boundary-Scan be an industry standard? 
BulletWho will support this as an industry standard? 
BulletHow does this proposed industry standard differ from others for this applications, like Altera's JAM?  
BulletWhat are the expected minimum environment requirements for the Java API for Boundary-Scan? 
BulletWhat are the anticipated Java language features required by the Java API for Boundary-Scan? 
BulletCan you use traditional Java development environments to develop applications based on the Java API for Boundary-Scan?  

 
What is an application programming interface (API)? 

An Application Programming Interface is a specification of how a programmer writing an application accesses the behavior and state of classes and objects. 

What is the Java API for Boundary-Scan? 

The Java API for Boundary-Scan is a complement to the Java platform. It is a specialized Java application environment designed for the use of developers of software and solutions for the IEEE 1149.1 boundary-scan environment. 

An attractive quality of Java API for Boundary-Scan is its exploitation of Java’s inherent "write once run anywhere" capability. The Java API for Boundary-Scan is a set of classes that describe the IEEE 1149.1 protocol. Because they are written in Java they will run in a myriad of different environments including automatic test equipment (ATE), PCs, workstations, third party boundary scan hardware and software applications, PLD and memory programmers and embedded processors. The Java API for Boundary-Scan enables developers to quickly and easily build a endless variety of applications for IEEE 1149.1 boundary scan that: 

    • are platform independent.
    • are based on an easy-to-use and widely utilized and fully supported programming environment (Java).
    • are capable of running in a wide variety environments including highly constrained embedded processor systems such as those based on the 8051 and elaborate, resource-rich environments such as those based on the sophisticated PowerPC.
    • are extensible and easily integratable into existing systems.
How will the Java API for Boundary-Scan simplify boundary-scan applications development? 

Today, professional developers worldwide, who construct boundary-scan applications typically, do so in proprietary, low-level, highly constrained assembler-like languages. These languages tend to be proprietary to each programmable logic device manufacturer, device programmer, ATE or boundary-scan support vendor, and do not port easily from one platform to the next. 

The Java API for Boundary-Scan is revolutionary and provides a new approach to boundary-scan applications development and execution. It will be based on an API that is developed by and available to the entire boundary-scan industry (both producers and consumers). The Java API for Boundary-Scan will run on all existing Java platforms. As a result, developers can for the first time deliver boundary-scan applications that once written can run everywhere without modification. Instead of a small elite group of programmers, thousands of Java programmers can now use existing development environments to write Java-based boundary-scan applications. Sun will also work with leading industry partners to produce easy-to-use tools that will make it even easier to develop applications specifically for the boundary-scan environment. 

What is IEEE 1149.1 Boundary-Scan? 

Boundary Scan or JTAG is formally known as IEEE/ANSI Standard 1149.1 and was first adopted in 1990. It describes a set of design rules that facilitate testing, programming and debugging at the chip, board and systems level. The standard is the result of the efforts of the Joint Test Action Group (JTAG) formed by several North American and European companies in the mid-1980’s. IEEE Std 1149.1 was originally developed as an on-chip test infrastructure to extend the lifetime of available automatic test equipment (ATE). This methodology of incorporating on-chip design-for-test allows complete control and access to the boundary pins of a device without the need for a bed-of -nails or other test equipment. Each 1149.1 compliant device includes a boundary-scan cell connected to each input, output or bi-directional pin that under normal conditions is transparent and inactive allowing signals to pass normally. When the device is placed in the test mode, input signals can be captured for later analysis and output signals can be set to affect other devices on the board. 

The standard also allowed for user definable function extensions to be layered on top of the test infrastructure. 

Why is there interest in IEEE 1149.1 now? 

The increasing complexity of device packaging technology makes obsolete the test techniques that detect failures related to interconnect faults. Boundary-scan facilitates rapid and automatable detection and isolation of defects related to these common failures. 

The pervasiveness of boundary-scan as a foundation for in system programming of CPLD’s and FPGA’s has further fueled the popularity of the technology. It is significant that all PLD vendors now support boundary-scan based access to their devices for all in-system programming operations. 

These two applications, test and programming, based on a single standard interface (IEEE 1149.1) have further enabled the development of tools to execute remote testing and field upgrade for entire systems. 

Who will be able to use the Java API for Boundary-Scan? 

The Java Boundary Scan API is targeted at semiconductor vendors, ATE manufacturers, third party tool vendors, programming platform vendors and OEMs as well as other developers of boundary-scan applications who require: 

    • small footprint resource limited solutions.
    • multi-platform portability.
    • a standard, fully supported development environment.
    • rapid application development.
    • broad support for development, test and debug of developed applications.
    • instant access to widely distributed programming and test data for system update and debug
Will the Java API for Boundary-Scan be an industry standard? 

The Java API for Boundary-Scan will be developed using Sun Microsystems Open Development Process (ODP). This rigorous process has been used by Sun to develop more than 30 other industry standard API’s. API’s developed using the ODP evolving with input from the producers and consumers of the API. In the case of the Java API for Boundary-Scan many members of the semiconductor, automatic test equipment, third party boundary-scan support industry and end-users will be involved. 

Who will support this as an industry standard? 

The Java API for Boundary-Scan was presented to the JEDEC JC42.1 committee meeting on June 1 for consideration. Several automatic test equipment manufacturers, semiconductor manufacturers, third party boundary-scan software developers and potential users are exploring participation in the evolution and development of this API. 

How does this proposed industry standard differ from others for this applications, like Altera's JAM? 

The Java API for Boundary-Scan will be developed using Sun Microsystems’ Open Development Process. This ensures equally assessed input from all concerned parties including end-users, manufacturers and application developers. Because the Java API for Boundary-Scan is based on Java it affords immediate access to the expertise, reference material, development and debug tools already available for Java. Because this API is expected to be based on JavaCard, it will be migratable to any of the Java platforms (Card, Embedded, Personal and Enterprise) so as to match the resource requirements and features of the intended target system. 

What are the expected minimum environment requirements for the Java API for Boundary-Scan? 

The Java Card virtual machine requires approximately 10 Kbytes of code space. The complexity of the Java API for Boundary-Scan is such that it should require no more than an additional 8Kbytes. The amount of Java Native Interface code should not exceed 1Kbyte. The total required code space should therefore not exceed 20Kbytes. 

What are the anticipated Java language features required by the Java API for Boundary-Scan? 

It is expected that the Java API for Boundary-Scan should require the Java language features supported by today’s Java Card, as follows: 

  • Boolean, byte, short and int data types
  • all Java object-oriented scope and binding rules
  • all Java flow-of-control statements
  • all Java operators and modifiers
  • unidimensional arrays of supported data types
  • exceptions
  • threads
Can you use traditional Java development environments to develop applications based on the Java API for Boundary-Scan? 

Yes. It is the Java API for Boundary-Scan is designed for use with any Java development environment. After developing code in one of these environments, if the developer is targeting the Java Card-style Virtual Machine then the resulting code will be run through a special post-processor to ensure that the code will run correctly and adheres to the Java Card Java Language subset. The Java Card post-processor is currently available from Sun Microsystems. 

If the developer is targeting Personal, Embedded or Enterprise Java then the original code can be run unmodified on any of these platforms.