Introduction to Functional Verification. Niels Burkhardt



Similar documents
Assertion Synthesis Enabling Assertion-Based Verification For Simulation, Formal and Emulation Flows

Digital Design Verification

Requirements-driven Verification Methodology for Standards Compliance

BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH

The structured application of advanced logging techniques for SystemVerilog testbench debug and analysis. By Bindesh Patel and Amanda Hsiao.

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

Use, Analysis, and Debug of SystemVerilog Assertions

Chapter 13: Verification

Understanding DO-254 Compliance for the Verification of Airborne Digital Hardware

Automating Root-Cause Analysis to Reduce Time to Find Bugs by Up to 50%

System Verilog Testbench Tutorial Using Synopsys EDA Tools

A Verilog HDL Test Bench Primer Application Note

Introduction to Automated Testing

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC

Solutions for Mixed-Signal SoC Verification New techniques that are making advanced SoC verification possible

ESP-CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation

Getting off the ground when creating an RVM test-bench

DO-254 Requirements Traceability

VERIFICATION TECHNOLOGIES

System-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems.

SVA4T: SystemVerilog Assertions - Techniques, Tips, Tricks, and Traps

CSTE Mock Test - Part I - Questions Along with Answers

Latest Trends in Testing. Ajay K Chhokra

Using SystemVerilog Assertions for Creating Property-Based Checkers

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Introducing the Dezyne Modelling Language

ModelSim-Altera Software Simulation User Guide

Using a Generic Plug and Play Performance Monitor for SoC Verification

Formal Verification and Linear-time Model Checking

System / Verification: Performance & Debug Track Abstracts

ARM Webinar series. ARM Based SoC. Abey Thomas

Extending the Power of FPGAs. Salil Raje, Xilinx

FPGA-Centric Functional Verification

Functional and LoadTest Strategies

Keeping Up with Chip the Proposed SystemVerilog 2012 Standard Makes Verifying Ever-increasing Design Complexity More Efficient

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

AMS Verification at SoC Level: A practical approach for using VAMS vs SPICE views

Novas Software, Inc. Introduction. Goal. PART I: Original Technology Donation 1. Data Dump Reader

Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

Model Based Software Development for DDG 1000 Advanced Gun System

Product Development Flow Including Model- Based Design and System-Level Functional Verification

FSW QA Testing Levels Definitions

Agilent Technologies. Generating Custom, Real-World Waveforms Integrating Test Instrumentation into the Design Process Application Note 1360

Testing of Digital System-on- Chip (SoC)

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

Concurrent Hardware/Software Development Platforms Speed System Integration and Bring-Up

SystemVerilog Is Getting Even Better!

SYSTEMVERILOG ASSERTIONS FOR FORMAL VERIFICATION

Efficient Project Management and Verification Sign-off Using Questa Verification Management

Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects

Verilog: Blocks

Modeling Registers and Counters

Comparative Study of Automated testing techniques for Mobile Apps

Chapter 2 Ensuring RTL Intent

Design and Functional Verification of A SPI Master Slave Core Using System Verilog

Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

White Paper. S2C Inc Technology Drive, Suite 620 San Jose, CA 95110, USA Tel: Fax:

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

Introduction to Software Testing Chapter 8.1 Building Testing Tools Instrumentation. Chapter 8 Outline

SOFTWARE TESTING TRAINING COURSES CONTENTS

LONG BEACH CITY COLLEGE MEMORANDUM

Lab 1: Full Adder 0.0

Review of Mobile Applications Testing with Automated Techniques

CONSTRAINT RANDOM VERIFICATION OF NETWORK ROUTER FOR SYSTEM ON CHIP APPLICATION

Integrated Error-Detection Techniques: Find More Bugs in Java Applications

Engineering Change Order (ECO) Support in Programmable Logic Design

Environment Modeling for Automated Testing of Cloud Applications

A Fully Reusable Register/Memory Access Solution: Using VMM RAL

ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. Basic Verilog

CI for FPGA D&V. Continuous Integration for FPGA Design and Verification Verification Futures Alan Fitch, Ericsson TV Ltd

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Testing Introduction. IEEE Definitions

Software Test Plan (STP) Template

9/14/ :38

VHDL-Testbench as Executable Specification

Design and Verification of Nine port Network Router

A Hardware and Software Monitor for High-Level System-on-Chip Verification

Basic Unix/Linux 1. Software Testing Interview Prep

Computing Concepts with Java Essentials

Design and Implementation of Vending Machine using Verilog HDL

SIS Functional Design 15 minutes

Using a Generic Plug and Play Performance Monitor for SoC Verification

ECE 451 Verilog Exercises. Sept 14, James Barnes

Serial port interface for microcontroller embedded into integrated power meter

A Guide To Evaluating a Bug Tracking System

Business white paper. Best practices for implementing automated functional testing solutions

Software Engineering Techniques

Cable Analysis and Fault Detection using the Bode 100

Introduction to VLSI Testing

Modeling Latches and Flip-flops

A HARDWARE IMPLEMENTATION OF THE ADVANCED ENCRYPTION STANDARD (AES) ALGORITHM USING SYSTEMVERILOG

Improving Test Performance through Instrument Driver State Management


PREFACE WHY THIS BOOK IS IMPORTANT

Transcription:

Introduction to Functional Verification

Overview Verification issues Verification technologies Verification approaches Universal Verification Methodology Conclusion

Functional Verification issues Hardware Designs get more and more complex Hand-written stimulus (directed test) is difficult to write and maintain Corner cases are difficult to catch Visual inspection of waveforms in order to trace a bug is a tedious task The amount of time spent on verification now exceeds the amount of time spent on design, comprising up to 70 percent of the total development effort. Goal: Find bugs early and fast!!

Verification Requirements Automation Progress measurement Reusability Easy to write and to maintain Find all bugs

Verification Technologies Formal Verification Equivalence Checking Formal Property (Assertion) Checking Simulation Based Verification

Simulation Based Verification Scoreboard Monitor Monitor Stimulus Generator Design Under Test (DUT) Monitor: samples interface activity Scoreboard: checks DUT behavior

Formal Property Checking Proves the correct behavior for all operation states Design under test (DUT) gets translated into boolean expressions No input stimulus is needed the stimulus is created by the tool Properties describe the behavior of the design Assertions for DUT behavior Constraints for environment behavior

Equivalence Checking Proves the exactly same behavior of different design representations e.g. RTL vs. synthesis net list Several tools in the design process change the design Design for Test (DFT) inserts additional logic Logic optimizations Engineering Change Orders (ECOs)

Verification Approaches Transaction Based Verification Coverage Driven Verification Constrained Random Testing Assertion Based Verification

Transaction Based Verification Abstraction from low-level signals Contains abstract tasks that hide the implementation from the engineer Enhances reusability task in Verilog Transaction address data Stimulus Generator addr data request valid grant DUT

Coverage Driven Verification Coverage metrics are used to ascertain whether a test verified a given feature Uncovers holes in the verification process Adjusts stimulus to check cases that have not yet been covered Defines a metric to measure verification progress Functional coverage, code coverage, assertion coverage, test coverage

Constrained Random Testing Focuses on input stimulus generation Randomized stimulus is generated automatically Stimulus is filtered by constraints in order to achieve only valid test patterns

Assertion Based Verification Assertions check the state of a DUT Run concurrently and ensure correct functional behavior Increase observability Can be used for formal verification property legal_data_valid; @(posedge clk) disable iff(!res_n) (data_valid && $rose(sop)) -> ##[1:32] ##1 eop; endproperty : legal_data_valid data_valid : assert property(legal_data_valid);

Verification Plan Defines the functionality of the DUT Checks Coverage Does NOT define how the DUT has to be verified Coverage results are mapped to the verification plan for analysis Functional Design & Design Specs Specs Verification Plan

Verification Plan

Verification Flow Done Functional Specification Yes Signoff? No Verification Plan Coverage Analyze Build Testbenches Coverage Def. Assertions Execute (Regression) Simulation Formal

Universal Verification Methodology (UVM) A standard for building simulation based verification environments Class library based on SystemVerilog Key features Data design and stimulus generation Building and running a verification environment Coverage modeling and checking Focuses on re-usability Maintained by Accellera

Universal Verification Component (UVC) Combines all components for a single interface into a reusable package UVC Agent Agent Sequencer Sequencer Driver Monitor Driver Monitor Sequencer: creates transactions Driver: transform transactions into stimulus Monitor: samples stimulus turns into transactions Agent: environment for sequencer, driver and monitor

UVM Testbench Testbench Scoreboard Virtual Sequencer I2C UVC S D M HT UVC S D M DUT HT Interface I2C Interface Ethernet Interface Ethernet Interface ETH UVC S D M ETH UVC S D M

Conclusion Traditional design simulation has many drawbacks New verification methodologies improve the task of finding bugs Advanced verification methods have a high learning curve But: Once established, functional verification increases the productivity