ON THE EFFECTIVENESS OF ASSERTION-BASED VERIFICATION

Similar documents
Property-based design with HORUS / SYNTHORUS

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series

Single Channel HDLC Core V1.3. LogiCORE Facts. Features. General Description. Applications

32 Channel HDLC Core V1.2. Applications. LogiCORE Facts. Features. General Description. X.25 Frame Relay B-channel and D-channel

Post processing techniques to accelerate assertion development Ajay Sharma

Part 6: VHDL simulation. Introduction to Modeling and Verification of Digital Systems. Elaboration and simulation. Elaboration and simulation

Fast Prototyping from Assertions: a Pragmatic Approach

Specifying circuit properties in PSL

Focussing Assertion Based Verification Effort for Best Results

Speed up Emulation Debugging using Whitebox Assertions

Assertion Checker Synthesis for FPGA Emulation

Certitude Functional Qualification with Formal Verification. Jean-Marc Forey November 2012

Pragmatic Simulation-Based Verification of Clock Domain Crossing Signals and Jitter using SystemVerilog Assertions

OpenVera Assertions. March Synopsys, Inc.

IP Core Design. Lecture 11 Introduction to PSL

Qualification of Verification Environments Using Formal Techniques

Design of a High-Level Data Link Controller

Specifying circuit properties in PSL. (Some of this material is due to Cindy Eisner and Dana Fisman, with thanks) See also the Jasper PSL Quick Ref.

Hardware Verification 2IMF20

SystemC AssertionLibrary

SLED New Features

Contents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)

ECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers

Cycle Based Simulation. Design Techniques

Synthesis of Combinational and Sequential Circuits with Verilog

Physical Synthesis and Electrical Characterization of the IP-Core of an IEEE-754 Compliant Single Precision Floating Point Unit

EE 4755 Digital Design Using Hardware Description Languages

Framing and Stuffing. Advanced Computer Networks

Workshop on Digital Circuit Design in FPGA

THANG LUONG CAO. Serial bus adapter design for FPGA. Master of Science Thesis

CHAPTER 4 DATA COMMUNICATION MODES

Assertions: Too good to be reserved for verification only.

BOOST YOUR SYSTEM PERFORMANCE USING THE ZILOG ESCC CONTROLLER

FORMAL SPECIFICATION, SYSTEM VERILOG ASSERTIONS & COVERAGE. By Calderón-Rico, Rodrigo & Tapia Sanchez, Israel G.

A Customizable Monitoring Infrastructure for Hardware/Software Embedded Systems

OPEN VERIFICATION LIBRARY

INTRODUCTION TO CATAPULT C

218 SystemVerilog Assertions Handbook, 4th Edition

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

COE758 Digital Systems Engineering

Sugar 2.0 An Introduction

System-on-Chip Design for Wireless Communications

VHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses

23. Digital Baseband Design

Multi-Gigahertz Parallel FFTs for FPGA and ASIC Implementation

CS/ECE 5780/6780: Embedded System Design

Channel FIFO (CFIFO) (v1.00a)

7.3.3 Same Inputs in Antecedent and Consequent

Property Mining using Dynamic Dependency Graphs. Jan Malburg, Tino Flenker, and Görschwin Fey

ECE 587 Hardware/Software Co-Design Lecture 11 Verification I

TIMA Lab. Research Reports

INF672 Protocol Safety and Verification. Karthik Bhargavan Xavier Rival Thomas Clausen

Leveraging Formal Verification Throughout the Entire Design Cycle

Design Process. Design : specify and enter the design intent. Verify: Implement: verify the correctness of design and implementation

Bringing Formal Property Verification Methodology to SoC Interconnects

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

CSE140L: Components and Design Techniques for Digital Systems Lab

High-Level Synthesis Techniques for In-Circuit Assertion-Based Verification

Inferring Storage Elements

Assertion-Based Verification

TKT-1212 Digitaalijärjestelmien toteutus. Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008

CSE140L: Components and Design

EE 4755 Digital Design Using Hardware Description Languages

Assertion and Model Checking of SystemC

Sequential Circuit Design: Principle

Debugging Inconclusive Assertions and a Case Study

Real life experiences of PSL. Magnus Björk Hardware Description and Verificatoin

MT8952B. ISO-CMOS ST-BUS FAMILY HDLC Protocol Controller. Features. Description. Applications

Acceleration of SAT-based Iterative Property Checking

P2VSIM: A SIMULATION AND VISUALIZATION TOOL FOR THE P2V COMPILER. A Thesis OSCAR MICHAEL ALMEIDA

Viterbi Decoder Block Decoding - Trellis Termination and Tail Biting Author: Michael Francis

DesignCon AMBA Compliance Checking Using Static Functional Verification

Checkers for SystemC Designs

Simulation semantics (a.k.a. event semantics)

Mathematica for the symbolic. Combining ACL2 and. ACL2 Workshop 2003 Boulder,CO. TIMA Laboratory -VDS Group, Grenoble, France

Laboratory Exercise 8

7.3 Case Study - FV of a traffic light controller

CAN FD filter for Classical CAN controllers

Modeling and Verification of the Fairisle ATM Null Port Controller in VIS

Formal Verification Adoption. Mike Bartley TVS, Founder and CEO

High Data Rate Fully Flexible SDR Modem

MYGEN : Automata-Based On-line Test Generator for Assertion-Based Verification

Universal Asynchronous Receiver/Transmitter Core

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification?

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

OUTLINE SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL September 3, 2018 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1)

Verification of Power Management Protocols through Abstract Functional Modeling

The Application of Formal Technology on Fixed-Point Arithmetic SystemC Designs

IP Core Design. Lecture 10 Property/Assertion-Based Verification

UDP1G-IP Introduction (Xilinx( Agenda

ECE331: Hardware Organization and Design

Novel Architecture for Designing Asynchronous First in First out (FIFO)

Pragmatic Simulation-Based Verification of Clock Domain Crossing Signals and Jitter using SystemVerilog Assertions

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

Code Coverage. Design Verification Techniques

ECE Digital Engineering Laboratory. Designing for Synthesis

What is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

RTL Coding General Concepts

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints

Transcription:

ON THE EFFECTIVENESS OF ASSERTION-BASED VERIFICATION IN AN INDUSTRIAL CONTEXT L.Pierre, F.Pancher, R.Suescun, J.Quévremont TIMA Laboratory, Grenoble, France Dolphin Integration, Meylan, France Thales Communications & Security, Gennevilliers, France

INTRODUCTION What can be the benefits of Assertion-Based Verification - and of synthesizable assertion checkers - in an industrial context? Outline: What is Assertion-Based Verification? A few words about the synthesizable checkers Formalization and verification of requirements for an actual HDLC controller IP Return of experience, benefits of the formalization steps, properties violations Characteristics of the generated hardware assertion checkers 2

INTRODUCTION - ABV? Assertion: statement about the intended behaviour or a requirement of the design Temporal logics: CTL, LTL, Specification languages: SVA (IEEE Std 1800), PSL (IEEE Std 1850) Assertion-Based Verification: does the design obey these temporal assertions? Static analysis (model checking) Dynamic verification (during simulation) 3

INTRODUCTION - ABV? Assertion: statement about the intended behaviour or a requirement of the design Temporal logics: CTL, LTL, Specification languages: SVA (IEEE Std 1800), PSL (IEEE Std 1850) Assertion-Based Verification: does the design obey these temporal assertions? Static analysis (model checking) Dynamic verification (during simulation) 4

INTRODUCTION - ABV? Static vs dynamic verification Circuit description Formal specification Formal model Formal proof tool Specification satisfied? Circuit description Formal specification Simulator / FPGA prototyping Stimuli Simulation/emulation results + property satisfaction/violation 5

ASSERTION CHECKERS PSL associated with VHDL RTL descriptions Logic and temporal properties on the signals of the design Example: DATA_OUT SENDING NODE DATA_IN VALID_DATA DATA TRANSLATION START READY ERROR RECEIVING NODE END RST EN STOP default clock = (posedge clk); always(end -> next (START before ERROR)) ERROR END START 6

ASSERTION CHECKERS ERROR END START always(end -> next (START before ERROR)) Checker PSL assertion 7

ASSERTION CHECKERS Simulation of the design under verification connected to the assertion checkers: Design Checkers Valid = 0 -> violation FPGA prototyping with the checkers 8

ASSERTION CHECKERS Compositional construction Example: always (Req -> (Busy until! Ack)) Formally proven http://tima.imag.fr/vds/horus/ http://www.dolphin.fr/medal/products/smash/options/smash_sva.php 9

CASE STUDY HDLC (High-level Datalink Control) controller IP 10

CASE STUDY Documents VHDL source files and user guide Requirements specification About 20 requirements Nominal behaviour Start and end of frames - Example: The receiver shall activate the signal EndOfFrame when it is outputting the last byte of a frame Transparency Idle mode - Example: While disabled (idle mode), the transmitter shall send flags or partial flags Abort... 11

CASE STUDY Example: while disabled (idle mode), the transmitter shall send flags or partial flags!property HDLC_240: always({!txlastbit &&!TXDATAWR; TXLASTBIT &&!TXDATAWR} => {{!TXDOUT &&!TXENABLE; (TXDOUT &&!TXENABLE)[*6];!TXDOUT &&!TXENABLE}[*]; {{TXENABLE}! {!TXDOUT; (TXDOUT &&!TXENABLE)[*0..6]; TXENABLE}}});! 12

CASE STUDY Informal vs formal requirements The signal AbortFound shall be set high when the reception of an abort sequence is detected. When exactly? When SendAbort gets active, the transmitter shall abort the frame by transmitting at least seven consecutive 1 bits. It shall be followed by flags before the transmission of new words. Violations, due to an implicit hypothesis about the sampling clock for output data. If disabled while sending a character, the transmitter shall finish sending that character, followed by CRC and close flag before coming back to idle mode. Violations, due to an implicit hypothesis (no reception of data while disabled). 13

CASE STUDY Informal vs formal requirements The transmitter shall activate the UnderRun signal and end the frame automatically if no new valid byte has been written in the input buffer on the seventh rising edge of the transmitter clock following the emission of the buffer empty signal. Violations, due to an implicit hypothesis (latency for the emission of UnderRun allowed). The receiver shall activate the signal EndOfFrame when it is outputting the last byte of a frame. Violations, but the unexpected behaviour is worked around by the including components. 14

CASE STUDY Characteristics of the generated monitors Synthesis performed with Synopsys Design Compiler. The target cell library is Dolphin s SESAMEeHSvHD_TSMC_0.18um. 15

CONCLUSIONS Overhead - Summary: Area: 80% Leakage power: 72% - Dynamic power: 10% No impact on frequency Thales s return of experience More bugs detected than with classical simulation Careful (natural language) expression of the requirements PSL can be considered as a way to make safer designs In FPGA-based prototyping, to track and detect more bugs more quickly If embedded monitors are targeted: tradeoff between design criticality and resource overhead 16

THANKS... QUESTIONS? 17