JTAG Course Lecturer: Tomer Rothschild

Slides:



Advertisements
Similar presentations
Introduction to DFT Alexander Gnusin.
Advertisements

Z. Stamenković 1, M. Giles 2, and F. Russi 2 1 IHP GmbH, Frankfurt (Oder), GERMANY 2 Synopsys Inc., Mountain View, CA, USA 13th IEEE European Test Symposium,
BOUNDARY SCAN.
Data Dependencies Describes the normal situation that the data that instructions use depend upon the data created by other instructions, or data is stored.
LOGSYS Development Environment of Embedded Systems Tamás Raikovich Béla Fehér Péter Laczkó Budapest University of Technology and Economics Department of.
Sim-alpha: A Validated, Execution-Driven Alpha Simulator Rajagopalan Desikan, Doug Burger, Stephen Keckler, Todd Austin.
Programming Types of Testing.
EE466: VLSI Design Lecture 17: Design for Testability
Lecture 28 IEEE JTAG Boundary Scan Standard
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 291 Lecture 29 IEEE JTAG Advanced Boundary Scan & Description Language (BSDL) n Special scan.
The Hierarchical Scan Description Language (HSDL) was developed by to complement BSDL.
Design for Testability
Real-Time Systems Design JTAG – testing and programming.
Testing of Logic Circuits. 2 Outline  Testing –Logic Verification –Silicon Debug –Manufacturing Test  Fault Models  Observability and Controllability.
TAP (Test Access Port) JTAG course June 2006 Avraham Pinto.
JTAG testing with XJTAG. XJTAG – Not what you have thought of…
Guidelines for Chip DFT Based on Boundary Scan Reference to an article by Ben Bannetts By Regev Susid.
SiliconAid Solutions, Inc. Confidential SAJE SiliconAid JTAG Environment Overview – Very Short.
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
Chapter 1 Program Design
Introduction To C++ Programming 1.0 Basic C++ Program Structure 2.0 Program Control 3.0 Array And Structures 4.0 Function 5.0 Pointer 6.0 Secure Programming.
EE 587 SoC Design & Test Partha Pande School of EECS Washington State University
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
1 EE 587 SoC Design & Test Partha Pande School of EECS Washington State University
Scan and JTAG Principles1 Scan and JTAG Principles ARM Advanced RISC Machines.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
EE 447/EE547 1 VLSI DESIGN Lecture 10 Design for Testability.
Introduction to CMOS VLSI Design Test. CMOS VLSI DesignTestSlide 2 Outline  Testing –Logic Verification –Silicon Debug –Manufacturing Test  Fault Models.
An Introduction to Digital Systems Simulation Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)
Compiler course 1. Introduction. Outline Scope of the course Disciplines involved in it Abstract view for a compiler Front-end and back-end tasks Modules.
LEONARDO INSIGHT II / TAP-MM ASTEP - The Boundary Scan Test (BST) technology © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 The Boundary.
Fault models Stuck-at Stuck-at-1 Reset coupling 0 0 Set coupling Inversion coupling Transition  /0 0 1 Transition  /1 1.
Logic BIST Logic BIST.
Chapter 7 File I/O 1. File, Record & Field 2 The file is just a chunk of disk space set aside for data and given a name. The computer has no idea what.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
LEONARDO INSIGHT II / TAP-MM ASTEP - Test protocol for BS boards © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 Test protocol for BS boards.
(1) Unit Testing and Test Planning CS2110: SW Development Methods These slides design for use in lab. They supplement more complete slides used in lecture.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS Boundary Scan.
1 Compiler Design (40-414)  Main Text Book: Compilers: Principles, Techniques & Tools, 2 nd ed., Aho, Lam, Sethi, and Ullman, 2007  Evaluation:  Midterm.
The Software Development Process
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.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
C HAPTER 5 T HE PROCESSOR : D ATAPATH AND C ONTROL M ULTICYCLE D ESIGN.
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
Overview for Initialization Process April 27, 2010.
How To Program An Overview Or A Reframing of the Question of Programming.
Silicon Programming--Testing1 Completing a successful project (introduction) Design for testability.
Testing of logic arrayes to be programmed Levels of abstraction While I>k then.. ROM ALU RAM & &1 Behavioural model Functional model Logic level model.
COMP091 – Operating Systems 1 Memory Management. Memory Management Terms Physical address –Actual address as seen by memory unit Logical address –Address.
© Aeroflex Ltd 2013 The copyright in this document is the property of Aeroflex Ltd and is supplied on the express terms that it is treated as confidential.
Copyright © 2007 by Pearson Education 1 UNIT 6A COMBINATIONAL CIRCUIT DESIGN WITH VHDL by Gregory L. Moss Click hyperlink below to select: Tutorial for.
© 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.
Lecture 5: Design for Testability. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 12: Design for Testability2 Outline  Testing –Logic Verification –Silicon.
AVR JTAG Interface The JTAG (Joint Test Action Group) development started about 1985 as a method to test populated circuit boards after manufacture. The.
Advanced Computer Systems
Compiler Design (40-414) Main Text Book:
AVR JTAG Interface The JTAG (Joint Test Action Group) development started about 1985 as a method to test populated circuit boards after manufacture. The.
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
Assemblers - 2 CSCI/CMPE 3334 David Egle.
Introduction to Computer Programming
CPE/EE 422/522 Advanced Logic Design L17
Control unit extension for data hazards
Agile testing for web API with Postman
Sungho Kang Yonsei University
Presentation transcript:

JTAG Course Lecturer: Tomer Rothschild BSDL Validation JTAG Course Lecturer: Tomer Rothschild

What’s the Problem? Did you ever test your code and discovered that the errors were as a result of faulty checks? The same problem is possible in BS tests too!

Agenda Introduction What’s the Problem? Inaccuracies in BSDL Files Validating the BSDL A Method for Basic BSDL Validation Asset & Agilent BSDL Validation Summary

Familiar?

Introduction The Boundary Scan Description Language (BSDL) is an IEEE language used to describe structures for boundary scan testing.

Introduction Automated Test Equipment tools read the BSDL files to understand the test resources available in the integrated circuit. Modern design tools are capable of generating a BSDL file automatically.

Agenda Inaccuracies in BSDL Files What’s the Problem? Introduction Validating the BSDL A Method for Basic BSDL Validation Asset & Agilent BSDL Validation Summary

Inaccuracies in BSDL Files Despite the fact that BSDL files are mostly created automatically, the process of creating them isn’t fault proof. IC designers may give the BSDL task low priority, and perhaps fail to give it the attention it demands. ICs often get revised after initial release, and their BSDL files don't get updated.

Syntactic & Semantic Inaccuracies BSDL files contain redundancy sufficient for automatic syntax and semantic verification. This kind of validation can be done regardless of the device under test. Moreover, the ATE’s that read the BSDL will inevitably recognize these errors.

Logical Inaccuracies The major pitfall is the logical errors. The ATE’s won’t recognize any errors of substance. This kind of errors will be the focus of the remainder of the lecture.

Examples of Consequences of Inaccuracies Mismatch between BSDL & silicon Consequences during board level test execution Port description Wrong pin function described Possible conflicts on board level interconnects; Pin might be diagnosed as open or stuck-at Boundary Scan Register description Wrong cell number assigned to port ATE is not exercising the correct pin, causing faulty diagnostic messages and maybe even conflicts between output drivers. (For a detailed table of mismatches and their consequences see [3])

Agenda Validating the BSDL What’s the Problem? Introduction Inaccuracies in BSDL Files Validating the BSDL A Method for Basic BSDL Validation Asset & Agilent BSDL Validation Summary

Validating the BSDL As we can see, it isn’t easy to debug faulty BSDL files, or even to know that they are faulty during the tests. It would, therefore, seem desirable to provide a way to Assess the accuracy of BSDL files prior to the tests.

Validating the BSDL We address the situation where a known good sample chip exists, and our task is to extract BSDL data directly from it. The proposed method works by stimulating and measuring pins of a sample IC.

Agenda A Method for Basic BSDL Validation What’s the Problem? Introduction Inaccuracies in BSDL Files Validating the BSDL A Method for Basic BSDL Validation Asset & Agilent BSDL Validation Summary

A Method for Basic BSDL Validation By applying a series of exploratory tests on the IC, we automatically extract the following: 1) The length of the IR 2) The length of the BSR 3) Pin mapping, order, and function 4) The identity of the BYPASS, EXTEST & SAMPLE/PRELOAD instructions 5) The identity of the IDCODE instruction and ID code, if present.

Extracting the Length of the IR Instruction length can be any number greater than or equal to 2. Nevertheless, we are able to assume a safe upper limit and denote it N. The algorithm is therefore: Go to state “shift IR” in the TAP controller FSM; Flush the register with N zeroes; Shift in ones (counting clocks all the while) until one appears at TDO.

Surprise! EXTEST & BYPASS Instructions Now that we have the length, we have two of the three essential instructions: BYPASS is defined in the standard as “all ones” EXTEST is defined as “all zeroes” 3 at the cost of 1!

Extracting the Length of the BSR We shall perform the same trick we did on the IR. This time we need to place the chip’s BSR between TDI and TDO. In order to achieve this, we shift and activate the newly-discovered EXTEST instruction.

Counting Patterns Our method finds the IC’s output pins and control cells, using “counting patterns”. These patterns have the following property of interest: Given a BSR we’ll denote its number of cells as C. Then we can successively load it with ceil(log2(C+2)) such patterns, and each cell in the register will undergo a unique series of state changes.

Counting Patterns Each cell in the BSR has a unique identifying number n. The first cell is numbered “l”, the second “2,” and so forth. 0 0 1 0 1 0 0 1 1

Extracting Pin Mapping, Order & Function We use the counting patterns to collect pin activity information. Next, we analyze the data collected in the previous step to determine which cells are output control cells, which cells they control, and the sign of that control. Finally, our method maps the output data cells to the pins of the IC. (For a more detailed algorithm of the pin information extraction see [1])

Extracting the SAMPLE/PRELOAD instruction In this stage, our method conducts a somewhat blind search. We potentially try every possible instruction value, except for the EXTEST & BYPASS instructions. Each candidate instruction is simply tested to see whether or not it behaves like a SAMPLE/PRELOAD instruction.

Extracting the IDCODE Instruction & ID code, if Present The trick here is in knowing how to find out if the ID code is present: when the TAP controller is reset and then advanced to the Shift-DR state without loading an instruction, the selected data register is either the BYPASS register or the 32-bit ID code register.

Extracting the IDCODE Instruction & ID code, if Present All that’s left is to fetch the ID code and try all instruction codes until we find one that outputs the ID code.

Agenda Asset & Agilent BSDL Validation What’s the Problem? Introduction Inaccuracies in BSDL Files Validating the BSDL A Method for Basic BSDL Validation Asset & Agilent BSDL Validation Summary

Don’t re-invent the wheel! Asset & Agilent BSDL Validation Asset & Agilent had recently opened a web based BSDL validation service. The service includes: Free BSDL Compilation – syntactic & semantic validation. Free Automatic Test Pattern Generation – generates test patterns that can be run in your simulator. BSDL Silicon Validation – an extensive logical validation. Requires shipping of the IC to Asset. http://www.asset-intertech.com/bsdl_service/

Summary BSDL files accuracy is extremely important - saves time and trouble debugging errors that don’t exist. Given a good sample IC, we learned a method to assess the core logic of BSDL files. High-quality validation services are currently available by leading companies (such as Asset).

Any Questions?

References http://www.google.com/url?sa=U&start=1&q=http://ieeexplore.ieee.org/iel3/4046/11600/00529884.pdf%3Farnumber%3D529884&e=9797 http://www.google.com/url?sa=U&start=3&q=http://ieeexplore.ieee.org/xpls/abs_all.jsp%3Fisnumber%3D28462%26arnumber%3D1271193%26count%3D32%26index%3D3&e=9797 http://www.google.com/url?sa=U&start=1&q=http://www.huntron.com/support/pdf/bsdl-lowcost.pdf&e=9797