4/20/2006 ELEC7250 Project: Grimes 1 Logic Simulator for Hierarchical Bench Hillary Grimes III – Term Project ELEC 7250 – Spring 2006.

Slides:



Advertisements
Similar presentations
Logic Gates.
Advertisements

Reliable Data Processor in VLSI
Figure 4.1. The function f (x1, x2, x3) =  m(0, 2, 4, 5, 6).
16/04/20151 Hardware Descriptive Languages these notes are taken from Mano’s book It can represent: Truth Table Boolean Expression Diagrams of gates and.
SYEN 3330 Digital SystemsJung H. Kim Chapter SYEN 3330 Digital Systems Chapters 4 – Part3: Verilog – Part 1.
4/28/05Ray: ELEC Fault Diagnosis Using Fault Dictionaries and Probability Adam Ray April 28, 2005.
SYEN 3330 Digital SystemsJung H. Kim 1 SYEN 3330 Digital Systems Chapter 6 – Part 1.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Logic Simulation.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
Dominance Fault Collapsing - Alok Doshi ELEC 7250 Spring 2004.
4/27/2006 ELEC7250: White 1 ELEC7250 VLSI Testing: Final Project Andrew White.
4/25/2006 ELEC7250: Hill 1 Brad Hill ELEC 7250 Logic Simulator.
4/20/2006ELEC7250: Alexander 1 LOGIC SIMULATION AND FAULT DIAGNOSIS BY JINS DAVIS ALEXANDER ELEC 7250 PRESENTATION.
ELEC 7250 Term Project Presentation Khushboo Sheth Department of Electrical and Computer Engineering Auburn University, Auburn, AL.
Feb 2, '06, updated Mar 23, '06ELEC Project, Presentation, Paper 1 ELEC VLSI Testing Spring 2006 Class Project Class Presentation Term.
04/25/2006 ELEC 7250 Final Project: Jie Qin 1 Logic Simulator for Combinational Circuit Jie Qin Dept. of Electrical and Computer Engineering Auburn University,
Logic Simulation 2 Outline –Timing Models –Simulation Algorithms Goal –Understand timing models –Understand simulation algorithms Reading –Gate-Level Simulation.
Logic Verification 1 Outline –Logic Verification Problem –Verification Approaches –Recursive Learning Approach Goal –Understand verification problem –Understand.
Dominance Fault Collapsing of Combinational Circuits By Kalpesh Shetye & Kapil Gore ELEC 7250, Spring 2004.
Chapter 4 Logic Gates and Boolean Algebra. Introduction Logic gates are the actual physical implementations of the logical operators. These gates form.
Logic simulator and fault diagnosis Fan Wang Dept. of Electrical & Computer Engineering Auburn University ELEC7250 Term Project Spring 06’
ECE/CS 352 Digital Systems Fundamentals
Logic Simulation 한양대학교 신현철 교수
Using building blocks to make bigger circuits
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Logic Modeling.
Basic Logic Operations and Standard Logic Gates (Lecture #1) ECE 331 – Digital System Design.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Binary Adder/Subtractor.
Sneha.  Gates Gates  Characteristics of gates Characteristics of gates  Basic Gates Basic Gates  AND Gate AND Gate  OR gate OR gate  NOT gate NOT.
Gates and Logic Dr John Cowell phones off (please)
4. Computer Maths and Logic 4.2 Boolean Logic Logic Circuits.
Logic Gates. The Inverter The inverter (NOT circuit) performs the operation called inversion or complementation. Standard logic symbols: 1 1 input output.
1 EG 32 Digital Electronics Thought for the day You learn from your mistakes..... So make as many as you can and you will eventually know everything.
BIST Pattern Generator inserter using Cellular Automata By Jeffrey Dwoskin Project for Testing of ULSI Circuits, Spring 2002, Rutgers University 5/15/02.
A New ATPG Algorithm for 21 st Century: The wojoRithm John Sunwoo Electrical & Computer Engineering Auburn University, AL.
Combinational Logic Design. 2 Combinational Circuits A combinational logic circuit has: ♦ A set of m Boolean inputs, ♦ A set of n Boolean outputs ♦ n.
ENGG 340 Midterm Review. Introduced the Concept of Variables and Functions Introduced the Concept of AND, OR, and NOT Introduced the Concept of Truth.
How does a Computer Add ? Logic Gates within chips: AND Gate A B Output OR Gate A B Output A B A B
Combinational Logic Analysis. Basic Combinational Logic Circuits AND-OR logic AND-OR logic AND-OR logic produces an SOP expression. AND-OR logic produces.
Logic Gates and Boolean Algebra Introduction to Logic II.
4–1. BSCS 5 th Semester Introduction Logic diagram: a graphical representation of a circuit –Each type of gate is represented by a specific graphical.
Combinational Logic Design. 2 Combinational Circuits A combinational logic circuit has: ♦ A set of m Boolean inputs, ♦ A set of n Boolean outputs ♦ n.
Circuit Synthesis A logic function can be represented in several different forms:  Truth table representation  Boolean equation  Circuit schematic 
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
Combinational Design, Part 2: Procedure. 2 Topics Positive vs. negative logic Design procedure.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
Computer Architecture & Operations I
Logic Gates and Boolean Algebra
VLSI Testing Lecture 5: Logic Simulation
Dominance Fault Collapsing
VLSI Testing Lecture 5: Logic Simulation
Logic Gates.
Logic Gates Benchmark Companies Inc PO Box Aurora CO
Exclusive OR Gate.
Vishwani D. Agrawal Department of ECE, Auburn University
KS4 Electricity – Electronic systems
KS4 Electricity – Electronic systems
Schematics 201 Lecture Topic: Electrical Symbols
Waveforms & Timing Diagrams
Chapter 3 – Combinational Logic Design
Logic Gates.
A New ATPG Algorithm for 21st Century: The wojoRithm
KS4 Electricity – Electronic systems
Today You are Learning simple logic diagrams using the operations AND, OR and NOT truth tables combining Boolean operators using AND, OR and NOT.
Veeraraghavan Ramamurthy
Chapter 4 Gates and Circuits.
XOR Function Logic Symbol  Description  Truth Table 
Binary Adder/Subtractor
Digital Logic Design Basics Combinational Circuits Sequential Circuits.
Agenda Lecture Content: Combinatorial Circuits Boolean Algebras
Presentation transcript:

4/20/2006 ELEC7250 Project: Grimes 1 Logic Simulator for Hierarchical Bench Hillary Grimes III – Term Project ELEC 7250 – Spring 2006

4/20/2006 2ELEC7250 Project: Grimes Problem Statement Develop a Logic Simulator for Zero-Delay Boolean gates to perform circuit verification. Develop a Logic Simulator for Zero-Delay Boolean gates to perform circuit verification. Inputs: --Hierarchical Bench Circuit Description --Input Vectors and Expected Outputs Inputs: --Hierarchical Bench Circuit Description --Input Vectors and Expected Outputs Outputs when Simulation Fails: --Inputs and Outputs with failed responses --Diagnosis Information Outputs when Simulation Fails: --Inputs and Outputs with failed responses --Diagnosis Information

4/20/2006 3ELEC7250 Project: Grimes Circuit Representation in C Signals Contain: --signal name --level --value Signals Contain: --signal name --level --value Gates Contain: --gate name --gate type --level --input signal list --output signal list --fan in array Each hierarchical block is stored as an element in a block array containing: --block name--input signal list --array of gates--output signal list Each hierarchical block is stored as an element in a block array containing: --block name--input signal list --array of gates--output signal list

4/20/2006 4ELEC7250 Project: Grimes Building the Block Array Each block is flattened as it is read in Each block is flattened as it is read in After POs and PIs are assigned, the gate array is built. Each line from the netlist is either a boolean gate, or a previously defined block. -If boolean gate – add to gate array --gate name: “g0, g1, g2, etc” --assign input and output signals -If not boolean – insert block from previous elements in block array After POs and PIs are assigned, the gate array is built. Each line from the netlist is either a boolean gate, or a previously defined block. -If boolean gate – add to gate array --gate name: “g0, g1, g2, etc” --assign input and output signals -If not boolean – insert block from previous elements in block array

4/20/2006 5ELEC7250 Project: Grimes Insert Gates for an XOR Block XOR Description: Inputs: A, B Output: Y X1=NAND(A,B) X2=NAND(X1,A) X3=NAND(X1,B) Y=NAND(X2,X3) XOR Block’s gate array contains: g0: NAND g1: NAND Inputs: A, B Inputs: X1, A Output: X1 Output: X2 g2: NAND g3: NAND Inputs: X1, B Inputs: X2, X3 Output: X3 Output: Y XOR0.g0: NAND XOR0.g1: NAND Inputs: IN_1, IN_2 Inputs: XOR0.X1, IN_1 Output: XOR0.X1 Output: XOR0.X2 XOR0.g2: NAND XOR0.g3: NAND Inputs: XOR0.X1, IN_2 Inputs: XOR0.X2, XOR0.X3 Output: XOR0.X3 Output: OUT OUT = XOR ( IN_1, IN_2) Inserts Gates:

4/20/2006 6ELEC7250 Project: Grimes Level Block Gates are inserted into gate array such that each gate’s inputs are either PIs, or an output of a previous gate. Gates are inserted into gate array such that each gate’s inputs are either PIs, or an output of a previous gate. To levelize a block, we visit each gate in increasing order: --level of gate = max level of input signals --level of gate’s output = 1+gate level To levelize a block, we visit each gate in increasing order: --level of gate = max level of input signals --level of gate’s output = 1+gate level --increasing order ensures that each input has an assigned level

4/20/2006 7ELEC7250 Project: Grimes Simulation To simulate a block given an input vector: --assign signal values to primary inputs --visit each gate in gate array (increasing order): -evaluate and assign gate’s output signal To simulate a block given an input vector: --assign signal values to primary inputs --visit each gate in gate array (increasing order): -evaluate and assign gate’s output signal Diagnose if output differs from the expected response --diagnoses starts at each failing PO and back tracks through the circuit --information (including signal values) for each gate along a path to the failing PO is printed Diagnose if output differs from the expected response --diagnoses starts at each failing PO and back tracks through the circuit --information (including signal values) for each gate along a path to the failing PO is printed

4/20/2006 8ELEC7250 Project: Grimes Results Circuit Number of Gates Number of Inputs Number of Outputs Execution Time (msec) c c c c c c c c c c c

4/20/2006 9ELEC7250 Project: Grimes Results

4/20/ ELEC7250 Project: Grimes Conclusion Execution times seem to grow with both the number of gates, and the number of inputs/outputs Execution times seem to grow with both the number of gates, and the number of inputs/outputs Diagnosis still needs work --if multiple paths to the failing PO include the same gate, that gate’s information is printed multiple times. --diagnostic resolution could be much better with a better algorithm Diagnosis still needs work --if multiple paths to the failing PO include the same gate, that gate’s information is printed multiple times. --diagnostic resolution could be much better with a better algorithm