Generation of Digital System Test Patterns Based on VHDL Simulations

Similar documents
Overview ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES. Motivation. Modeling Levels. Hierarchical Model: A Full-Adder 9/6/2002

Statistical Timing Analysis of Asynchronous Circuits Using Logic Simulator

AN EFFICIENT APPROACH TO MINIMIZE POWER AND AREA IN CARRY SELECT ADDER USING BINARY TO EXCESS ONE CONVERTER

EE 434 ASIC and Digital Systems. Prof. Dae Hyun Kim School of Electrical Engineering and Computer Science Washington State University.

Design and Implementation of Complex Multiplier Using Compressors

2 Assoc Prof, Dept of ECE, George Institute of Engineering & Technology, Markapur, AP, India,

EC 1354-Principles of VLSI Design

EE 434 ASIC & Digital Systems

Lecture 1. Tinoosh Mohsenin

EECS 427 Lecture 21: Design for Test (DFT) Reminders

Testing Digital Systems II

Jack Keil Wolf Lecture. ESE 570: Digital Integrated Circuits and VLSI Fundamentals. Lecture Outline. MOSFET N-Type, P-Type.

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

Practical Fault Coverage of Supply Current Tests for Bipolar ICs

Implementation of Full Adder using Cmos Logic

Course Outcome of M.Tech (VLSI Design)

Digital Systems Design

CMOS VLSI IC Design. A decent understanding of all tasks required to design and fabricate a chip takes years of experience

Lecture 3, Handouts Page 1. Introduction. EECE 353: Digital Systems Design Lecture 3: Digital Design Flows, Simulation Techniques.

Chapter 4 Combinational Logic Circuits

On Built-In Self-Test for Adders

Digital Signal Processing for an Integrated Power-Meter

Chapter 4 Combinational Logic Circuits

Chapter # 1: Introduction

Learning Outcomes. Spiral 2 8. Digital Design Overview LAYOUT

PE713 FPGA Based System Design

An Efficent Real Time Analysis of Carry Select Adder

! Review: MOS IV Curves and Switch Model. ! MOS Device Layout. ! Inverter Layout. ! Gate Layout and Stick Diagrams. ! Design Rules. !

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

Lecture 1: Digital Systems and VLSI

Sticks Diagram & Layout. Part II

! Review: MOS IV Curves and Switch Model. ! MOS Device Layout. ! Inverter Layout. ! Gate Layout and Stick Diagrams. ! Design Rules. !

Lecture 0: Introduction

420 Intro to VLSI Design

DO NOT COPY DO NOT COPY

I DDQ Current Testing

PHYSICAL STRUCTURE OF CMOS INTEGRATED CIRCUITS. Dr. Mohammed M. Farag

Part IIA Third Year Projects Computer-Based Project in VLSI Design Co 3/7

2009 Spring CS211 Digital Systems & Lab 1 CHAPTER 3: TECHNOLOGY (PART 2)

Digital Circuits II Lecture 6. Lab Demonstration 3 Using Altera Quartus II to Determine Simplified Equations & Entering Truth Table into VHDL

VLSI Design Verification and Test Delay Faults II CMPE 646

High Speed Binary Counters Based on Wallace Tree Multiplier in VHDL

Lecture 16: Design for Testability. MAH, AEN EE271 Lecture 16 1

Low Power 3-2 and 4-2 Adder Compressors Implemented Using ASTRAN

UNIT-III POWER ESTIMATION AND ANALYSIS

Technology Timeline. Transistors ICs (General) SRAMs & DRAMs Microprocessors SPLDs CPLDs ASICs. FPGAs. The Design Warrior s Guide to.

Low Power Design Methods: Design Flows and Kits

ASICs Concept to Product

Layers. Layers. Layers. Transistor Manufacturing COMP375 1

Advanced FPGA Design. Tinoosh Mohsenin CMPE 491/691 Spring 2012

Implementation of 256-bit High Speed and Area Efficient Carry Select Adder

Design for Testability & Design for Debug

Mixed-Signal Simulation of Digitally Controlled Switching Converters

Chapter 1 Introduction to VLSI Testing

A 0.9 V Low-power 16-bit DSP Based on a Top-down Design Methodology

KEYWORDS: Current mode gates, Current - mode logic, VHDL models, Mixed analogue digital system

Figure 1 Basic Block diagram of self checking logic circuit

Ring Counter. 4-bit Ring Counter using D FlipFlop. VHDL Code for 4-bit Ring Counter and Johnson Counter 1. Contents

Senior Capstone Project Proposal Reconfigurable FPGA Implementation Of Digital Communication System

Investigation on Performance of high speed CMOS Full adder Circuits

Fault Testing of Analog Circuits Using Combination of Oscillation Based Built-In Self- Test and Quiescent Power Supply Current Testing Method

DesignofaRad-HardLibraryof DigitalCellsforSpaceApplications

DESIGN AND IMPLEMENTATION OF 64- BIT CARRY SELECT ADDER IN FPGA

Design and Implementation of High Speed Carry Select Adder

+1 (479)

A High Performance IDDQ Testable Cache for Scaled CMOS Technologies

Design and Implementation of High Speed Carry Select Adder Korrapatti Mohammed Ghouse 1 K.Bala. 2

A Practical Approach to Obtain Defect Matrix for Integrated Circuit Testing

CHAPTER 5 DESIGN OF COMBINATIONAL LOGIC CIRCUITS IN QCA

Improving Test Coverage and Eliminating Test Escapes Using Analog Defect Analysis

A Novel Bandpass Filter Using a Combination of Open-Loop Defected Ground Structure and Half-Wavelength Microstrip Resonators

A New network multiplier using modified high order encoder and optimized hybrid adder in CMOS technology

Overview of Design Methodology. A Few Points Before We Start 11/4/2012. All About Handling The Complexity. Lecture 1. Put things into perspective

FTL Based Carry Look ahead Adder Design Using Floating Gates

Domino CMOS Implementation of Power Optimized and High Performance CLA adder

Technology, Jabalpur, India 1 2

EE4800 CMOS Digital IC Design & Analysis. Lecture 1 Introduction Zhuo Feng

Fault Diagnosis in Combinational Logic Circuits: A Survey

The Design and Realization of Basic nmos Digital Devices

A design of 16-bit adiabatic Microprocessor core

Implementation of High Performance Carry Save Adder Using Domino Logic

Layers. Layers. Layers. Transistor Manufacturing COMP375 1

II. Previous Work. III. New 8T Adder Design

VLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Transistor was first invented by William.B.Shockley, Walter Brattain and John Bardeen of Bell Labratories. In 1961, first IC was introduced.

FPGA Based System Design

ASIC Computer-Aided Design Flow ELEC 5250/6250

Modeling the Effect of Wire Resistance in Deep Submicron Coupled Interconnects for Accurate Crosstalk Based Net Sorting

VLSI Testing. Yield Analysis & Fault Modeling. Virendra Singh Indian Institute of Science Bangalore

A HIGH SPEED & LOW POWER 16T 1-BIT FULL ADDER CIRCUIT DESIGN BY USING MTCMOS TECHNIQUE IN 45nm TECHNOLOGY

Final Project Report 4-bit ALU Design

Microelectronics, BSc course

Design of 32-bit Carry Select Adder with Reduced Area

EECS150 - Digital Design Lecture 28 Course Wrap Up. Recap 1

Testing scheme for IC's clocks. DEIS - University of Bologna. Viale Risorgimento, 2. treated as a side eect. In fact, it is easy to

Novel Low-Overhead Operand Isolation Techniques for Low-Power Datapath Synthesis

Oscillation Ring Test Using Modified State Register Cell For Synchronous Sequential Circuit

THE SELF-BIAS PLL IN STANDARD CMOS

Policy-Based RTL Design

IC Layout Design of 4-bit Universal Shift Register using Electric VLSI Design System

Transcription:

POSTER 2006, PRAGUE MAY 18 1 Generation of Digital System Test Patterns Based on VHDL Simulations Miljana SOKOLOVIĆ 1, Andy KUIPER 2 1 LEDA laboratory, aculty of Electronic Engineering, University of Niš, Aleksandra Medvedeva 14, 18000 Niš, Serbia & Montenegro 2 Dept of Radioelectronics, Brno University of Technology, Purkynova 118, 61200 Brno, Czech Republic miljana@venuselfakniacyu, xkuipe00@studfeecvutbrcz Abstract In this paper an approach for test pattern generation and verification for a digital system-on-chip is proposed It is based on digital system simulation using a standard VHDL simulator and on an additional program in MATLAB, that generates minimal test set for covering all stuck-at defects in the circuit The approach is verified for two large arithmetic blocks which are parts of an integrated power-meter and represent large combinational digital systems This approach is very useful because it can offer automatic minimal test set generation for a particular circuit, and speed up the IC design and testing process, which are essential for nowadays IC industry Keywords Testing, VHDL, stuck-at fault, minimal test set 1 Introduction Integrated Circuit (IC) fabrication process consists of many different steps such as photolithographic printing, etching, doping, implanting, masking and chemical vapor depositioning After carrying out these steps, a complete IC is obtained IC surfaces are exaggerated in diagrams in order to distinguish between different layers of oxide, polysilicon and metal On the contrary, in reality, they are not at all flat Even with exaggerations, the diagrams represent an idealized approximation of actual fabricated circuit structures [1] The actual circuit structures are not nearly as well defined as textbook diagrams would lead one to believe Cross sections of real integrated circuit expose a variety of nonideal physical characteristics that are not entirely under the semiconductor manufacturer s control Thus, no fabrication process can be perfect and free of defects One real digital integrated systems can have a variety of defects By testing them, a manufacturer can easily separate good and bad ICs The IC quality is improved by testing since defective devices are not shipped to market IC testing is a very expensive activity because an IC does not get any additional value Testing is an activity that presents the comparison of the fault free (ff) circuit response with the one obtained from the observed circuit, CUT (Circuit Under Test) There are two general concepts for testing approach: functional and structural testing Verification that the circuit satisfies all required functions is referred to as functional testing or combinational digital circuits this is a very uninteresting and time consuming process, because all possible combinations of input patterns must be applied to the circuit inputs in order to make sure that its function is correct It is also very difficult to apply this to circuits with a large number of inputs The structural testing is on the otherhand, defectoriented Instead of checking if the circuit functions correctly, the test here searches for defects The aim of such testing is to determine a test signal that will ensure that the responses of the ff circuit and the faulty one are different The algorithm for test signal generation based on this approach is shown in ig 1 Prepare the list of the defects or each defect from the list { Select the next defect from the list of defects; Generate the test for the selected defect; or all other elements from the defects list { Remove those (defects) that are covered with the generated test; } } ig 1 The algorithm for test signal generation based on the structural testing concept Generating a test signal that will cover every possible defect in the circuit is a very complex job, especially in an industrial environment Thus, it is necessary to avoid having a list of all theoretically possible defects and create a list of defects that is both short and realistic

2 M SOKOLOVIĆ, A KUIPER, GENERATION O DIGITAL SYSTEM TEST PATTERNS BASED ON VHDL SIMULATIONS It is impossible to perform structural testing at a high level of design abstraction Thus the HDL description of the system must be loaded into the synthesis tool, then the synthesis must be performed, and after that the real netlist of the system with the actual gates and connections between them can be obtained This paper presents a VHDL-based approach for minimal test set generation for large digital combinational systems This approach assumes that the synthesis of the system has already been performed and that the post synthesis netlist is available Only in that way one can deal defects at the gate level of abstraction The paper is organized as follows In the first section faults and defect issues are discussed Some basic principles of digital systems testing are given in the second section After that the steps in the digital system design are explained In one of those steps, ff gates are replaced with faulty ones Then the general approach of test pattern generation is given The section after that, gives the principles of modeling faulty combinational gates This approach is applied to two examples of large combinational arithmetical circuits which are parts of the power-meter IC These examples and the obtained results are presented in the last section 2 aults in Digital Circuits Physical causes of faults are called defects Defects in most cases consist of missing or an extra material, or of an impurity Such defects at the layout level of the chip are translated into electrical faults and then into logical faults, such that they can be tested with logical signals A fault is a model of behavior due to the defect or it can be defined as an abstract model of the defect aults can be single and structural Single faults are related to fan-out issues, ie stems and branches On the other hand, structural faults are related to interconnections and components Interconnect faults are stuck-at faults, bridging (short) and open (break) faults Component (transistor) faults are divided into stuck-open and stuckshort faults To make the test pattern generation easier, some assumptions about faults and physical defects must be made [3] Mapping of defects into electrical, and thereafter into logical faults is called fault modeling The principle of fault modeling is to reduce the number of effects to be tested by considering how defects manifest themselves About 50% of faults that appear during tests in manufacturing are static faults They are modeled with a single stuck-at fault model According to this model a fault at one node is represented as either stuck at high level, that is 1, or low voltage level, that is 0 This kind of modeling has many advantages of irst, it can represent many physical faults It is independent of technology, as shown in ig 3 Multiple faults also appear in digital circuits But their relative probability of appearing is much lower Most test pattern generation is based on single stuck-at faults, because detecting single stuck-at faults also detects many other types of faults This kind of modeling significantly reduces the test size to a reasonable value or an n-net circuit it gives approximately 2n faults This representation can also be used to model other digital circuit faults Examples of defects modeled by stuck-at faults for different technologies are shown in ig 3 ig 3 Examples of static defects in logic gates; a) OR BJT gate b) CMOS inverter 3 Digital Circuit Testing Principles The main aim here is to generate a test for a selected defect This is the most important and the most difficult issue in the algorithm shown in ig 1 [2] One test can be used for detecting a certain defect, only if it can ensure controllability and observability Controllability is the ability of the test to force a state at the defect node different to the state caused by the defect Observability, on the other hand, is the ability of the test to force the effect of the defect to at least one output of the circuit 1 2 i n G ig 4 The combinational circuit for the testing problem formulation or the circuit shown in ig 4, n inputs are denoted with a vector =[ 1, 2, i,, n ]; m outputs are denoted with a vector =[ 1, 2, j,, m ] Assume that it is necessary to create a test for the stuck-at fault at the node G, which is here denoted as G/s The state at node G, can be expressed as the function of the input vector The test must satisfy two requirements expressed by the following equations G ( ) = s (1) 1 2 j m

POSTER 2006, PRAGUE MAY 18 3 and, j = ( 1, ) j (0, ) = 1 (2) These two equations present controllability and observability conditions If at least one of these two conditions is not satisfied, the defect is not testable in this way, and it has to be detected using some other approach (for example I DDQ ) 4 Digital System Design low It is almost impossible to generate a structural test sequence for the VHDL behavioral description of a digital circuit The description itself does not contain any information about the logic gates that will implement the design after synthesis Because of that, in order to get the final testable post-synthesis netlist of the circuit, it is necessary to go through all digital circuit design steps or this purpose the Cadence system can be used [3] The design flow of an ASIC begins with simulation of the RTL (Register Transfer Level) description of the design in VHDL in order to verify the circuit s functionality This simulation can be performed using a standard VHDL simulator Active HDL The next process is logic synthesis where a netlist of components and their connections is obtained Initial and final timing analysis can be done after this step The tool for logic synthesis takes a VHDL description of the design and appropriate technology libraries and generates a standard cell netlist That netlist is imported into another tool to perform floorplanning, cell placement and routing The obtained layout is verified at the end Back annotation based on the extracted parasitics from the layout can be performed for more accurate timing analysis After these steps, a netlist of the circuit containing all actual library logic gates and their connections is available or this netlist it is now reasonable to create a defect oriented test and to perform an estimation of the defect coverage In this way two arithmetic blocks netlists of interest were extracted They were: a 24-bit combinational subtraction unit and a 48-bit addition-subtracting circuit 5 The Approach of Minimal Test Pattern Generation In order to perform minimal test set generation (MTS) it is necessary to have a post-synthesis netlist of the circuit, and models of the faulty library elements used during the synthesis phase One of the important steps in this process is to determine the fault coverage of the proposed test sequence Postsynthesis netlist aulty gate models Netlist modification Simulation (estimation) Test pattern generation ig 5 The test pattern verification approach MTS generation The approach is shown in ig 5 irst, the library logic gates used in the synthesis must be available in the VHDL netlist Every logic gate must be modeled with all possible stuck-at defects The modeling of the faulty gates will be explained later The ff gates are then replaced in the netlist with the faulty ones or a specified test sequences, the modified netlist is then simulated (using VHDL) for each of the defects specified in each logic gate This simulation at the same time performs an estimation of the fault coverage In this way we determine how many and which faults are left undetected with the proposed test sequence Based on the results of the VHDL simulations, the special Matlab program performs MTS extraction In this way it is possible to achieve 100% fault coverage 51 Modeling aulty Library Logic Gates Modeling of faulty gates here assumes the stuck-at faults models of the gates and devices are incorporated into their VHDL descriptions [4, 5] or testing the arithmetic circuits of interest, VHDL descriptions of faulty models for an inverter (inv), two input OR gate (OR2_fault), NOR gate (EN_fault), and full adder (A_fault), should be available The 24-bit subtraction block and the 48-bit addition-subtraction circuit are shown in ig 6, while the modified library cells are shown in ig 7 a (47:0) m (47:0) sel res (47:0) a (23:0) b (23:0) cout dif (23:0) ig 6 Block diagrams of the observed combinational circuits: addition-subtraction and subtraction inv OR2 b-sa-0 NOR b-sa-0 ig 7 aulty logic gates b-sa-0 cin-sa-0 cin-sa-1 A_fault s-sa-0 s-sa-1 cout-sa-0 cout-sa-1 The model of each logic gate must contain the description of its behavior for every possible stuck-at fault Stuck-at faults are related to each gates input or output ig 8 gives the VHDL description of the NOR logic gate It is based on that in [4, 5] All other gates and circuits are similarly described

4 M SOKOLOVIĆ, A KUIPER, GENERATION O DIGITAL SYSTEM TEST PATTERNS BASED ON VHDL SIMULATIONS 6 Simulations and Results Now instead of the ff components from the library, these faulty model components are instantiated in the modified netlist After this modification, the resulting circuits are simulated according to the testbench description given in [4, 5] In this VHDL testbench program, a file that contains the test pattern to be analyzed for the fault coverage, is specified library IEEE; use IEEEstd_logic_1164all; use workfault_injectall; entity EN_fault is port ( z: out STD_LOGIC; a: in STD_LOGIC; b: in STD_LOGIC); end EN_fault; architecture inject_fault of EN_fault is begin nn: process(a,b) is variable z_sa1, z_sa0, a_sa0, a_sa1, b_sa0, b_sa1 : fault_ptr:=null; begin if z_sa1=null then z_sa1:=new fault_model'(new string'(inject_fault'instance_name&"z_sa1"), false,false,first_fault); first_fault:=z_sa1; end if; if z_sa1simulating then z<='1'after 1ns; elsif z_sa0simulating then z<='0'after 1ns; elsif a_sa1simulating then z<= b after 1ns; elsif a_sa0simulating then z<=not b after 1ns; elsif b_sa1simulating then z<= a after 1ns; elsif b_sa0simulating then z<=not a after 1ns; else z<=not (a xor b)after 1ns; end if; end process nn; end architecture inject_fault; ig 8 VHDL model of the faulty NOR logic gate After running this simulation a file with the correct results is obtained as well as a file with a list of defects covered by the test pattern At the end of this report file, the exact number of stack-at faults covered by the proposed test sequence is given The obtained test set is now to be minimized since one test may detect more faults A B Diff 000000H 000000H 000000H H H 000000H H 000000H 000000H 000000H H 000000H Tab 1 Obtained subtraction results A M sel Diff 000000000000H 000000000000H 0 000000000000H 000000000000H 000000000000H 1 000000000000H H H 0 000000000000H H H 1 EH Tab 2 Obtained adding-subtraction results It should be mentioned that for many other different combinational circuits, whose tests have been verified in this way, the most covering test patterns (always covers at least 90% of all stuck-at faults) are all zeros and all ones The file that gives the correct result (resultstxt) of the subtraction is shown in Table I Part of the obtained covering report (file faultstxt) is given in ig 9 Similar results are obtained for the addition-subtraction circuit The results and fault coverage for this circuit are shown in Table II and in ig 10 100% fault coverage is achieved for both examples fad12_23@fa_fault(inject_fault)cin_sa1 ault #1 expected outputs: 000000000000000000000001 at 400 ns 900 ns i_18450@inv(inject_fault)z_sa1 ault #287 expected outputs: 000000000000000000000001 at 400 ns143900 ns Undetected: ault cover: 287faults, 287detected ig 9 Partial verification report for the subtraction circuit fad12_23@fa_fault(inject_fault)cin_sa1 ault #1 expected outputs: 000000000000000000000001 at 400 ns 900 ns i_18450@inv(inject_fault)z_sa1 ault #287 expected outputs: 000000000000000000000001 at 400 ns143900 ns Undetected: ault cover: 287faults, 287detected ig 10 Partial verification report for the adder-subtraction circuit These two files are now to be processed in one additional Matlab program This program generates minimal test set that will cover all stuck-at defects in the circuit One of the files obtained after this processing is shown in ig 11 Amount of faults: 287 INPUT: 000000000000000000000000 000000000000000000000000 AULTS: 2 4 5 7 8 9 12 14 15 17 18 19 20 22 24 25 27 28 29 30 32 34 35 37 38 39 40 42 44 45 47 48 49 50 52 54 55 57 58 59 60 62 64 65 67 INPUT: 000000000000000000000000 111111111111111111111111 AULTS: 1 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181 191 201 211 221 239 INPUT: 111111111111111111111111 000000000000000000000000 AULTS: 10 235

POSTER 2006, PRAGUE MAY 18 5 INPUT: 111111111111111111111111 111111111111111111111111 AULTS: 3 6 13 16 23 26 33 36 43 46 53 56 63 About Authors ig 11 MTS generation results 7 Conclusion A method for minimal test pattern generation in combinational circuits is presented in this paper It is based on VHDL simulations and is used and verified with examples of two arithmetic circuits of the integrated power-meter uture work will extend the concept to sequential circuits References [1] BURNS, M, ROBERTS, G An introduction to mixed-signal IC test and measurement, Oxford University Press, New York, 2001 [2] LITOVSKI, V Electronic circuit design, in Serbian, Nova Jugoslavija-Vranje, Niš, 2000 [3] DIMITRIJEVIĆ, M, JOVANOVIĆ, B, ANĐELKOVIĆ, B, SOKOLOVIĆ, M Experiences in using Cadence the industry standard for electronic circuit design, Proc of the LVII Conference of ETRAN, Herceg Novi, 2003, Vol 1, pp 31-34 [4] ZWOLINSKI, M Digital system design with VHDL, Prentice Hall, UK, 2004 [5] ZWOLINSKI, M, SOKOLOVIĆ, M Verification of digital system test patterns using a VHDL simulator, Proceedings of the Small Systems Simulation Symposium 2005, Niš, pp 12-15 Miljana SOKOLOVIĆ was born in Bor, Serbia and Montenegro, in 1977 She graduated at the faculty of Electronic Engineering, University of Niš, Serbia and Montenegro in 2001 as the best student During 2001, she was working in Melexis gmbh, Germany on R transceivers design She joined LEDA (Laboratory for Electronic Design Automation) in Niš in 2001 and received M S degree in 2005 at the same faculty, where she now works as a teaching assistant and is a PhD student Her main research are IC design, Design for testability and IC simulation and verification using VHDL She received few awards for her scientific work Andy KUIPER completed his studies at H-Wiesbaden (Germany) and was awarded his diploma in computer science in 2002 In 2003 he was involved in a project at Trinity College Dublin (Ireland) At present he is a PhDstudent at Brno University with main interests on restoration of old films media