Leveraging Assertion Based Verification by using Magellan Michal Cayzer.

Slides:



Advertisements
Similar presentations
Masahiro Fujita Yoshihisa Kojima University of Tokyo May 2, 2008
Advertisements

CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Sequential Logic in Verilog
System Integration Verification and Validation
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Verification SV3.1a Assumptions Surrendra Dudani Nov. 14, 2003 Synopsys, Inc.
Automated Method Eliminates X Bugs in RTL and Gates Kai-hui Chang, Yen-ting Liu and Chris Browy.
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Software Failure: Reasons Incorrect, missing, impossible requirements * Requirement validation. Incorrect specification * Specification verification. Faulty.
SLAM: SLice And Merge – Effective Test Generation for Large Systems ICCAD’13 Review Reviewer: Chien-Yen Kuo.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
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.
Predicate Abstraction for Software and Hardware Verification Himanshu Jain Model checking seminar April 22, 2005.
Describing Syntax and Semantics
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.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Design Synopsys System Verilog API Donations to Accellera João Geada.
By D. Beyer et. al. Simon Fraser University (Spring 09) Presentation By: Pashootan Vaezipoor.
Using a Formal Specification and a Model Checker to Monitor and Guide Simulation Verifying the Multiprocessing Hardware of the Alpha Microprocessor.
Streamline Verification Process with Formal Property Verification to Meet Highly Compressed Design Cycle Prosenjit Chatterjee, nVIDIA Corporation.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Some Course Info Jean-Michel Chabloz. Main idea This is a course on writing efficient testbenches Very lab-centric course: –You are supposed to learn.
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
B. Fernández, D. Darvas, E. Blanco Formal methods appliedto PLC code verification Automation seminar CERN – IFAC (CEA) 02/06/2014.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
1 Hybrid-Formal Coverage Convergence Dan Benua Synopsys Verification Group January 18, 2010.
Functional Verification Figure 1.1 p 6 Detection of errors in the design Before fab for design errors, after fab for physical errors.
16 August Verilog++ Assertion Extension Requirements Proposal.
Introduction to Data Structures and Algorithms CS 110: Data Structures and Algorithms First Semester,
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
Page 1 Analysis of Asynchronous Systems Steven P. Miller Michael W. Whalen {spmiller, Advanced Computing Systems Rockwell.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs By Koen Claessen, Juhn Hughes ME: Mike Izbicki.
Geoffrey Duval (ISAE-SUPAERO) Naples, October 1 st, 2012.
1 Predicate Abstraction and Refinement for Verifying Hardware Designs Himanshu Jain Joint work with Daniel Kroening, Natasha Sharygina, Edmund M. Clarke.
Chapter 3 System Performance and Models Introduction A system is the part of the real world under study. Composed of a set of entities interacting.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Verification & Validation By: Amir Masoud Gharehbaghi
© Copyright Alvarion Ltd. SVA Dafna Senderovich Jan 2006.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Using Symbolic PathFinder at NASA Corina Pãsãreanu Carnegie Mellon/NASA Ames.
Properties Incompleteness Evaluation by Functional Verification IEEE TRANSACTIONS ON COMPUTERS, VOL. 56, NO. 4, APRIL
Software Quality Assurance and Testing Fazal Rehman Shamil.
Theory-Aided Model Checking of Concurrent Transition Systems Guy Katz, Clark Barrett, David Harel New York University Weizmann Institute of Science.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Introduction to Hardware Verification ECE 598 SV Prof. Shobha Vasudevan.
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Testing Integral part of the software development process.
Principles of Programming & Software Engineering
Introduction to System Verilog Assertions
Digital System Verification
Formal Methods (i.e. mathematical, algorithmic) for Software and Hardware Designs and, more generally, Design Tools and Technologies
Logical architecture refinement
Lecture 5 Floyd-Hoare Style Verification
Hardware Description Languages
FSM MODELING MOORE FSM MELAY FSM. Introduction to DIGITAL CIRCUITS MODELING & VERIFICATION using VERILOG [Part-2]
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Presentation transcript:

Leveraging Assertion Based Verification by using Magellan Michal Cayzer

2 Outline Brief History Concept Familiarity Simulation vs. Formal analysis Introduction of Hybrid Formal Verification Introduction of a case study Environment definitions and their application by Magellan Guidelines for using SVA Finding Bugs and Proofs with Magellan Summary: Superiority of Magellan Hybrid Bug Finder A look to the Future

3 Magellan, Ferdinand Born: c Birthplace: Villa Real, Portugal Died: 27 April 1521 (Killed in battle) Best Known as: The first person to sail around the Earth Magellan sailed in 1519 with the intention of reaching the Spice Islands by sailing west around South America. Though Magellan didn't complete the entire trip, as the expedition's leader he is usually credited with being the first man to circle the globe.

4 Magellan Hybrid RTL Formal Verification Magellan is a hybrid verification tool that allows engineers to find deep, corner-case bugs, quickly and effectively.

5 Validating Concepts Familiarity Property: A declarative statement that defines the expected behavior of a design. For example: a  b Sequence: A property is composed of sequences. It is a chain of events. In our example “a”, “b” and are sequences. Antecedent: Left hand side sequence of a property (“a”). Consequent: Right hand side sequence of a property (“b”). Assertion: Confirming that a design upholds a property for every time unit. Coverage: Confirming that certain properties occur. Assumption/Constraint: Values that should be maintained throughout the verification. Assumptions simplify the problem and make it more manageable by providing fewer things to consider and solve.

6 Verification Implementation: Specification: Anytime is pressed, music is played Holds true? Yes/No

7 Two ways of Testing… Simulation & Formal Verification

8 Simulation Generate input sequences  Random sequences  Specific sequences to test certain functionality Generate expected output sequences Simulate the system with the input sequences Verify that the expected output sequences are produced by the system

9 Formal Verification Intuitive definition:  Given a hardware design M and a property f, a formal verifier will automatically prove whether the design satisfies the property ImplementationSpecification Mathematical proof of identity Identical Not Identical (Error trace)

10 Imaging of Simulation Verification

11 Imaging of Formal Verification

12 Simulation vs. Formal Verification

13 Simulation vs. Formal Verification Pros and Cons Simulation  Incomplete  Difficult to cover corner cases  Need to generate expected behavior  CPU intensive (has to run billions of cycles) Can handle large systems Formal Verification Complete with regard to a specification Corner cases are automatically taken care of No need to generate expected behavior  Most of the methods are memory and compute intensive  Memory usage is strongly related to the size of systems to be verified

14 The Solution! Better the Two than the One!

15 Magellan: Optimized Hybrid Formal Verification Finds bugs by verifying that a given design satisfies a set of properties that define the intended behavior of the design Magellan’s combination of the two approaches shortens the functional verification cycles and results in high-quality designs. Magellan’s unique hybrid architecture combines the strengths of new, advanced formal engines with the strengths of a built-in simulation engine to verify properties on large and complex designs. The System Verilog Assertion (SVA) language subset is the standard for writing checkers for simulation, formal analysis and hybrid formal verification.

16 Magellan- Flow Of Control

17 Imaging of Hybrid Formal Verification

18 Case Study – WISHBONE Protocol

19 Naming Conventions

20 Master / Slave Port Specifications (Wishbone protocol)

21 Macro Properties We implicate assertions to improve Magellan's efficiency and correctness Magellan supports the Macro property to ensure a safe modeling style without redundant typing. Easy to reset

22 Synchronous Reset generate if (async_reset == 1) begin # for assertion property p__impl(a, clk) disable iff (rst) a |-> c; endproperty # for coverage property p__cov(a, clk) disable iff (rst) a ##0 c; endproperty end

23 Always use Implications: A C X ~A/A&C When using system function calls such as $rose, be careful not to look back into “negative” time. Write: 1##1$rose(a) Keep it simple Guidelines for Using SVA

24

25 Finding Bugs and Proofs with Magellan Once the environment constraints are set, Magellan’s hybrid search engines are invoked:  Prove reach-ability for the checker antecedents, both by formal search and hybrid search  Prove the checker consequences by formal search  Bug hunt by giving counterexamples of the checker consequents using hybrid search. The Magellan run is complete when the antecedent for each checker has been proven to be (un)reachable, and the consequent has been (dis)proved

26 Summary: Superiority of Magellan Hybrid Bug Finder Bugs are found extremely fast: within minutes instead of several hours Because counterexamples are produced quickly, the verification engineer has more turn-around time The counterexamples produced by formal only tools may not be reachable in real simulation due to an under-constrained model Larger designs can be produced and verified Better quality designs Result:

27 A look to the Future The hybrid formal verification tool Magellan allows maximum benefit when using SVA checker modules. SVA verification using tools like Magellan will be key components for verification flows of the future

28 מקווה שנהניתם

29 Thank You