ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Functional testing.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

V. Vaithianathan, AP/ECE
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
Chapter 16 Control Unit Operation No HW problems on this chapter. It is important to understand this material on the architecture of computer control units,
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
Levels in Processor Design
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Overview The von Neumann Machine - the programmable digital computer Introducing the LC-3 Computer - A “toy” computer for us to learn from Computer machine.
Henry Hexmoor1 Chapter 10- Control units We introduced the basic structure of a control unit, and translated assembly instructions into a binary representation.
CPEN Digital System Design Chapter 9 – Computer Design
The Processor Andreas Klappenecker CPSC321 Computer Architecture.
The Processor Data Path & Control Chapter 5 Part 1 - Introduction and Single Clock Cycle Design N. Guydosh 2/29/04.
Computer Organization and Architecture
공과대학 > IT 공학부 Embedded Processor Design Chapter 8: Test EMBEDDED SYSTEM DESIGN 공과대학 > IT 공학부 Embedded Processor Design Presenter: Yvette E. Gelogo Professor:
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
MICROPROCESSOR INPUT/OUTPUT
Introduction to Computing Systems from bits & gates to C & beyond The Von Neumann Model Basic components Instruction processing.
EXECUTION OF COMPLETE INSTRUCTION
Computer Design Basics
Design for Testability By Dr. Amin Danial Asham. References An Introduction to Logic Circuit Testing.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
Introduction to Computer Engineering CS/ECE 252, Fall 2009 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin – Madison.
Gary MarsdenSlide 1University of Cape Town Chapter 5 - The Processor  Machine Performance factors –Instruction Count, Clock cycle time, Clock cycles per.
5-1 Chapter 5—Processor Design—Advanced Topics Computer Systems Design and Architecture by V. Heuring and H. Jordan © 1997 V. Heuring and H. Jordan Chapter.
Computer Architecture Souad MEDDEB
Computer Architecture 2 nd year (computer and Information Sc.)
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
20 October 2015Birkbeck College, U. London1 Introduction to Computer Systems Lecturer: Steve Maybank Department of Computer Science and Information Systems.
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Transistor: Building.
Von Neumann Model Computer Organization I 1 September 2009 © McQuain, Feng & Ribbens The Stored Program Computer 1945: John von Neumann –
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Basic Elements of Processor ALU Registers Internal data pahs External data paths Control Unit.
Fundamentals of Programming Languages-II
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
Hardwired Control Department of Computer Engineering, M.S.P.V.L Polytechnic College, Pavoorchatram. A Presentation On.
Microprocessor Fundamentals Week 2 Mount Druitt College of TAFE Dept. Electrical Engineering 2008.
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ read/write and clock inputs Sequence of control signal combinations.
EE3A1 Computer Hardware and Digital Design Lecture 13 Detecting faults in Digital Systems.
Computer Organization and Architecture + Networks
More Devices: Control (Making Choices)
Chapter 4 The Von Neumann Model
Introduction to Computer Engineering
Overview Instruction Codes Computer Registers Computer Instructions
Chapter 4 The Von Neumann Model
Computer Architecture
Levels in Processor Design
Levels in Processor Design
The Processor Lecture 3.1: Introduction & Logic Design Conventions
William Stallings Computer Organization and Architecture 8th Edition
Levels in Processor Design
Levels in Processor Design
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
COMS 361 Computer Organization
The Stored Program Computer
Lecture 26 Logic BIST Architectures
Levels in Processor Design
A Top-Level View Of Computer Function And Interconnection
Objectives Describe common CPU components and their function: ALU Arithmetic Logic Unit), CU (Control Unit), Cache Explain the function of the CPU as.
Introduction to Computer Engineering
Introduction to Computer Engineering
Introduction to Computer Engineering
Introduction to Computer Engineering
Chapter 4 The Von Neumann Model
Presentation transcript:

ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Functional testing

3/1/20162 Overview Motivation and introduction Structure independent approach Structure dependant approach Organization/architecture dependant approachOrganization/architecture dependant approach –Microprocessor testingMicroprocessor testing –Memory testingMemory testing Summary

3/1/20163 Motivation and Introduction Ref: Abramovici, et. Al – Reference book Section 18.2 of the text (for understanding the problem) Motivation –Structural information can facilitate testing – we show this for combinational and sequential circuitsStructural information can facilitate testing – we show this for combinational and sequential circuits –Organization/Architecture information can make testing of microprocessors and memories practicalOrganization/Architecture information can make testing of microprocessors and memories practical –Develop fault models when we are to use this kind of informationDevelop fault models when we are to use this kind of information

3/1/20164 Structure independent approach Combinational circuit testing –Exhaustive testing of circuits that do not have very large number of inputsExhaustive testing of circuits that do not have very large number of inputs –Note: if a fault can cause the circuit to behave like a circuit with states (i.e. causes increase in the number of states – combinational circuit becomes sequential in nature) then exhaustive testing may not fully test the circuit. Example of such a fault is stuck-open fault in a CMOS implementationNote: if a fault can cause the circuit to behave like a circuit with states (i.e. causes increase in the number of states – combinational circuit becomes sequential in nature) then exhaustive testing may not fully test the circuit. Example of such a fault is stuck-open fault in a CMOS implementation

3/1/20165 Structure independent approach Combinational circuit testing (contd.) –A non-exhaustive functional test must be carefully designed otherwise it may not achieve the desired objective. Consider a 2-to-1 mux. A non-exhaustive functional test is given below:A non-exhaustive functional test must be carefully designed otherwise it may not achieve the desired objective. Consider a 2-to-1 mux. A non-exhaustive functional test is given below: A B S D SABD 1x x x x

3/1/20166 Structure independent approach Combinational circuit testing (contd.) –A fully specified test can potentially be (the one that repeats values in the test) as follows:A fully specified test can potentially be (the one that repeats values in the test) as follows: –This test can not test stuck-at fault on the control line SThis test can not test stuck-at fault on the control line S A B S D SABD

3/1/20167 Structure independent approach Sequential circuit testing –An example of this method and its limitations has been discussed in detail in the checking experiment approach to testingAn example of this method and its limitations has been discussed in detail in the checking experiment approach to testing

3/1/20168 Structure dependant approach Combinational circuit testing –Structure can potentially provide the information about dependence of outputs on inputs. This leads to two methods of structure dependant functional testingStructure can potentially provide the information about dependence of outputs on inputs. This leads to two methods of structure dependant functional testing Pseudo-exhaustive testing Sensitized partition testing

3/1/20169 Structure dependant approach Pseudo-exhaustive testing ABCDEFG f1f1 f2f2 The circuit will require 128 patterns for exhaustive testingThe circuit will require 128 patterns for exhaustive testing Function description may not tell us the dependence of the output on partial input setFunction description may not tell us the dependence of the output on partial input set Both f 1 and f 2 can be tested exhaustively with 16 pattern each, thus requiring a total of 32 patternsBoth f 1 and f 2 can be tested exhaustively with 16 pattern each, thus requiring a total of 32 patterns

3/1/ Structure dependant approach Sensitized partition testing –Testing an ALU – control signals are determined and applied in such a way that each smaller part (say 4-bit ALU) is exhaustively testedTesting an ALU – control signals are determined and applied in such a way that each smaller part (say 4-bit ALU) is exhaustively tested –An example from the book by Abramovici et. al.An example from the book by Abramovici et. al.

3/1/ Structure dependant approach Sequential circuit testing –Testing iterative logic arraysTesting iterative logic arrays –Machine partitioning approach to testingMachine partitioning approach to testing Substantial literature in this area but has not been applied to real applications of todaySubstantial literature in this area but has not been applied to real applications of today –An example – testing of shift registerAn example – testing of shift register A simple test x x x x x … can test the shift register completely. This test is often used in testing “scan chains” to be discussed under DFT and BIST methods

3/1/ Organization/architecture dependant approach In many cases architecture and/or organization information is available and such information can be used to facilitate testing. We will show two applications of such an approachIn many cases architecture and/or organization information is available and such information can be used to facilitate testing. We will show two applications of such an approach

3/1/ Microprocessor testing References –Reference book – Abramovici et. Al.Reference book – Abramovici et. Al. –Thatte and Abraham, “Test generation of microprocessors”, IEEE Transactions on Computers, June 1980, pp Thatte and Abraham, “Test generation of microprocessors”, IEEE Transactions on Computers, June 1980, pp

3/1/ Microprocessor testing Basic concept –Need to develop test programs that can be executed on the processorNeed to develop test programs that can be executed on the processor –Need an open loop strategy to force instructions in the order we wish to execute – e.g. after a jump instruction we may wish to execute an instruction from an address different from the address provided by jump instructionNeed an open loop strategy to force instructions in the order we wish to execute – e.g. after a jump instruction we may wish to execute an instruction from an address different from the address provided by jump instruction –Develop a model (or models) for faults in different organizational sub-units of the microprocessorDevelop a model (or models) for faults in different organizational sub-units of the microprocessor

3/1/ Microprocessor testing What do we know? –Different sub-unitsDifferent sub-units Register file, bus, ALU, memory (cache), … –How instructions are executedHow instructions are executed How data moves from sub-unit to other subunit Data movement from and to the external world –Sequencing and timingSequencing and timing Number of clocks, atomic and semi-atomic actions, e.g. PUSH – causes increment PC, send SP as address, send register as data, increment SP, etc.Number of clocks, atomic and semi-atomic actions, e.g. PUSH – causes increment PC, send SP as address, send register as data, increment SP, etc.

3/1/ Microprocessor testing Method –Test each instructionTest each instruction –Test each subunit such as ALUTest each subunit such as ALU –Test bussesTest busses –Test register file and decodersTest register file and decoders –Test sequencing of instructionsTest sequencing of instructions Key concept –Start small – test components and instructions that are easy to test and then use the tested parts to test other partsStart small – test components and instructions that are easy to test and then use the tested parts to test other parts

3/1/ Microprocessor testing Model development –Determine which instructions are “easy” to execute – such as used fewest resources, fewest cycles – easy to control and observe (graph model)Determine which instructions are “easy” to execute – such as used fewest resources, fewest cycles – easy to control and observe (graph model) –Use such instructions to read and write register file to test register file(s) and address decoding logicUse such instructions to read and write register file to test register file(s) and address decoding logic –Test busses by moving different types of data on bussesTest busses by moving different types of data on busses –Test ALU by executing ALU related instructions such as ADD, SUB, …Test ALU by executing ALU related instructions such as ADD, SUB, …

3/1/ Microprocessor testing Fault model development –Busses: stuck-at and bridging faultsBusses: stuck-at and bridging faults –ALU: stuck-at (assume that the structural information is available)ALU: stuck-at (assume that the structural information is available) –Register file: stuck-at, arbitrary decoder failure – this will use similar fault model and tests as used for testing memoriesRegister file: stuck-at, arbitrary decoder failure – this will use similar fault model and tests as used for testing memories –Instruction decoder:Instruction decoder: No instruction is executed (I j /  )No instruction is executed (I j /  ) Different instruction is executed (I j /I k )Different instruction is executed (I j /I k ) An additional instruction is also executed (I j /I j +I k )An additional instruction is also executed (I j /I j +I k )

3/1/ Microprocessor testing Algorithm development –Develop simple sub-programs for each sub-unit testingDevelop simple sub-programs for each sub-unit testing –Put them togetherPut them together –Testing jumps and call will require intervention of tester – open loop strategy of testing microprocessorTesting jumps and call will require intervention of tester – open loop strategy of testing microprocessor

3/1/ Microprocessor testing Results (case study on an 8-bit HP processors) –Program size 1K – FC about 90%Program size 1K – FC about 90% –Additional complexities introduced in the test program (8K program) raised the coverage by 6%Additional complexities introduced in the test program (8K program) raised the coverage by 6% –Other faults were associated with the power-up logic, intialization, interrupts, … (hard to test by functional tests)Other faults were associated with the power-up logic, intialization, interrupts, … (hard to test by functional tests) Limitations –Lack of good and practical model of modern microprocessorsLack of good and practical model of modern microprocessors –Automating the program generation difficult and impracticalAutomating the program generation difficult and impractical –Structural methods with the use of DFT provide better coverage with fewer test vectorsStructural methods with the use of DFT provide better coverage with fewer test vectors

3/1/ Memory testing Basic reasoning –Logic design methods may not be applicableLogic design methods may not be applicable Special design methods Not designed using logic gates –Cutting edge technologyCutting edge technology High density Novel and non-traditional design methods and layout –Can be stand alone or embeddedCan be stand alone or embedded Need to develop –Fault modelFault model –Test algorithmsTest algorithms

3/1/ Summary Described structure independent and structure dependent methods of testing logic Microprocessor testing using organization information – model, fault model, test algorithms, results and limitations Memory testing – its need –Model, fault model and test algorithms to be discussed next