March 20, 20021 Sugar 2.0 – Proposal Presented to Accellera FVTC Cindy Eisner Joint Work with Dana Fisman IBM Research Laboratory in Haifa.

Slides:



Advertisements
Similar presentations
The Quest for Correctness Joseph Sifakis VERIMAG Laboratory 2nd Sogeti Testing Academy April 29th 2009.
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.
Model Checking Lecture 2. Three important decisions when choosing system properties: 1automata vs. logic 2branching vs. linear time 3safety vs. liveness.
VERILOG: Synthesis - Combinational Logic Combination logic function can be expressed as: logic_output(t) = f(logic_inputs(t)) Rules Avoid technology dependent.
The need for AMS assertions Verify the analog/digital interfaces at block and SoC levels –Check properties involving voltages and currents –Check complex.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Combinational Logic.
Verification SV3.1a Assumptions Surrendra Dudani Nov. 14, 2003 Synopsys, Inc.
Give qualifications of instructors: DAP
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
1 Relational Algebra & Calculus. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.  Relational.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Run Time Monitoring of Reactive System Models Mikhail Auguston Naval Postgraduate School Mark Trakhtenbrot Holon Academic Institute of.
1 Simulator-Model Checker for Reactive Real-Time Abstract State Machines Anatol Slissenko University Paris 12 Pavel Vasilyev University Paris 12 University.
Spin Tutorial (some verification options). Assertion is always executable and has no other effect on the state of the system than to change the local.
Temporal Logic of Actions (TLA) Leslie Lamport
Assertion-Based Verification
Assertions in OpenVera Assertions check for the occurrence of sequences during simulation Sequence is an ordered (maybe timed) series of boolean events.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 4 - Advanced Verilog.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Abstract Verification is traditionally done by determining the truth of a temporal formula (the specification) with respect to a timed transition system.
Application of Formal Verification Methods to the analysis of Bearings-only Ballistic Missile Interception Algorithms Eli Bendersky Michael Butvinnik Supervisor:
1 Exception Handling Introduction to Exception Handling Exception Handling in PLs –Ada –C++ –Java Sebesta Chapter 14.
IAY 0600 Digital Systems Design
Model Checking Lecture 4 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Basics of automata theory
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Specifying circuit properties in PSL. Formal methods Mathematical and logical methods used in system development Aim to increase confidence in riktighet.
Pattern-directed inference systems
Property Specification Language PSL. Hardware Verification Example.
1 SystemVerilog Enhancement Requests Daniel Schostak Principal Engineer February 26 th 2010.
Sugar 2.0 and TestWizard 2.0 An Introduction R 杜威廷 R 鍾智能 Hardware / Software Co-Design Term Project.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
16 August Verilog++ Assertion Extension Requirements Proposal.
An Introduction to Programming with C++ Sixth Edition Chapter 7 The Repetition Structure.
Recognizing safety and liveness Presented by Qian Huang.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Verification & Validation By: Amir Masoud Gharehbaghi
Jasper Design Automation© PSL Property Specification Language Jasper Design Automation.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
ece 627 intelligent web: ontology and beyond
PROGRAMMING PRE- AND POSTCONDITIONS, INVARIANTS AND METHOD CONTRACTS B MODULE 2: SOFTWARE SYSTEMS 13 NOVEMBER 2013.
Verification Technologies IBM Haifa Labs Formal Specification Using Sugar 2.0 Cindy Eisner September 2002.
From Natural Language to LTL: Difficulties Capturing Natural Language Specification in Formal Languages for Automatic Analysis Elsa L Gunter NJIT.
Today’s Agenda  Quiz 4  Temporal Logic Formal Methods in Software Engineering1.
Sugar Advantages Cindy Eisner IBM Research Laboratory in Haifa.
Ada, Scheme, R Emory Wingard. Ada History Department of Defense in search of high level language around Requirements drafted for the language.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
Specifying circuit properties in PSL / Sugar. But first some background…
Principles of Programming & Software Engineering
Introduction to System Verilog Assertions
SysML v2 Formalism: Requirements & Benefits
Organization of Programming Languages
IS 2935: Developing Secure Systems
IAY 0600 Digital Systems Design
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
VHDL Discussion Subprograms
Specifying circuit properties in PSL / Sugar
VHDL Discussion Subprograms
Introduction to verification
Presentation transcript:

March 20, Sugar 2.0 – Proposal Presented to Accellera FVTC Cindy Eisner Joint Work with Dana Fisman IBM Research Laboratory in Haifa

March 20, 2002Sugar 2.0 – Accellera Proposal2 Overview What ’ s new in Sugar 2.0 (reminder) What ’ s new since February presentation Sugar with respect to requirements Sugar advantages Summary

March 20, 2002Sugar 2.0 – Accellera Proposal3 What ’ s new in Sugar 2.0 (reminder) Sugar Foundation Language Three “ flavors ” Verilog, VHDL, EDL Four layers: boolean, temporal, modeling, verification Verification layer verification directives, statement grouping Support for multiple clocks (strong/weak) Abort operator Formal definition of finite semantics

March 20, 2002Sugar 2.0 – Accellera Proposal4 What ’ s new since February No major changes since draft presentation of last month Document proposal has been completed and fleshed out with more details Added a discussion of Sugar formulas which are checked on-the-fly VHDL flavor is left undefined at this time (but syntax has been checked so as not to conflict with VHDL boolean expressions) Two minor changes – see next slides

March 20, 2002Sugar 2.0 – Accellera Proposal5 Minor change #1 from February draft always (p -> Simplified use of multiple clocks doesn ’ t require as many parentheses clkp clkq p q

March 20, 2002Sugar 2.0 – Accellera Proposal6 Minor change #2 from February draft A module can be bound to a verification unit Meaning is that signals of the verification unit map by name to signals in the bound module Allows same specification to be used no matter how block is embedded in design Vunit can also be bound to a specific instance (requirement R50a) See example on next slide

March 20, 2002Sugar 2.0 – Accellera Proposal7 Binding a vunit vunit default { property pulsed(s) = always (s -> next !s); } vunit myunit(blocka) { assume pulsed(req_in); assert pulsed(ack_out); } vunit yourunit(blockb) { assert pulsed(req_out); assume pulsed (ack_in); }

March 20, 2002Sugar 2.0 – Accellera Proposal8 Sugar 2.0 with respect to requirements Sugar 2.0 proposal fulfills all requirements Highlights: Layered definition Three flavors Powerful sequences Multiple clocks Reset support (through “ abort ” operator) Named properties, sequences, and endpoints Formal semantics – both finite and infinite Can specify any omega-regular language

March 20, 2002Sugar 2.0 – Accellera Proposal9 Advantage 1 – History and Track Record Mature – eight years of practical experience Extensive user base Contrast with CBV which has recently undergone a major revolution

March 20, 2002Sugar 2.0 – Accellera Proposal10 Advantage 2 – Easy to learn, use A Sugar specification says what it means always ((snoop & hitm) |=> {!trans_start[*]; trans_start & writeback}) Contrast to somewhat convoluted formulation in CBV using “not” and “fail”: always if (snoop & hitm) +(1) : not [fail [!trans_start{*}; trans_start & writeback]] ;

March 20, 2002Sugar 2.0 – Accellera Proposal11 Advantage 3 – Succinct A Sugar specification is concise: forall N: 1..8: always within(write_command_start & size=N; LAST){gx_start[=N]} Contrast with verbosity of CBV: task sugar_within (r : regexp, b : bool, s : regexp) ; if (r) not [ fail [[!b{*} && s ]; b] ] ; endtask function \sugar_.[=.] (b : bool, n : nat) : regexp ; return [[!b{*};b]{n}; !b{*}] ; endfunction begin_and for (N : nat = 1; N <= 8; N = N + 1) always sugar_within ( write_command_start & (size == N), LAST, \sugar_.[=.] (gx_start, N) ) ; end

March 20, 2002Sugar 2.0 – Accellera Proposal12 Advantage 4 – Elegant formal semantics Semantics are well defined – formal semantics appear in Sugar 2.0 proposal elegant – formal semantics are only 3 pages long Contrast with lengthy semantics document of CBV

March 20, 2002Sugar 2.0 – Accellera Proposal13 Advantage 5 – Known efficient model checking algorithms Known model checking algorithms LTL and CTL model checking well-known Translation of regular expressions to automata is well-known Contrast with specialized algorithms of CBV

March 20, 2002Sugar 2.0 – Accellera Proposal14 Advantage 6 – Known efficient simulation algorithms Known algorithms for finite time reasoning: as implemented in FoCs implementation sketched in Sugar 2.0 proposal Contrast with CBV, whose implementation of the newer parts of the language is untried

March 20, 2002Sugar 2.0 – Accellera Proposal15 Advantage 7 – Declarative language Temporal layer is declarative Specification can be easily read Contrast with CBV, which mixes declarative and procedural code

March 20, 2002Sugar 2.0 – Accellera Proposal16 Advantage 8 – Expressive power Sugar Foundation Language allows the expression of any omega- regular language Optional Branching Extension allows specification of deadlock-freedom Contrast with less expressive CBV

March 20, 2002Sugar 2.0 – Accellera Proposal17 Advantage 9 – Built-in syntactic sugar Specifications are unambiguous, so can be easily read always ((snoop & hitm) -> next next_event(trans_start)(writeback)) Contrast with CBV, which requires the user to do a lot of the work: function cbv_next_event(e : bool) : regexp ; return [first_match [1{*};e]] ; endfunction always if (snoop & hitm) +(1) : if (cbv_next_event(trans_start)) writeback ;

March 20, 2002Sugar 2.0 – Accellera Proposal18 Summary Sugar is an elegant, powerful specification language with a strong track record both within and outside of IBM Sugar has existing implementations in both model checking (RuleBase) and simulation (Focs) Implementations are sketched in Sugar 2.0 proposal