ELEC 7250 VLSI Testing. Final Project: Logic Simulation and Fault Diagnosis. Andrew J. White

Similar documents
Collapsing for Multiple Output Circuits. Diagnostic and Detection Fault. Raja K. K. R. Sandireddy. Dept. Of Electrical and Computer Engineering,

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Lecture 7 Fault Simulation

VLSI System Testing. Fault Simulation

IMPLEMENTATION OF AN ATPG USING PODEM ALGORITHM

CENG 241 Digital Design 1

Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012

Introduction to Verilog

Fault Simulation. Problem and Motivation

Hardware Description Languages (HDLs) Verilog

Testing Digital Systems I

Testing Digital Systems I

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

Digital Design with FPGAs. By Neeraj Kulkarni

Delay and Optimization of Random Number Generator

PROOFS Fault Simulation Algorithm

Lecture 21: Combinational Circuits. Integrated Circuits. Integrated Circuits, cont. Integrated Circuits Combinational Circuits

PINE TRAINING ACADEMY

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Additional Slides to De Micheli Book

Lec-6-HW-1-devices Reading: PP, Chapter 3:

Hardware Description Language VHDL (1) Introduction

CHAPTER 1 INTRODUCTION

Design Verification and Test of Digital VLSI Circuits NPTEL Video Course. Module-VIII Lecture-I Fault Simulation

Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas

Use of Hierarchy in Fault Collapsing

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation

Federal Urdu University of Arts, Science and Technology, Islamabad VLSI SYSTEM DESIGN. Prepared By: Engr. Yousaf Hameed.

ECE468 Computer Organization & Architecture. The Design Process & ALU Design

Trace Signal Selection to Enhance Timing and Logic Visibility in Post-Silicon Validation

Chapter 3. Gate-Level Minimization. Outlines

Chapter 2a: Structural Modeling

Hardware description languages

Metodologie di progetto HW Il test di circuiti digitali

101-1 Under-Graduate Project Digital IC Design Flow

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

CS429: Computer Organization and Architecture

l Some materials from various sources! Soma 1! l Apply a signal, measure output, compare l 32-bit adder test example:!

Systems Programming. Lecture 2 Review of Computer Architecture I

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Nicarus: A Distributed Verilog Compiler

VeriLogger Tutorial: Basic Verilog Simulation

Lab 0: Introduction to the FPGA Development Board

Digital Logic Design Exercises. Assignment 1

DIGITAL SYSTEM DESIGN

Verilog for Combinational Circuits

Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28

Lecture 1: VHDL Quick Start. Digital Systems Design. Fall 10, Dec 17 Lecture 1 1

Experiment 3 Introduction to Verilog Programming using Quartus II software Prepared by: Eng. Shatha Awawdeh, Eng.Eman Abu_Zaitoun

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

ELEC 2200 Digital Logic Circuits

Verilog 1 - Fundamentals

Metodologie di progetto HW Il test di circuiti digitali

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

VLSI Test Technology and Reliability (ET4076)

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University

structure syntax different levels of abstraction

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

GC03 Boolean Algebra

Review. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline.

register:a group of binary cells suitable for holding binary information flip-flops + gates

DESIGN OF RANDOM NUMBER GENERATOR AND ITS DELAY AND POWER OPTIMIZATION A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF

NAND. Grade (10) Instructor. Logic Design 1 / 13

TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES

Computer Architecture (TT 2012)

CS8803: Advanced Digital Design for Embedded Hardware

An Efficient Method for Multiple Fault Diagnosis

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Tutorial on Verilog HDL

What is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements

ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING. EEM Digital Systems II

Lab 0: Introduction to the FPGA Development Board

16 BIT IMPLEMENTATION OF ASYNCHRONOUS TWOS COMPLEMENT ARRAY MULTIPLIER USING MODIFIED BAUGH-WOOLEY ALGORITHM AND ARCHITECTURE.

ECE 459/559 Secure & Trustworthy Computer Hardware Design

Functional Programming in Hardware Design

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

A Brief Introduction to Verilog Hardware Definition Language (HDL)

HIERARCHICAL DESIGN. RTL Hardware Design by P. Chu. Chapter 13 1

Outline HIERARCHICAL DESIGN. 1. Introduction. Benefits of hierarchical design

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Step 1: Downloading the source files

VERILOG HDL. 1 ENGN3213: Digital Systems and Microprocessors L#5-6

ENGR 3410: Lab #1 MIPS 32-bit Register File

Multiple Fault Models Using Concurrent Simulation 1

DIGITAL SYSTEM DESIGN

VARUN AGGARWAL

CS 250 VLSI Design Lecture 11 Design Verification

Verilog Hardware Description Language ROOM: B405

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers

Digital Systems Design

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

CS 105 Review Questions #3

Definitions. Key Objectives

EITF35: Introduction to Structured VLSI Design

Efficient RT-level Fault Diagnosis Methodology

Gate level or structural modeling

Teaching Computer Architecture with FPGA Soft Processors

Design Using Verilog

ECE 2030B 1:00pm Computer Engineering Spring problems, 5 pages Exam Two 10 March 2010

Lecture Topics. Announcements. Today: Integer Arithmetic (P&H ) Next: continued. Consulting hours. Introduction to Sim. Milestone #1 (due 1/26)

Transcription:

ELEC 7250 VLSI Testing Final Project: Logic Simulation and Fault Diagnosis Andrew J. White

I. Introduction II. Purpose III. Process a. Compiler b. Fault simulation c. Fault diagnosis IV. Results V. Conclusion VI. References I. Introduction

Technology for semiconductor manufacturing has progressed rapidly over the last few decades. With the increase in logic gates, test simulation along with diagnosis has become a very important issue in VLSI testing. Simulators, along with diagnostics software, needs to be efficient along with accurate as Moore s Law continues to hold true. II. Purpose This project targeted several areas in VLSI testing including compilation, simulation, and diagnosis. A compiler was to be written to flatten a hierarchical bench format circuit while other programs performed simulation and diagnosis of the combinational circuit. III. Process a. Compiler Flattening the hierarchical bench format was achieved by using m-files generated with Matlab. The bench format is used to describe primarily ISCAS 85 circuits in a similar way to many other description languages such as VHDL and Verilog. An example bench format circuit for a 1-bit full adder is shown below in Figure 1. Figure 1. Above: 1-bit Full Adder Circuit Right: Bench format for above circuit #FA, 1-bit full adder #3 inputs #2 outputs #0 inverter #5 gates (2 XOR, 2 AND, 1 OR) INPUT(A) INPUT(B) INPUT(CIN) OUTPUT(S) OUTPUT(COUT) 1 = AND(A,B) 2 = XOR(A,B) 3 = AND(C,2) S = XOR(2,CIN) COUT = OR(3,1)

The compiler was used to not only flatten hierarchical bench format descriptions but also to generate a simulation table which was used for fault simulation along with fault diagnosis. Three different.m files were actually created to generate the flattened bench format file. The first.m file, convert.m, would take the input bench files and replace all input and output names with numbers. This enables me to still be able to create hierarchical bench format files using names for the inputs and outputs which make understanding the file much easier. Once convert.m converted the file, compiler.m would compile the file and generate the simulation table. Compiler.m used a function called replace, replace.m, which was used in replacing component names in the hierarchical description with the actual component. A simulation table for a C17 circuit is show below in Figure 2. INPUT: 1 INPUT: 2 INPUT: 3 INPUT: 6 INPUT: 7 OUTPUT: 22 OUTPUT: 23 Gatename: NAND1 Fanin: 1 3 Fanout: 10 Gatename: NAND2 Fanin: 3 6 Fanout: 11 Gatename: NAND3 Fanin: 2 11 Fanout: 16 Gatename: NAND4 Fanin: 11 7 Fanout: 19 Gatename: NAND5 Fanin: 10 16 Fanout: 22 Gatename: NAND6 Fanin: 16 19 Fanout: 23 Figure 2. Simulation Table for C17 circuit

b. Fault simulation The fault simulator was written using C programming. Using the simulation table generated from the compiler, the simulator would take the test vectors and apply them to the primary inputs. The simulator would then compute the outputs for the circuitry and propagate these to the primary outputs. Each gate was grouped into a level and the output was computed for each level. For Figure 3 shown below, in level 1, all of the primary inputs would be applied to gates 6 and 7 and their outputs would be determined. This would continue until all levels were processed. Figure 3. C17 Level Description The outputs of the simulation would then be compared with the expected outputs. Any difference between the simulated and expected outputs would yield a fault and the corresponding test vector along with failing primary output would be noted. c. Fault diagnosis A widely used fault diagnosis method is effect-cause diagnosis. Effect-cause diagnosis is the process of tracing the path from the incorrect

primary output to the origin. Although path tracing is not very practical for industrial uses because of the many fault candidates it generates, it is somewhat sufficient for this project. By back-tracking through the circuit, the faulty wire or gate which caused the incorrect output for the circuit should be fairly accurate. A proposed algorithm along with a rating procedure used to guess which gate/wire is faulty can be found at [2]. IV. Results Several results were gathered for measuring performance of the simulator designed. The first set of results is shown below in Figure 4 and represents the computational time based on the number of input vectors. The results are almost perfectly linear. 30 CPU Time vs. Number of Vectors 25 CPU Time (s) 20 15 10 5 0 10 210 410 610 810 1010 Vectors Figure 4. CPU Time versus Number of Input Vectors The next set of results, shown below in Figure 5, depicts the computational

time based on the size of the circuit. The amount of gates in the circuit definitely has an impact on the computation time. 10000 CPU Time vs. Number of Gates 1000 Time (s) 100 10 Sequential 1 0.1 6 506 1006 1506 2006 2506 Gates Figure 5. CPU Time vs. Number of Gates. Due to the high computation times for larger circuits, the simulator was parallelized to achieve faster results. The main processing element, PE 0, would read in the simulation table and distribute it to the other PE s along with an evenly divided amount of input vectors. All of the PE s would then perform the simulation using the same sequential algorithm in parallel. Performance figures for this approach are shown below in Figure 6. 14000 a 12000 10000 CPU Time vs. Number of Gates Time (s) 8000 6000 Parallel (2 PE's) Sequential 4000 2000 0 6 162 1002 2416 Gates

V. Conclusion Writing a compiler to handle a hierarchical description of a circuit can be quite a complex task in itself. The addition of fault simulation can also be cumbersome. However, accurate fault diagnosis is the hardest part of the problem and much research has been and will be done in this area. The minimal results obtained for such a simple simulator really illustrate the importance of an efficient algorithm along with parallel processing to minimize computation times. VI. References 1. Essentials of Electronic Testing for Digital, Memory and Mixed-Signal VLSI Circuits. Bushnell and Agrawal, Springer, 2000. 2. An improved fault diagnosis algorithm based on path tracing with dynamic circuit extraction. Shigeta, K., Ishiyama, T. Test Conference, 2000. Proceedings. International 3-5 Oct. 2000 Page(s):235 244. 3. Comprehensive Fault Diagnosis of Combinational Circuits. Lavo, D. Dissertation University of California: Santa Cruz. September 2002.