|  Silicon
Solutions  |  Design
Resources  |  System
Resources  |  Literature  |

The Java API for Boundary Scan
Frequently Asked
Questions

What
is an application programming interface (API)?
What
is the Java API for Boundary-Scan?
How
will the Java API for Boundary-Scan simplify boundary-scan
applications development?
What
is IEEE 1149.1 Boundary-Scan?
Why
is there interest in IEEE 1149.1 now?
Who
will be able to use the Java API for Boundary-Scan?

Will
the Java API for Boundary-Scan be an industry standard?

Who
will support this as an industry standard?
How
does this proposed industry standard differ from others for this
applications, like Altera's JAM?
What
are the expected minimum environment requirements for the Java API
for Boundary-Scan?
What
are the anticipated Java language features required by the Java API
for Boundary-Scan?
Can
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.

Trademarks
Legal Information
Privacy
Policy

| Silicon
Solutions | Design
Resources | System
Resources | Literature |
| Home | Products
| End Markets | Support | Education | Online Store |
Contact | Search
|

(C) Copyright 1994-2003 Xilinx, Inc. All Rights
Reserved