bsdl validation jtag course lecturer: tomer rothschild
Post on 19-Dec-2015
239 views
TRANSCRIPT
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
What’s the Problem? Introduction Inaccuracies in BSDL Files Validating the BSDL A Method for Basic BSDL Validation Asset & Agilent BSDL Validation Summary
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
What’s the Problem? Introduction
Inaccuracies in BSDL Files 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
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
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
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).
References
1. http://www.google.com/url?sa=U&start=1&q=http://ieeexplore.ieee.org/iel3/4046/11600/00529884.pdf%3Farnumber%3D529884&e=9797
2. 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
3. http://www.google.com/url?sa=U&start=1&q=http://www.huntron.com/support/pdf/bsdl-lowcost.pdf&e=9797