Ch.6 Logic Verification Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.

Slides:



Advertisements
Similar presentations
Boolean Algebra and Logic Gates
Advertisements

Maximal Independent Subsets of Linear Spaces. Whats a linear space? Given a set of points V a set of lines where a line is a k-set of points each pair.
1 Parallel Algorithms (chap. 30, 1 st edition) Parallel: perform more than one operation at a time. PRAM model: Parallel Random Access Model. p0p0 p1p1.
The scale of IC design Small-scale integrated, SSI: gate number usually less than 10 in a IC. Medium-scale integrated, MSI: gate number ~10-100, can operate.
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
2 x0 0 12/13/2014 Know Your Facts!. 2 x1 2 12/13/2014 Know Your Facts!
Optimization of Sequential Networks Step in Synthesis: Problem Flow Table Reduce States Minimum-State Table State Assignment Circuit Transition Table Flip-Flop.
5 x4. 10 x2 9 x3 10 x9 10 x4 10 x8 9 x2 9 x4.
Constraint Optimization We are interested in the general non-linear programming problem like the following Find x which optimizes f(x) subject to gi(x)
Computational Facility Layout
FPGA Synthesis. 2 Agenda Brief tour in RTL synthesis  Basic concepts and representations LUT-based technology mapping  The chortle algorithm  The FlowMap.
C2 Part 4: VLSI CAD Tools Problems and Algorithms Marcelo Johann EAMTA 2006.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Based on text by S. Mourad "Priciples of Electronic Systems" Digital Testing: Design Representation and Fault Detection
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Ch.3 Overview of Standard Cell Design
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
CMPT150, Ch 3, Tariq Nuruddin, Fall 06, SFU 1 Ch3. Combinatorial Logic Design Modern digital design involves a number of techniques and tools essential.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
Spring 07, Feb 6 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Verification Vishwani D. Agrawal James J. Danaher.
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
Boolean Matching in Logic Synthesis. Equivalence of Functions Equivalence of two functions defined under l Negation of input variables l Permutation of.
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
1 Application Specific Integrated Circuits. 2 What is an ASIC? An application-specific integrated circuit (ASIC) is an integrated circuit (IC) customized.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
Combinational Logic Design
GOOD MORNING.
Ch.8 Layout Verification TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Technical University Tallinn, ESTONIA 1 Boolean derivatives Calculation of the Boolean derivative: Given:
Module 3.  Binary logic consists of :  logic variables  designated by alphabet letters, e.g. A, B, C… x, y, z, etc.  have ONLY 2 possible values:
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
TOPIC : Introduction to Functional Modeling UNIT 1: Modeling Digital Circuits Module 1 : Functional Modeling.
Binary Decision Diagrams (BDDs)
EE 5900 Advanced Algorithms for Robust VLSI CAD, Spring 2009 Static Timing Analysis and Gate Sizing.
Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
1 H ardware D escription L anguages Modeling Digital Systems.
FORMAL VERIFICATION OF ADVANCED SYNTHESIS OPTIMIZATIONS Anant Kumar Jain Pradish Mathews Mike Mahar.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Exercise TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
TOPIC : Different levels of Fault model UNIT 2 : Fault Modeling Module 2.1 Modeling Physical fault to logical fault.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Ch.5 Logic Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology 1.
Functional Modeling.
Manufacture Testing of Digital Circuits
04/21/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Functional & Timing Verification 10.2: Faults & Testing.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
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.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
CS151 Introduction to Digital Design Chapter 3: Combinational Logic Design 3-4 Verification 1Created by: Ms.Amany AlSaleh.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 61 Lecture 6 Logic Simulation n What is simulation? n Design verification n Circuit modeling n True-value.
IAY 0600 Digital Systems Design
ASIC Design Methodology
Combinational Logic Design
VLSI Testing Lecture 5: Logic Simulation
VLSI Testing Lecture 5: Logic Simulation
Vishwani D. Agrawal Department of ECE, Auburn University
Overview Part 1 – Design Procedure Beginning Hierarchical Design
IAY 0800 Digitaalsüsteemide disain
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Robert Brayton Alan Mishchenko Niklas Een
Presentation transcript:

Ch.6 Logic Verification Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology

Design Verification How to confirm the correctness of design result 50-70% of design period is used for design verification. Methods Logic Simulation and Emulation Formal Verification

Logic Design Functional Verification Logic Synthesis Scan Path Design RTL Simulation RTL Synthesis Netlist Scan Netlist Timing Analysis Functional Verification

6.1 Logic Simulation

Logic Design 1 HDL Simulation [Objective] to correct HDL description by simulating its performance and checking its timing due to delays of logic circuit. [Method] 1. HDL/Logic Simulator

01xz xx x0xxx z0xxx Truth Table of AND Gate Logic Design 1 Four Valued Logic Not only 0 and 1, but other values such as UNKNOWN X, HIGH IMPEDANCE Z are used for the simulation. Their response are described by truth table.

Simulation Method 1. Event Driven Simulation Outputs of the gates has been evaluated by truth table, only when an event occurs on inputs of the gates. Since small portion of whole circuit works at a time, this scheme avoid waste computation. Thus, simulator keeps track of those events. 2. Time wheel Event Table Change of outputs of the gates are stored as an event. That event occurs delayed at component delay after event of inputs occurs. The time of next events are stored in event table. The table is considered to be wheel so that it can store events of all simulation periods, efficiently.

Event Driven Event is a change of logic value. The event entered into a gate may generate another event at the output of the gate after the gate delay time. Event of Signals propagates through Logic circuits. Event Driven Analysis is to update Logic values only when events occur at the wire so as to minimize computational complexity. 30% or less logic parts is running at the same time.

Logic Simulation Example

6.2 Formal Verification

Formal Verification Functional Verification Logic Synthesis Scan Path Design RTL Simulation RTL Synthesis Netlist Scan Netlist Timing Analysis Functional Verification

Logic Design 3 Formal Verification [Objective] to confirm coincidence between HDL description and designed logic circuit. Simulation uses various test inputs, while formal verification uses equivalence of two functions. [Method] BDD method (Binary Decision Diagram) It is effective way to show equivalent representation of logic functions for two targets. [Problem] 1. Reduction of scan path flip flops 2. Speed up of testing such as concurrent testing

Logic Design 3 BDD Representation BDD representation will be unique according to the best variable order. There was heuristic algorithm to derive the reduced BDD from original.

BDD Operation (1) Merge of 2 isomorphic subgraphs

BDD Operation (1) Merge of 2 isomorphic subgraphs

BDD Operation (2) Eliminate node, whose son nodes are isomorphic.

BDD Operation (2)

Order of nodes X3X3 X5X5 X5X5 X2X2 X2X2 X2X2 X2X2 X3X3 X5X5 X5X5 X4X4 X4X4 X6X6 X1X1 1 0 Worst Best X1 X2 X3 X4 X5 X6 X5X5 X2X2 X3X3 X4X4 X6X6 X1X1 10

Optimal Order Search i-1 i i+1 i 01 (A) (B) (C) (D) i i-1 i+1 i-1 i+1 01 (A) (C)(B) (D) i-1 i i 0 1 f1 f2 f3 i i-1 01 f1f2f3

Verification example I ab q1q1 q0 d1d1 d0d d 0=bq 1 ’q 0 ’+a’bq 1 ’+a’ b q 0 ’ d1=q 1 q 0 ’+a’q 1 + b q 0

Verification example II F1=q0’ ・ a’ q0’ a’ q1’ F2=(q0’+a’)q1‘ q0’+a’ (F1+F2)’ F1=q0’ ・ a’ の 補正のため 葉の 0 と1を 交換

Verification example III d0=bq 1 ’q 0 ’+a’bq 1 ’+a’bq 0 ’

6.3 Timing Analysis

Timing Analysis Timing Analysis is to check the timing violation of logic circuits, due to gate delays and wire delays. In order to reduce computation, critical paths analysis is done by using graph representation. Pre Layout timing analysis: Only gate delay is considered. Post Layout timing analysis: Gate delay and wire delay are considered. The latter delays are decided by layout pattern. This analysis is only performed after layout design.

Timing Analysis ․ Calculate timing of synthesized netlist Make sure circuit operates correctly under specified timing constraints ․ Static Timing Analysis (STA) Timing analysis without input patterns - Fast but not accurate Used after logic synthesis ․ Dynamic Timing Analysis Timing analysis with input patterns Slow but accurate Used after physical design with few patterns

Timing Analysis identifies critical path with graph model, instead of exhausted search with logic simulator. Logic Design 5 Timing Analysis (Pre) nodes 1234567891010