Verification Technologies IBM Haifa Labs Formal Specification Using Sugar 2.0 Cindy Eisner September 2002.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

1 IP-Based System-on-Chip Design 2002 IP Reuse Hardening via Embedded Sugar Assertions Erich Marschner 1, Bernard Deadman 2, Grant Martin 1 1 Cadence Design.
Sugar 2.0 Formal Specification Language D ana F isman 1,2 Cindy Eisner 1 1 IBM Haifa Research Laboratory 1 IBM Haifa Research Laboratory 2 Weizmann Institute.
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
DATE 2003, Munich, Germany Formal Verification of a System-on-Chip Bus Protocol Abhik Roychoudhury Tulika Mitra S.R. Karri National University of Singapore.
The need for AMS assertions Verify the analog/digital interfaces at block and SoC levels –Check properties involving voltages and currents –Check complex.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
Verification SV3.1a Assumptions Surrendra Dudani Nov. 14, 2003 Synopsys, Inc.
1 MODULE name (parameters) “Ontology” “Program” “Properties” The NuSMV language A module can contain modules Top level: parameters less module Lower level.
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
Model Checking I What are LTL and CTL?. and or dreq q0 dack q0bar.
UPPAAL Introduction Chien-Liang Chen.
 2012 Bert Molenkamp, Jan Kuper, University of Twente, PSL Introduction to Assertion Based Verification with PSL (VHDL flavor) Bert Molenkamp Jan Kuper.
Introduction to LUSTRE 22c181 Spring Background Developed in 1980’s at Verimag (Fr) Currently used by Estrel Technologies in Scade development tools.
Model Checking I What are LTL and CTL?. and or dreq q0 dack q0bar D D.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
Run Time Monitoring of Reactive System Models Mikhail Auguston Naval Postgraduate School Mark Trakhtenbrot Holon Academic Institute of.
More on PSL some examples, some pitfalls. start idlep1p2p3 continue done cancel FSM.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
1 Assertion Based Verification 2 The Design and Verification Gap  The number of transistors on a chip increases approximately 58% per year, according.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Temporal Logic of Actions (TLA) Leslie Lamport
Assertion-Based Verification
Models of Computation for Embedded System Design Alvise Bonivento.
Assertions in OpenVera Assertions check for the occurrence of sequences during simulation Sequence is an ordered (maybe timed) series of boolean events.
Presenter: PCLee Design Automation Conference, ASP-DAC '07. Asia and South Pacific.
Global Critical Path: A Tool for System-Level Timing Analysis
Application of Formal Verification Methods to the analysis of Bearings-only Ballistic Missile Interception Algorithms Eli Bendersky Michael Butvinnik Supervisor:
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
CSET 4650 Field Programmable Logic Devices
Roza Ghamari Bogazici University April Outline Introduction SystemC Language Formal Verification Techniques for SystemC Design and Verification.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
Teaching Functional Verification – Course Organization Design Automation Conference Sunday, June 9, 2002.
Teaching Functional Formal Verification Dr. Yaron Wolfsthal Manager, Formal Methods IBM Haifa Research Laboratories DAC 2002.
Specifying circuit properties in PSL. Formal methods Mathematical and logical methods used in system development Aim to increase confidence in riktighet.
SystemVerilog. History Enhancement of Verilog Enhancement of Verilog 2002 – accellera publishes SystemVerilog – accellera publishes SystemVerilog.
Property Specification Language PSL. Hardware Verification Example.
Semi-automatic Property Generation for the Formal Verification of a Satellite On-board System Wesley Gonçalves Silva.
Sugar 2.0 and TestWizard 2.0 An Introduction R 杜威廷 R 鍾智能 Hardware / Software Co-Design Term Project.
Introduction to OVL (Open Verification Library) Alexander Gnusin.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Introduction to Formal Verification using Rulebase April 18, 2001 Rebecca Gott eServer I/O Development Hardware Verification
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Introduction to Cindy Eisner Formal Methods Group IBM Haifa Research Laboratory February 2001 Copyright 2001 IBM Haifa Research Laboratory.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
Verification & Validation By: Amir Masoud Gharehbaghi
Can Assertions Save Military PLD Designs? MAPLD 2009 Presentation Session D: Design and Verification Tools and Methodologies Presented by: Jaroslaw "Jerry"
Jasper Design Automation© PSL Property Specification Language Jasper Design Automation.
March 20, Sugar 2.0 – Proposal Presented to Accellera FVTC Cindy Eisner Joint Work with Dana Fisman IBM Research Laboratory in Haifa.
1 Temporal logic. 2 Prop. logic: model and reason about static situations. Example: Are there truth values that can be assigned to x,y simultaneously.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Automated Formal Verification of PLC (Programmable Logic Controller) Programs
Teaching Functional Verification – Course Organization Design Automation Conference Sunday, June 9, 2002.
Sugar Advantages Cindy Eisner IBM Research Laboratory in Haifa.
6/12/20161 a.a.2015/2016 Prof. Anna Labella Formal Methods in software development.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Specifying circuit properties in PSL / Sugar. But first some background…
Assertions An assertion is a statement about the design’s intended behavior Assertions can be written in a hardware description language (HDL) Assertions.
CSCI1600: Embedded and Real Time Software
Specifying circuit properties in PSL / Sugar
Teaching Functional Verification – Course Organization
Introduction to Cindy Eisner Formal Methods Group
Presentation transcript:

Verification Technologies IBM Haifa Labs Formal Specification Using Sugar 2.0 Cindy Eisner September 2002

HRLHRL Sugar 2.0 Overview  Declarative language for specification of hardware  Concise, intuitive formalism to reason about behavior over time  Combines  temporal logic and  regular expressions  under a convenient layer of user-friendly syntactic sugar  Sugar is used as:  easy-to-read but precise specification  input to formal verification  source of automatically generated checkers for simulation

HRLHRL Sugar 2.0 History  1994  Syntactic sugaring of CTL for RuleBase model checker  1995  Addition of regular expressions  1997  Automatic generation of simulation monitors ________________________________________________  2001  Move to linear (LTL-based) semantics  2002  Selected by Accellera for IEEE standardization Sugar 1.0 Sugar 2.0

HRLHRL Track Record (Sugar 1.0)  IBM products:  Main Frame line (S/390)  Midrange line (AS/400)  Workstation line (RS/6000)  PC line (Netfinity)  Super Computers (ASCI)  ASIC/OEM business  External licensees  University program

HRLHRL Sugar 2.0 Sugar The Language Boolean Temporal Verification Modeling

HRLHRL Sugar 2.0 The Temporal Layer Boolean Temporal Verification Modeling

HRLHRL Sugar 2.0 Simple Invariants  If data_en is de-asserted, then data_out must be de- asserted as well. always (!data_en -> !data_out)  Signals ena and enb are never asserted simultaneously. never (ena & enb)

HRLHRL Sugar 2.0 Relations Over Time  If req is asserted, then ack must be asserted the following cycle. always (req -> next ack)  If req is asserted, ack must be asserted four cycles later. always (req -> next[4] ack)  If req is asserted, ack must be asserted some time in the future. always (req -> eventually! ack)

HRLHRL Sugar 2.0 Relations Over Time, cont.  Whenever a high priority request is received, the next grant should be to a high priority requester. always (hi_pri_req -> next_event(grant)(dst=hi_pri))  Whenever a request is issued, signal last_ready must be asserted on the fourth assertion of signal ready. always (req -> next_event(ready)[4](last_ready))

HRLHRL Sugar 2.0 Regular Expressions  If req is asserted, then eventually we must see an ack that is not aborted. always (req -> eventually! {ack ; !abortin}) ac k aborti n re q

HRLHRL Sugar 2.0 Regular Expressions, cont.  A sequence of req followed by ack should be followed by a full data transaction: an assertion of start_trans, followed by eight consecutive data transfers, followed by the assertion of end_trans. always {req;ack} |=> {start_trans;data[*8];end_trans} dat a endtran s starttran s ac k re q

HRLHRL Sugar 2.0 Regular Expressions, cont.  A sequence of req followed by ack should be followed by a full data transaction: an assertion of start_trans, followed by eight (not necessarily consecutive) data transfers, followed by the assertion of end_trans. always {req;ack} |=> {start_trans;data[=8];end_trans} starttrans ack req data endtrans

HRLHRL Sugar 2.0 Hardware clocks  Consider only cycles in which the clock ticks always (req -> next[4] (clk) ac k clk re q

HRLHRL Sugar 2.0 Hardware clocks, cont.  Support for multiply-clocked designs always (p -> next clkq q i p clkp

HRLHRL Sugar 2.0 Hardware resets  Synchronous reset always ({req;ack} |-> {start;data[*8];end} abort (clk)  Asynchronous reset always (({req;ack} |-> (clk)) abort reset)

HRLHRL Sugar 2.0 Standardization: Status  Endorsed publicly by many EDA vendors, including:  Cadence  Mentor Graphics  Co-Design Automation  0-In Design Automation  Novas Software  Accellera recommendation will be submitted to IEEE by year end 2002  Real Intent  TransEDA  Verplex  Veritable  Structured Design Verification

HRLHRL Sugar 2.0 CompanyToolFunction IBM RuleBase Model Checker IBM FoCs Generator of Simulation Monitors NoBug Consulting S2E Specification Compiler TransEDA VN-Property DX Dynamic Property Checker Cadence Verification Cockpit Dynamic + Static Property Checking Avery TestWizard Testbench Automation Tool TNI/Valiosys imPROVE-HDL Model Checker Esterel Esterel Suite Full-flow solution for design Model Checker 0-InCheckerWareLibrary of Protocol Checkers Tool Support

HRLHRL Sugar 2.0 Sugar home page  More information available on the Sugar home page at:  Complete definition  Tutorial  Sugar parser  more