290 likes | 573 Views
IEEE 1532 (ISC). June, 2006 Alexander Brill. Reminder - IEEE. Institute of Electrical and Electronics Engineers It is the world's leading professional association for the advancement of technology.
E N D
IEEE 1532 (ISC) June, 2006 Alexander Brill
Reminder - IEEE • Institute of Electrical and Electronics Engineers • It is the world's leading professional association for the advancement of technology. • Organization of engineers, scientists and students involved in electrical, electronics, and related fields. It is a publishing house and standards-making body. • IEEE is a non-profit organization.
IEEE 1532 (ISC) • IEEE Standard for Boundary-Scan-based In System Configuration of Programmable Devices Neil G. Jacobson Xilinx, Inc. San Jose, CA, USA neil.jacobson@xilinx.com
The development of IEEE Std 1532 • April of 1996: • A group of Programmable Device vendors and users discussed the possibility of standardizing the programming process for these devices. • This work received the support of the IEEE Std 1149.1 Working Group. • July of 1998: • IEEE Std 1532 is formally initiated.
IEEE 1532 (ISC) • Devices that implement this standard shall first be compliant with IEEE Std 1149.1-2001 , which is used for testing purposes. • A device, or set of devices, implementing this standard may be programmed (written) , readback, erased, and verified, singly or concurrently, with a standardized set of resources.
ISC - In-System Configuration • This standard allows the programming of one or more compliant devices concurrently, while mounted on a board or embedded in a system. • The standard specifies a common software platform for programming a variety of device types, including memory devices and programmable logic devices (PLDs).
In-System Configuration • Devices may be programmed after they have been attached to the board, via a physical and logical protocol: • Physical protocol: IEEE Std 1149.1 Test Access Port (TAP) pins, • Logical protocol: New instructions added to the IEEE Std 1149.1 instruction set.
What is in IEEE 1532? • Mandatory and optional programming instructions that define a standard methodology for accessing and configuring programmable devices. • The IEEE 1149.1 Test Access Port may be used for configuration activities. • Data description format • Extensions to Boundary-Scan Description Language (BSDL)
IEEE Standard 1532 BSDL Files • The PLD manufacturer generates an IEEE Standard 1532 BSDL file for each conforming device. • The IEEE Standard 1532 extensions define a 1532-specific package and framework of attributes that describe the programming algorithms for the corresponding PLD. • These extensions are compatible with the original IEEE Standard 1149.1-2001 BSDL syntax. • An IEEE Standard 1532 BSDL file can be identified using the STD_1532_2002 package. • Use STD_1532_2002.all; -- 1532 BSDL Extension for ISC devices
IEEE Standard 1532 Data Files The IEEE Standard 1532 data file is a text file format. The first section in the file is the header, consisting of the following information: • Header • Version STD_1532_2001 • Creation date • Creator
IEEE Standard 1532 Data Files(2) • The remainder of the data file contains data for the various named data sections, as described in the device’s 1532 BSDL file.
JTAG State Machine • Operational modes defined by 1149.1:
1532 System Modal States • The standard defines four system modal states: • Unprogrammed • Operational • ISC Accessed • ISC Complete
Device Configuration • In order to configure a device, a sequence of ISC instructions and data are loaded into the device. • ISC operations are always executed when the TAP controller is transitioned to the Run-Test/Idle State.
Device Configuration – steps(1/4) 1. Load ISC-ENABLE instruction 2. Load data associated with ISC-ENABLE instruction 3. Transition to and stay in the Run-Test/Idle TAP controller state for the prescribed amount of time. ---------------------------------------------------------------- This completes the device’s preparation to begin performing ISC operations.
Device Configuration – steps(2/4) 4. Load the ISC-ERASE instruction 5. Load data associated with the ISC-ERASE instruction. 6. Transition to and stay in the Run-Test/Idle TAP controller state for the prescribed amount of time. --------------------------------------------------------------- This erases the programmed contents of the device’s configuration memory.
Device Configuration – steps(3/4) 7. Load the ISC-PROGRAM instruction 8.Load the configuration data associated with the ISC-PROGRAM instruction. 9.Transition to and stay in the Run-Test/Idle TAP controller state for the prescribed amount of time. 10. Repeats steps 8 and 9 --------------------------------------------------------------- Configuration memory is loaded with the program.
Device Configuration – steps(4/4) 11. Load the ISC-DISABLE instruction 12. Transition to and stay in the Run-Test/Idle TAP controller state for the prescribed amount of time. -------------------------------------------------------------- The device is now operational and the system pins take on their programmed behaviors!!!
What can we do? • configure • reconfigure • read back • verify • erase AFTER the device has been installed!!
What do we save? significant programming time efficiencies Concurrent programming The total programming time for a board or system is often reduced from the sum of the times for programming each device individually to simply the longest time it would take to program any one device.
Testing • The ISC devices also contain testability circuitry compliant with IEEE Std 1149.1.