Real-Time Systems Design JTAG – testing and programming.

Slides:



Advertisements
Similar presentations
Introduction to DFT Alexander Gnusin.
Advertisements

BOUNDARY SCAN.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 31/22alt1 Lecture 31 System Test (Lecture 22alt in the Alternative Sequence) n Definition n Functional.
Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
FPGA Configuration. Introduction What is configuration? – Process for loading data into the FPGA Configuration Data Source Configuration Data Source FPGA.
Apr. 20, 2001VLSI Test: Bushnell-Agrawal/Lecture 311 Lecture 31 System Test n Definition n Functional test n Diagnostic test  Fault dictionary  Diagnostic.
System on Chip Configuring FPGAs. Firmware and the boot process Booting is a complex process for any system It requires some form of firmware to be available.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
LOGSYS Development Environment of Embedded Systems Tamás Raikovich Béla Fehér Péter Laczkó Budapest University of Technology and Economics Department of.
Chip and Circuit Board Debugging Adam Hoover JTAG.
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
PLD Technology Basics. Basic PAL Architecture DQ Q CLK OE Fuse.
The ARM7TDMI Hardware Architecture
JTAG Course Lecturer: Tomer Rothschild
Steven Koelmeyer BDS(hons)1 Reconfigurable Hardware for use in Ad Hoc Sensor Networks Supervisors Charles Greif Nandita Bhattacharjee.
Lecture 28 IEEE JTAG Boundary Scan Standard
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 291 Lecture 29 IEEE JTAG Advanced Boundary Scan & Description Language (BSDL) n Special scan.
Configuration of FPGAs Using (JTAG) Boundary Scan Chen Shalom
BEEKeeper Remote Management and Debugging of Large FPGA Clusters Terry Filiba Navtej Sadhal.
Presented by Karin Shusterman Another use of the JTAG Interface on FPGA.
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
TAP (Test Access Port) JTAG course June 2006 Avraham Pinto.
Guidelines for Chip DFT Based on Boundary Scan Reference to an article by Ben Bannetts By Regev Susid.
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
1 EE 587 SoC Design & Test Partha Pande School of EECS Washington State University
EET 252 Unit 5 Programmable Logic: FPGAs & HDLs  Read Floyd, Sections 11-5 to  Study Unit 5 e-Lesson.  Do Lab #5.  Lab #5a due next week. 
Scan and JTAG Principles1 Scan and JTAG Principles ARM Advanced RISC Machines.
What is Router? Router is a device which makes communication between two or more networks present in different geographical locations. Routers are data.
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
® ChipScope ILA TM Xilinx and Agilent Technologies.
COE4OI5 Engineering Design Chapter 2: UP2/UP3 board.
Introduction to Computing: Lecture 4
National Taiwan University JTAG and Multi-ICE Speaker : 沈文中.
CS 1308 Computer Literacy and the Internet Computer Systems Organization.
A+ Guide to Software Managing, Maintaining and Troubleshooting THIRD EDITION Chapter 2 How an OS Works with Hardware and Other Software.
MICROPROCESSOR INPUT/OUTPUT
Computers Are Your Future Eleventh Edition Chapter 2: Inside the System Unit Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
LEONARDO INSIGHT II / TAP-MM ASTEP - The Boundary Scan Test (BST) technology © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 The Boundary.
집적회로 Spring 2007 Prof. Sang Sik AHN Signal Processing LAB.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS Boundary Scan.
25 April 2000 SEESCOASEESCOA STWW - Programma Evaluation of on-chip debugging techniques Deliverable D5.1 Michiel Ronsse.
April 20, 2001VLSI Test: Bushnell-Agrawal/Lecture 281 Lecture 28 IEEE JTAG Boundary Scan Standard n Motivation n Bed-of-nails tester n System view.
This material exempt per Department of Commerce license exception TSU Xilinx On-Chip Debug.
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
بسم الله الرحمن الرحيم MEMORY AND I/O.
HCS12 Technical Training Module 15 – Break Module Slide 1 MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other.
© LATTICE SEMICONDUCTOR CORPORATION 2000 Uudet mikropiirit JTAG February Lattice Confidential Lattice Semiconductor The Leader in ISP TM PLDs Presents.
SYSTEM-LEVEL TEST TECHNIQUES INTRODUCTION In the 1970s, the in-circuit testing (ICT) method appeared. In the 1970s, the in-circuit testing (ICT) method.
10- Lock Bits, Fuse Bits and Boot Loader. Boot Loader Support – Read-While-Write Self- Programming: The Boot Loader Support provides a real Read-While-Write.
AVR JTAG Interface The JTAG (Joint Test Action Group) development started about 1985 as a method to test populated circuit boards after manufacture. The.
PROGRAMMABLE LOGIC CONTROLLERS SINGLE CHIP COMPUTER
AVR JTAG Interface The JTAG (Joint Test Action Group) development started about 1985 as a method to test populated circuit boards after manufacture. The.
COP Interface Requirements
Technology Literacy Hardware.
Dr. Michael Nasief Lecture 2
JTAG Emulators JTAG emulator Target System Debugger software
JTAG and Multi-ICE National Taiwan University
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 2)
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 3)
ECE 434 Advanced Digital System L18
CPE/EE 428/528 VLSI Design II – Intro to Testing
JTAG Emulators JTAG emulator Target System Debugger software
CPE/EE 422/522 Advanced Logic Design L17
Chapter 5: Computer Systems Organization
Sungho Kang Yonsei University
The Xilinx Virtex Series FPGA
Lecture9: Embedded Network Operating System: cisco IOS
JTAG, Multi-ICE and Angel
Lecture9: Embedded Network Operating System: cisco IOS
Presentation transcript:

Real-Time Systems Design JTAG – testing and programming

In Circuit Emulators - ICE In Circuit Emulators (ICE) make direct connections into the processor slot or into a spare test socket This allows the developer to completely control the machine and, albeit with a few issues around timing, to completely emulate the operation of the CPU or chip under test. The ICE would offer the ability to monitor address and data lines, set break points and so on.

The testing problem As microprocessors and other chips have become larger and more sophisticated a problem has developed with the strategies for testing such devices. The number of pins (some don’t even have pins!) or there inaccessibility has made the use of ICE either extremely difficult, expensive or impossible.

New Approaches - BDM Motorola recognised this problem and introduced with their range the Background Debugging Mode (BDM). This 26 pin interface allowed the developers to control and monitor the execution of programs onto the boards. The developer would run some BDM diagnostic software and connect to the board through a host PC

Joint Test Action Group - JTAG Under the auspices of the IEEE, chip manufacturers developed a new testing standard, JTAG (IEEE ) This incorporated earlier boundary scan tests that had been developed for testing printed circuit boards. –Boundary scan allows the engineer to verify that the connections on a board are functioning.

JTAG The JTAG standard uses an internal shift register which is built into JTAG compliant devices. This, boundary scan register, allows monitoring and control of all I/O pins, signals and registers The interface to JTAG is through a standard PC parallel port to a JTAG port on the board to be tested.

PC IR SR SP o/p ports i/p ports TAP JTAG Control Device id instruction TDO data out 0 1 TRST TMS TCK TDI data in 0 1 clock mode reset Boundary scan register

Boundary Scan Register The BSR is a string of logic cells which permit the sampling and driving of pins regardless of the device’s core state. The size of the BSR is dependant upon the pins and signals that are being monitored on the device. For the SA1110 the BSR is 292 bits – some device are much larger – for example FPGAs. –Many devices can be connected onto the boundary scan register making very large bit streams

Test Access Port TAP The operation of the BSR is controlled by the TAP state machine This decodes the instructions sent through the BSR and decides what actions to take. The actions mainly involve loading the BSR cells with data, executing the instructions and then examining the results. The TAP is controlled by the state of TMS

JTAG commands The TAP can be put into command mode, where it can accept valid JTAG commands, or into shift or capture mode There are a core set of JTAG commands: –BYPASS, IDCODE, EXTEST, SAMPLE For example IDCODE will output an id bit string, specific to the device, onto TDO Chip manufacturers supplement the core with specialised commands for each chip

Example usage The JTAG interface can be used to install a firmware bootstrap onto a board JTAG is especially useful, as during this phase the board will have no onboard software and wont be functioning. The BSR data is loaded onto the CPU, and then EXTEST mode is executed. This forces the BSR data onto the external pins. As long as the addresses, data and signal states are correct, the developer can do tasks such as query the flash chips, erase them, and load data in. This is a slow process!

Installation using JTAG The JTAG interface goes through a number of pins on the 100 way Liberator connector I used the LART/BLOB design, but added TRST and a signal to hold the WP# pin high to allow unlocking of the boot sectors Ported the JFlash program to work with the Puppeteer –Requires knowledge of JTAG BSR chain components and flash drivers

JTAG Programming Once you get used to it, JTAG programming is pretty straight forward –You need to know what is in your JTAG BSR chain and its order The BSR is the size of the device + the bypass bits of the other chips –You need to know what commands are supported and the command word size of the device Bypass for the Xilinx chip is 1111, Altera 111, StrongARM –You then feed instructions into the devices’ TAP controllers and read back the results

Puppeteer JTAG BSR Chain StrongARM SA1110 CPU Altera FLEX 6000 FPGA Xilinx XCR3064A CPLD JTAG socket TAP bypass TAP bypass TAP StrongARM TAP Into IR mode Go into EXTEST Pump in data Shift DR (Pump out data) Execute instruction Update DR HOST JTAG APP Set up BSR chain bits Pump out on parallel port Read parallel port data Decide what next instruction 294 bits

JTAG Programming As the StrongARM does support JTAG debugging we are using it as a Flash blower –Could StrongARM JTAG debug? The specific Flash chips need JTAG drivers porting Connect the cable, put other devices into BYPASS mode, put the SA1110 into IR (instruction) mode, load the data, execute the command and read the results –BTW it comes out 1 cycle later, backwards and embedded in a 294 bit string! –Enjoy