Design Verification Overview

Similar documents
Ranking Verification Counterexamples: An Invariant guided approach

Digital Systems. Validation, verification. R. Pacalet January 4, 2018

A brief history of model checking. Ken McMillan Cadence Berkeley Labs

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

Digital Systems Validation, verification

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras

Symbolic Trajectory Evaluation (STE): Orna Grumberg Technion, Israel

A Brief Introduction to Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking

Integrating Induction and Deduction for Verification and Synthesis

Methodology to combine Formal and Fault simulator to measure safety metrics

VLSI Design Verification and Test Simulation CMPE 646. Specification. Design(netlist) True-value Simulator

Symbolic Model Checking Property Specification Language*

Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications

Generating Linear Temporal Logic Formulas for Pattern-Based Specifications

An Informal introduction to Formal Verification

19. Extending the Capacity of Formal Engines. Bottlenecks for Fully Automated Formal Verification of SoCs

Binary Decision Diagrams and Symbolic Model Checking

And Inverter Graphs. and and nand. inverter or nor xor

ECE 407 Computer Aided Design for Electronic Systems. Simulation. Instructor: Maria K. Michael. Overview

State-Space Exploration. Stavros Tripakis University of California, Berkeley

Model Checking: An Introduction

Double Header. Model Checking. Model Checking. Overarching Plan. Take-Home Message. Spoiler Space. Topic: (Generic) Model Checking

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.

Introduction. Pedro Cabalar. Department of Computer Science University of Corunna, SPAIN 2013/2014

Computer Aided Verification

Verification. Arijit Mondal. Dept. of Computer Science & Engineering Indian Institute of Technology Patna

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL Specifications

CS 267: Automated Verification. Lecture 1: Brief Introduction. Transition Systems. Temporal Logic LTL. Instructor: Tevfik Bultan

Reachability Analysis Using Octagons

Formal Verification of Systems-on-Chip

MACHINE COMPUTING. the limitations

EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2014

Techniques and Algorithms for the Design and Development of a Virtual Laboratory to Support Logic Design and Computer Organization

Model Checking. Boris Feigin March 9, University College London

A New Assertion Property Language for Analog/Mixed-Signal Circuits

IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 5, MAY /$25.

Finite-State Model Checking

ESE601: Hybrid Systems. Introduction to verification

Linear Temporal Logic and Büchi Automata

Executing the formal semantics of the Accellera Property Specification Language

Introduction to Embedded Systems

Model checking the basic modalities of CTL with Description Logic

Special Nodes for Interface

FUNCTIONAL THERMAL SIMULATION MODELS FOR DIGITAL INTEGRATED CIRCUITS

CIS 842: Specification and Verification of Reactive Systems. Lecture Specifications: Specification Patterns

IMPROVED MODEL GENERATION AND PROPERTY SPECIFICATION FOR ANALOG/MIXED-SIGNAL CIRCUITS

Motivation Framework Proposed theory Summary

THERMAL MODELING OF INTEGRATED CIRCUITS IN DIGITAL SIMULATION ENVIRONMENTS

Formal Verification of Mobile Network Protocols

Configurable Verification of RISC Processors

Design for Manufacturability and Power Estimation. Physical issues verification (DSM)

Algorithmic verification

Automata-Theoretic Model Checking of Reactive Systems

Computer-Aided Program Design

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar

Model Checking with CTL. Presented by Jason Simas

Parallel VLSI CAD Algorithms. Lecture 1 Introduction Zhuo Feng

Coverage in Interpolation-based Model Checking

ECE 5775 (Fall 17) High-Level Digital Design Automation. Control Flow Graph

FAIRNESS FOR INFINITE STATE SYSTEMS

DVClub Europe Formal fault analysis for ISO fault metrics on real world designs. Jörg Große Product Manager Functional Safety November 2016

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr

Software Verification

NPTEL Phase-II Video course on. Design Verification and Test of. Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati

Formal Design of Composite Physically Unclonable Function

Technology Mapping for Reliability Enhancement in Logic Synthesis

Unbounded, Fully Symbolic Model Checking of Timed Automata using Boolean Methods

3-Valued Abstraction-Refinement

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University

EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016

CS 226: Digital Logic Design

EXAMINATION in Hardware Description and Verification

Computation Tree Logic (CTL) & Basic Model Checking Algorithms

Formal Verification of Systems-on-Chip Industrial Practices

CS256/Winter 2009 Lecture #1. Zohar Manna. Instructor: Zohar Manna Office hours: by appointment

Vedic Based Division Core Design

A Novel Ternary Content-Addressable Memory (TCAM) Design Using Reversible Logic

Formal Verification. Lecture 1: Introduction to Model Checking and Temporal Logic¹

THEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006

Requirements Validation. Content. What the standards say (*) ?? Validation, Verification, Accreditation!! Correctness and completeness

Example: vending machine

Assertions and Measurements for Mixed-Signal Simulation

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

IC3 and Beyond: Incremental, Inductive Verification

ECE 448 Lecture 6. Finite State Machines. State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code. George Mason University

Reversible Implementation of Ternary Content Addressable Memory (TCAM) Interface with SRAM

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

CTL Model checking. 1. finite number of processes, each having a finite number of finite-valued variables. Model-Checking

THE UNIVERSITY OF MICHIGAN. Faster Static Timing Analysis via Bus Compression

COEN6551: Formal Hardware Verification

From Löwenheim to Pnueli, from Pnueli to PSL and SVA

Design and Study of Enhanced Parallel FIR Filter Using Various Adders for 16 Bit Length

arxiv: v1 [cs.lo] 29 May 2014

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar

Formal Verification of Mathematical Algorithms

Design of Control Modules for Use in a Globally Asynchronous, Locally Synchronous Design Methodology

Model Checking. Temporal Logic. Fifth International Symposium in Programming, volume. of concurrent systems in CESAR. In Proceedings of the

Understanding IC3. Aaron R. Bradley. ECEE, CU Boulder & Summit Middle School. Understanding IC3 1/55

Model for reactive systems/software

Transcription:

Design Verification Overview Testing & Verification Dept. of Computer Science & Engg,, IIT Kharagpur Pallab Dasgupta Professor, Dept. of Computer Science & Engg., Professor-in in-charge, AVLSI Design Lab, Indian Institute of Technology Kharagpur

Design Flows: Digital versus Analog Design Concept Design Entry Verilog / VHDL Behavioral Simulation Synthesis Place & Route Post-Layout Simulation Schematic Entry Spice Simulation Custom Layout DRC Extract netlist Post-Layout Simulation SDL Full Chip Assembly Full Chip DRC Full Chip Simulation Tape Out DRC: Design Rule Checking SDL: Schematic Driven Layout 2

Design Cycle: Intent Creation English Architectural Specification Executable Specs (CSpec) Is the intent correct? C, SystemC, Esterel English Component Specs Document Design intent creation 3

Design Cycle: Implementation Component Specs Document RTL implementation Verilog, VHDL Equivalence checking English documents Implementation (Spec vs RTL) Design integration Synthesis Gate Level Netlist Technology mapping Layout Transistor Level (Schematic) Mask 4

Verification Dominates Design Emulation 15% Structural 12% Synthesis Timing analysis Equivalence checking DFT Simulation 46% Behavioral modeling Architecture level simulation System level simulation Design 27% High-level design RTL coding Block-level simulation Source: 0-In Design Automation 5

Pieces of the verification puzzle Timing Architecture Unit Microcode Debugging Cluster Full-chip Protocol Power Picture source:skulladay.com 6

Design and Verification design specifications micro-architecture RTL does it meet the specs? does it implement the μ-arch? are they equivalent? property checking verification gate netlist layout are they equivalent? equivalence checking 7

Functional Verification Challenge Is the implementation correct? How do we define correct? Classical: Simulation result matches with golden output Formal: Equivalence with respect to a golden model Property verification: Correctness properties (assertions) expressed in a formal language Formal: Model checking Semi-formal: formal: Assertion-based verification Trade-off between computational complexity and exhaustiveness 8

Simulation Design Test Plan Test Bench Stimulus Generation Simulation Coverage Metrics Debug Bug Tracking Advances: Test bench languages are richer (such as SystemVerilog) Coverage monitors and assertions Layered test benches and Transaction Level Modelling 9

Advent of Formal Methods in EDA Goal: Exhaustive verification of the design intent within feasible time e limits Philosophy: Extraction of formal models of the design intent and the implementation and comparing them using mathematical / logical methods Formal Properties always @( posedge clk ) begin if (!rst) begin a1 <= a2; a2 <= ~a1; end; end Design Intent Register Transfer Level Gate Level Model Checking Logical Equivalence Checking Temporal Logics (Turing Award: Amir Pnueli) Adopted by Accelera / IEEE Integrated into SystemVerilog Tools: Academia: NuSMV,, VIS Industry: Magellan (Synopsys) IFV (Cadence) 2008: Clarke & Emerson get Turing Award Transistor Level 10

Toy example: Priority Arbiter r1 r2 g1 g2 Either g1 or g2 is always false (mutual exclusion) G[ g1 g2] Whenever r1 is asserted, g1 is given in the next cycle G[ r1 Xg1 ] When r2 is the sole request, g2 comes in the next cycle G[ ( r1( r2) Xg2 ] When none are requesting, the arbiter parks the grant on g2 G[ ( r1( r2) Xg2 ] Violation!! 11

Dynamic Property Verification (DPV) [Source: A Roadmap for Formal Property Verification, Springer, 2006] 12

Formal Property Verification (FPV) always!g1!g2 always r2 &&!r1 next g2 Formal Properties Temporal Logics (Timed / Untimed,, Linear Time / Branching Time): LTL, CTL Early Languages: Forspec (Intel), Sugar (IBM), Open Vera Assertions (Synopsys) Current IEEE Standards: SystemVerilog Assertions (SVA), Property Specification Language (PSL) 13

Assertion Based Verification Flow Refine the model or assertions Modify assumptions Spurious NO YES Decompose, Abstract, Over Constrain cex YES NO Model + Properties Model Checker Indeterminate Results PASS NO YES Stuck? None of the Abstractions working Bug Hunting (Directed Simulation assisted MC) Closure? [Source: Raj Mitra,, TI] 14

Course Agenda: Verification Track Design Entry: Brief overview of Verilog Simulators: How they work Test Scenarios and Coverage Static Checks Symbolic Representation of Logic and State Spaces: BDDs,, SAT Equivalence Checking Assertions Formal Property Verification: Model Checking Formal Verification Coverage 15

Verification Group Profile The verification research group focuses on providing industrially relevant methods for the verification of various designs ranging from digital and mixed-signal chip designs to complex software and embedded systems such as automotive control systems. Areas of strength include: Design Intent Verification Formal Verification Coverage Mixed-signal Design Verification Coverage-driven Semi-Formal Verif. Verification of Automotive Systems Verification of Web Interfaces Home: http://www.facweb.iitkgp.ernet.in/~pallab/forverif.html Research Partners / Sponsors: DST Govt. of India 16

The Family PhD Students: J.K. Deka (Completed) Prasenjit Basu (Submitted) Sayantan Das (Completed) Ansuman Banerjee (Submitted) Suchismita Roy (Submitted) Bhaskar Pal (Submitted) Arijit Mondal (Ongoing) P.V. Rajkumar (Ongoing) Manoj Dixit (Ongoing) Srobona Mitra (Ongoing) Priyankar Ghosh (Ongoing) Chandan Karfa (Ongoing) Subrat Panda (Ongoing) Dipankar Das (Ongoing) MS Students: Ansuman Banerjee (Completed) Bhaskar Pal (Completed) Pritam Ray (Completed) Arijit Mondal (Completed) Sayak Ray (Submitted) Anindyasundar Nandi (Submitted) Rajdeep Mukhopadhyay (Ongoing) Aritra Hazra (Ongoing) Sourashis Das (Ongoing) Kamalesh Ghosh (Ongoing) Antara Ain (Ongoing) Some Alumni: Shuvendu Lahiri (CMU), Pankaj Chauhan (CMU) Sagar Chaki (CMU), Arindam Chakraborty (UC Berkeley), Krishnendu Chakraborty (UC Berkeley), S Sriram (Stanford), Jayanta Bhadra (U Texas, Austin) Home: http://www.facweb.iitkgp.ernet.in/~pallab/forverif.html 17