Copyright © 2004 by Doulos Ltd. All Rights Reserved Experiences of a PSL Educator John Aynsley, Technical Director.

Slides:



Advertisements
Similar presentations
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
Advertisements

April 30, A New Tool for Designer-Level Verification: From Concept to Reality April 30, 2014 Ziv Nevo IBM Haifa Research Lab.
Putting It All Together: Using Formal Verification In Real Life Erik Seligman CS 510, Lecture 19, March 2009.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
Using emulation for RTL performance verification
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 31/22alt1 Lecture 31 System Test (Lecture 22alt in the Alternative Sequence) n Definition n Functional.
Xiushan Feng* ASIC Verification Nvidia Corporation Automatic Verification of Dependency 1 TM Jayanta Bhadra
INCREASED PRODUCTIVITY FOR ASSERTION-BASED VERIFICATION (ABV) INCREASED PRODUCTIVITY FOR ASSERTION-BASED VERIFICATION (ABV) DESIGNED FROM THE GROUND UP.
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.
1 Speed, Drunkenness, and the Wall Does High Level Design/ESL Make Sense? Kris Konigsfeld Sr. Principal Engineer Oregon CPU Architecture Intel Corporation.
Who’s Watching the Watchmen? The Time has Come to Objectively Measure the Quality of Your Verification by David Brownell Design Verification Analog Devices.
(Quickly) Testing the Tester via Path Coverage Alex Groce Oregon State University (formerly NASA/JPL Laboratory for Reliable Software)
The Future of Formal: Academic, IC, EDA, and Software Perspectives Ziyad Hanna VP of Research and Chief Architect Jasper Design Automation Ziyad Hanna.
Spring 07, Feb 6 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Verification Vishwani D. Agrawal James J. Danaher.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Design For Verification Synopsys Inc, April 2003.
Software Testing. Overview Definition of Software Testing Problems with Testing Benefits of Testing Effective Methods for Testing.
1 Assertion Based Verification 2 The Design and Verification Gap  The number of transistors on a chip increases approximately 58% per year, according.
A Billion Cycles a Day: Industrial Verification Matthew Heath Presentation to Synthesis & Verification Class May 8, 2003 Based on “Validating the Intel.
DSI Division of Integrated Systems Design Functional Verification Environments Development Goals Our main goals are in the field of developing modular.
OOP #10: Correctness Fritz Henglein. Wrap-up: Types A type is a collection of objects with common behavior (operations and properties). (Abstract) types.
Formal methods Basic concepts. Introduction  Just as models, formal methods is a complement to other specification methods.  Standard is model-based.
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Formal Specification Thomas Alspaugh ICS Nov 7.
Introduction to Software Testing
Hardware/Software Partitioning Witawas Srisa-an Embedded Systems Design and Implementation.
Formal Techniques for Verification Using SystemC By Nasir Mahmood.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Streamline Verification Process with Formal Property Verification to Meet Highly Compressed Design Cycle Prosenjit Chatterjee, nVIDIA Corporation.
1 FIPS 140 Validation for a “System-on-a-Chip” September 27, 2005 NIST Physical Testing Workshop.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Integration testing l Tests complete systems or subsystems composed of integrated.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Digitaalsüsteemide verifitseerimise kursus1 Digitaalsüsteemide verifitseerimine IAF0620, 5.0 AP, E Jaan Raik IT-208,
Test and Verification Solutions121 st April 2010 Integrating Ethernet CMS with Internal Verification Environments Cadence Verification Challenge, Bristol,
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.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
Copyright © 2002 Qualis Design Corporation Industry and Textbook Overview Qualis Design Corporation PO Box 4444 Beaverton, Oregon USA Phone:
Reporter: PCLee. Although assertions are a great tool for aiding debugging in the design and implementation verification stages, their use.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Real Intent, Inc (1) Copyright © Real Intent Real Intent, Inc. EnVision Suite of EDA Solutions.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Quality Driven SystemC Design By Nasir Mahmood. Hybrid Approach The idea here is to combine the strengths of simulation – namely the ability to handle.
Design Verification Class Presentation of Course : ASIC CMOS System Design Presented By: Majid Nabi.
© 2006 Synopsys, Inc. (1) CONFIDENTIAL Simulation and Formal Verification: What is the Synergy? Carl Pixley Disclaimer: These opinions are mine alone and.
TEST-1 6. Testing & Refactoring. TEST-2 How we create classes? We think about what a class must do We focus on its implementation We write fields We write.
Unique Methodology. Highest Coverage. Fastest Time to Market. Formal Verification in the Industry: a 2020 Vision VIGYAN SINGHAL Oski Technology.
ICS 216 Embedded Systems Validation and Test Instructor: Professor Ian G. Harris Department of Computer Science University of California Irvine.
Assertions Jean-Michel Chabloz. Assertions basic Idea We assert that a certain “thing” should be true. –If it is true, fine –If it is false, then we get.
- 1 - ©2009 Jasper Design Automation ©2009 Jasper Design Automation JasperGold for Targeted ROI JasperGold solutions portfolio delivers competitive.
© Copyright Alvarion Ltd. SVA Dafna Senderovich Jan 2006.
Properties Incompleteness Evaluation by Functional Verification IEEE TRANSACTIONS ON COMPUTERS, VOL. 56, NO. 4, APRIL
Software Quality Assurance and Testing Fazal Rehman Shamil.
Verification Technologies IBM Haifa Labs Formal Specification Using Sugar 2.0 Cindy Eisner September 2002.
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
From Natural Language to LTL: Difficulties Capturing Natural Language Specification in Formal Languages for Automatic Analysis Elsa L Gunter NJIT.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
1 Memory Test - Debugging Test Vectors Without ATE Steve Westfall Director Visual Testbench Engineering Summit Design Inc.
Lecture 5: Design for Testability. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 12: Design for Testability2 Outline  Testing –Logic Verification –Silicon.
Benefits of a Virtual SIL
Assertions An assertion is a statement about the design’s intended behavior Assertions can be written in a hardware description language (HDL) Assertions.
Teaching The Art of Verification
Introduction to Software Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
Digital Design Verification
SystemVerilog and Verification
Executable Specifications
Presentation transcript:

Copyright © 2004 by Doulos Ltd. All Rights Reserved Experiences of a PSL Educator John Aynsley, Technical Director

Copyright © 2004 by Doulos Ltd. All Rights Reserved Why our customers use PSL What our customers need to learn (The marketing stuff) Teaching temporal reasoning (The technical stuff) Experiences of a PSL Educator

Copyright © 2004 by Doulos Ltd. All Rights Reserved Why PSL? Verification is the problem The PSL solution is Incremental - not disruptive Easy to learn Non-proprietary (in Europe, we like to keep EDA vendors hungry) Supported by tools today Opens the door to formal verification

Copyright © 2004 by Doulos Ltd. All Rights Reserved What is there to learn? Learning the syntax is easy Learning why is more challenging! The selling job

Copyright © 2004 by Doulos Ltd. All Rights Reserved Bogus debates Properties are a simulation overhead so can I turn them off? Properties only replace one problem with another how do I debug the properties?

Copyright © 2004 by Doulos Ltd. All Rights Reserved Real debate - who writes properties? The system architect (or whoever) writes the spec The design and verification engineers interpret the spec and write properties The RTL design engineer White-box verification, driven by the implementation Block-level test benches Properties embedded in RTL code The verification engineer Black-box verification, driven by the specification Chip-level test benches Properties in separate files

Copyright © 2004 by Doulos Ltd. All Rights Reserved Who writes properties? Writing properties forces you to be more formal Finds ambiguities in the spec Helps the design engineer understand the design Assertion-Based Design “Your lab questions aren’t accurate” Properties can be used to augment the spec

Copyright © 2004 by Doulos Ltd. All Rights Reserved Observability BUG Bug invisible here! Test vectors Bug caught by assertion Increased observability gives better bug coverage from a given set of tests Watchdog Sentinel

Copyright © 2004 by Doulos Ltd. All Rights Reserved Localising Bugs Block A Block B Assertion failure => bug detected in block A Assertion failure => end-to-end bug somewhere in the design

Copyright © 2004 by Doulos Ltd. All Rights Reserved Properties are Reusable Block A Properties Interface Properties Block-level Stimulus Block A Block B Block C Chip-level Stimulus Interface Properties Embedded assertions go on checking, even when you've forgotten about them!

Copyright © 2004 by Doulos Ltd. All Rights Reserved Temporal reasoning property p1 is always req -> next grant; clk grant req

Copyright © 2004 by Doulos Ltd. All Rights Reserved Temporal reasoning property p1 is always req -> next grant; req holds clk grant req

Copyright © 2004 by Doulos Ltd. All Rights Reserved Temporal reasoning property p1 is always req -> next grant; req holds grant holds clk grant req

Copyright © 2004 by Doulos Ltd. All Rights Reserved Temporal reasoning property p1 is always req -> next grant; req holds grant holds clk grant req next grant holds

Copyright © 2004 by Doulos Ltd. All Rights Reserved Temporal reasoning property p1 is always req -> next grant; req holds grant holds clk grant req req -> next grant holds next grant holds

Copyright © 2004 by Doulos Ltd. All Rights Reserved Temporal reasoning property p1 is always req -> next grant; req holds grant holds clk grant req assert p1; next grant holds passfail req -> next grant holds

Copyright © 2004 by Doulos Ltd. All Rights Reserved next [N] versus sequence assert always req -> next next (grant); req grant passfailpass clk assert always {req} |-> {true[*2]; grant}; assert always req -> next[2] (grant);

Copyright © 2004 by Doulos Ltd. All Rights Reserved next_e versus sequence req grant passfailpass assert always req -> next_e[1:2] (grant); clk assert always {req} |-> {[*1:2]; grant}; assert always req -> next(grant) || next[2](grant);

Copyright © 2004 by Doulos Ltd. All Rights Reserved rose() versus sequence assert always rose(req) -> next rose(grant); req grant passfail clk assert always {!req; req} |-> {!grant; grant};

Copyright © 2004 by Doulos Ltd. All Rights Reserved until versus sequence assert always req -> next (ack until grant); req grant fail clk pass assert always {req} |=> {ack[*]; grant}; ack

Copyright © 2004 by Doulos Ltd. All Rights Reserved before versus sequence assert always req -> (ack before grant); req ack fail clk pass grant pass assert always {req} |-> {{[*];ack} && {!grant[+]}}; Length-matching and

Copyright © 2004 by Doulos Ltd. All Rights Reserved What we’ve learnt End next -> always next[N] { ; ; } next_e[m:n] |-> [*m:n] true[*n] rose() until |=> && [+] before [*] Temporal operatorsSequencesFunction