Digital Systems Verification Lecture 13 Alessandra Nardi.

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

1 General-Purpose Languages, High-Level Synthesis John Sanguinetti High-Level Modeling.
SOC Design: From System to Transistor
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
ECAD Tool Flows These notes are taken from the book: It’s The Methodology, Stupid! by Pran Kurup, Taher Abbasi, Ricky Bedi, Publisher ByteK Designs,
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
The Design Process Outline Goal Reading Design Domain Design Flow
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Chapter 7 Design Implementation (II)
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
مرتضي صاحب الزماني  The registers are master-slave flip-flops (a.k.a. edge-triggered) –At the beginning of each cycle, propagate values from primary inputs.
Foundation and XACTstepTM Software
1 Chapter 7 Design Implementation. 2 Overview 3 Main Steps of an FPGA Design ’ s Implementation Design architecture Defining the structure, interface.
EDA TOOLS. Why EDA? Imagine a Intel based micro processor having 1.5 million transistors. Would it be feasible to design such a complex system with help.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
IAY 0600 Digitaalsüsteemide disain Event-Driven Simulation Alexander Sudnitson Tallinn University of Technology.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
CADENCE CONFIDENTIAL 1CADENCE DESIGN SYSTEMS, INC. Cadence Formal Verification 2003 Beijing International Microelectronics Symposium C. Michael Chang Vice.
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
ECE Advanced Digital Systems Design Lecture 12 – Timing Analysis Capt Michael Tanner Room 2F46A HQ U.S. Air Force Academy I n t e g r i.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Classification of Simulators Logic Simulators Emulator-basedSchematic-basedHDL-based Event-drivenCycle-basedGateSystem.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Modeling with hardware description languages (HDLs).
ECE-C662 Lecture 2 Prawat Nagvajara
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
DEVICES AND DESIGN : ASIC. DEFINITION Any IC other than a general purpose IC which contains the functionality of thousands of gates is usually called.
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
IAY 0600 Digital Systems Design Event-Driven Simulation VHDL Discussion Alexander Sudnitson Tallinn University of Technology.
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
TOPIC : Types of Simulation UNIT 1 : Modeling Module 1.5 Simulation.
Classification of Simulators Logic Simulators Emulator-basedSchematic-basedHDL-based Event-drivenCycle-basedGateSystem.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 61 Lecture 6 Logic Simulation n What is simulation? n Design verification n Circuit modeling n True-value.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
ASIC Design Methodology
HDL simulation and Synthesis (Marks16)
VLSI Testing Lecture 5: Logic Simulation
Topics Modeling with hardware description languages (HDLs).
VLSI Testing Lecture 5: Logic Simulation
Vishwani D. Agrawal Department of ECE, Auburn University
Topics Modeling with hardware description languages (HDLs).
Timing Analysis 11/21/2018.
332:437 Lecture 7 Verilog Hardware Description Language Basics
Hardware Description Languages
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
ECE 699: Lecture 3 ZYNQ Design Flow.
332:437 Lecture 7 Verilog Hardware Description Language Basics
VHDL Introduction.
332:437 Lecture 7 Verilog Hardware Description Language Basics
Digital Design Verification
THE ECE 554 XILINX DESIGN PROCESS
H a r d w a r e M o d e l i n g O v e r v i e w
Design Methodology & HDL
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

Digital Systems Verification Lecture 13 Alessandra Nardi

Outline Conventional design and verification flow review Verification Techniques –Simulation –Formal Verification –Static Timing Analysis Emerging verification paradigm

Conventional Design Flow Funct. Spec Logic Synth. Gate-level Net. RTL Layout Floorplanning Place & Route Front-end Back-end Behav. Simul. Gate-Lev. Sim. Stat. Wire Model Parasitic Extrac.

Terminology HDL: Hardware Description Language –E.g.: Verilog, VHDL RTL: Register Transfer Level. It is HDL written for logic synthesis (aka structural HDL): clock cycle to clock cycle operations and events are explicitely defined architecture of the design is implicit in RTL code Behavioral HDL It is HDL written for behavioral synthesis: it describes the intent and the algorithm behind the design without specifying the cycle to cycle behavior Behavioral synthesis It tries to optimize the design at architectural level with constraints for clock, latency and throughput. The output is RTL level design with clocks, registers and buses. Logic synthesis It automatically converts RTL code into gates without modifying the implied architecture. It tries to optimize the gate-level implementation to meet performance (timing, area….) goals

Verification at different levels of abstraction Goal: Goal: Ensure the design meets its functional and timing requirements at each of these levels of abstraction In general this process consists of the following conceptual steps: 1.Creating the design at a higher level of abstraction 2.Verifying the design at that level of abstraction 3.Translating the design to a lower level of abstraction 4.Verifying the consistency between steps 1 and 3 5.Steps 2, 3, and 4 are repeated until tapeout

Verification at different levels of abstraction Behavioral HDL System Simulators HDL Simulators Code Coverage Gate-level Simulators Static Timing Analysis Layout vs Schematic (LVS) RTLGate-level Physical Domain Verification

Verification Techniques functionaltimingSimulation (functional and timing) –Behavioral –RTL –Gate-level (pre-layout and post-layout) –Switch-level –Transistor-level functionalFormal Verification (functional) timingStatic Timing Analysis (timing) Goal: Goal: Ensure the design meets its functional and timing requirements at each of these levels of abstraction

Classification of Simulators Logic Simulators Emulator-basedSchematic-basedHDL-based Event-drivenCycle-basedGateSystem

Classification of Simulators HDL-basedHDL-based: Design and testbench described using HDL –Event-driven –Cycle-based Schematic-basedSchematic-based: Design is entered graphically using a schematic editor EmulatorsEmulators: Design is mapped into FPGA hardware for prototype simulation. Used to perform hardware/software co-simulation.

(Some) EDA Tools and Vendors Behavioral synthesis –Behavioral compiler Synopsys Logic Synthesis –Design Compiler Synopsys –BuildGates Ambit Design Systems –Galileo (FPGA) Examplar (Mentor Graphics) –FPGAExpress (FPGA) Synopsys –Synplify (FPGA) Synplicity

(Some) EDA Tools and Vendors Logic Simulation –Scirocco (VHDL) Synopsys –Verilog-XL (Verilog) Cadence Design Systems –Leapfrog (VHDL) Cadence Design Systems –VCS (Verilog) Chronologic (Synopsys) Cycle-based simulation –SpeedSim (VHDL) Quickturn –PureSpeed (Verilog) Viewlogic (Synopsys) –Cobra Cadence Design Systems –Cyclone Synopsys

Event-driven Simulation Event: change in logic value at a node, at a certain instant of time (V,T) Event-driven: only considers active nodes –Efficient Performs both timing and functional verification –All nodes are visible –Glitches are detected Most heavily used and well-suited for all types of designs

Event-driven Simulation Event: change in logic value, at a certain instant of time (V,T) D=2 a b c Events: Input: b(1)=1 Output: none D=2 a b c Events: Input: b(1)=1 Output: c(3)=0 3

Event-driven Simulation Uses a timewheel to manage the relationship between components TimewheelTimewheel = list of all events not processed yet, sorted in time (complete ordering) When event is generated, it is put in the appropriate point in the timewheel to ensure causality

Event-driven Simulation b(1)=1 d(5)=1 D= D=2 a b c d(5)=1 d e c(3)=0 d(5)= e(4)=0 6 e(6)=1

Cycle-based Simulation Take advantage of the fact that most digital designs are largely synchronous Synchronous circuit: state elements change value on active edge of clock Only boundary nodes are evaluated Internal Node Boundary Node LatchesLatches LatchesLatches

Cycle-based Simulation Compute steady-state response of the circuit –at each clock cycle –at each boundary node LatchesLatches LatchesLatches Internal Node

Cycle-based versus Event-driven Cycle-based:Cycle-based: –Only boundary nodes –No delay information Event-driven:Event-driven: –Each internal node –Need scheduling and functions may be evaluated multiple times Cycle-based is 10x-100x faster than event-driven (and less memory usage) Cycle-based does not detect glitches and setup/hold time violations, while event-driven does

Simulation: Perfomance vs Abstraction.001x SPICE Event-driven Simulator Cycle-based Simulator 1x10x Performance and Capacity Abstraction

Simulation Testplan Simulation –Write test vectors –Run simulation –Inspect results About test vectors – HDL code coverage

Verification - Simulation Consistency: same testbench at each level of abstraction Behavioral Gate-level Design (Post-layout) Gate-level Design (Pre-layout) RTL Design TestbenchSimulation

Formal Verification Can be used to verify a design against a reference design as it progresses through the different levels of abstraction Verifies functionality without test vectors Three main categories: –Model Checking: compare a design to an existing set of logical properties (that are a direct representation of the specifications of the design). Properties have to be specified by the user (far from a push-button methodology) –Theorem Proving: requires that the design is represented using a formal specification language. Present-day HDL are not suitable for this purpose. –Equivalence Checking: it is the most widely used. It performs an exhaustive check on the two designs to ensure they behave identically under all possible conditions.

Static Timing Analysis Suitable for synchronous design Verify timing without testvectors Conservative with respect to dynamic timing analysis Latches Combinational Logic

Static Timing Analysis Inputs: –Netlist, library models of the cells and constraints (clock period, skew, setup and hold time…) Outputs: –Delay through the combinational logic Basic concepts: –Look for the longest topological path –Discard it if it is false

(Some) EDA Tools and Vendors Formal Verification –Formality Synopsys –FormalCheck Cadence Design Systems –DesignVerifyer Chrysalis Static Timing Analysis –PrimeTime Synopsys (gate-level) –PathMill Synopsys (transistor-level) –Pearl Cadence Design Systems

Conventional Simulation Methodology Limitations Increase in size of design significantly impact the verification methodology in general –Simulation requires a very large number of test vectors for reasonable coverage of functionality –Test vector generation is a significant effort –Simulation run-time starts becoming a bottleneck New techniques: –Static Timing Analysis –Cycle-based simulation –Formal Verification

New Verification Paradigm Functional: cycle-based simulation and/or formal verification Timing: Static Timing Analysis Gate-level netlist RTL Testbench Logic Synthesis Cycle-based Sim. Event-driven Sim. Static Timing Analysis Formal Verification

Summary Conventional design and verification flow review Verification Techniques –Simulation Behavioral, RTL, Gate-level, Switch-level, Transistor-level –Formal Verification –Static Timing Analysis Emerging verification paradigm –Functional: cycle-based, formal verification –Timing: Static Timing Analysis

More issues System Level Simulation (Hardware/Software Codesign) –CoCentric System Studio Synopsys –Virtual Component Co-Design (VCC) Cadence Design Syst. Mixed-Signal Simulation –Verilog-AMS