Presentation is loading. Please wait.

Presentation is loading. Please wait.

JTAG Course Lecturer: Tomer Rothschild

Similar presentations


Presentation on theme: "JTAG Course Lecturer: Tomer Rothschild"— Presentation transcript:

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

2

3 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!

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

5 Familiar?

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

7 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.

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

9 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.

10 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.

11 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.

12 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])

13 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

14 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.

15 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.

16 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

17 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.

18 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.

19 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!

20 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.

21 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.

22 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.

23 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])

24 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.

25 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.

26 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.

27 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

28 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.

29 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).

30 Any Questions?

31 References


Download ppt "JTAG Course Lecturer: Tomer Rothschild"

Similar presentations


Ads by Google