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

Size: px
Start display at page:

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

Transcription

1 Certitude Functional Qualification with Formal Verification Jean-Marc Forey November 2012 Springsoft Proprietary

2 Topics Case study presentation Why Verification Verification efficiency Formal verification Introduction to Certitude Functional Qualification Results obtained on the studied case Conclusion Q&A 2 Springsoft Proprietary

3 Case study presentation Synchronous fifo Clock, Reset_ ReadEn, WriteEn, DataIn FifoEmpty, FifoFull, DataOut All outputs are clocked Formal verification environment Focused on flags Leveraged from an other design 7 assertions Dynamic verification environment Focused on data path Directed test 3 Springsoft Proprietary

4 Why verification? Designs are made by humans Humans make mistakes Hence designs have bugs However customers / consumers want Bug free designs Safer, more reliable products More features, more powerful products How can providers satisfy the above constraints? => Have computers make designs => Wait for bugs to be reported by the users => Audit the design to squeeze out the bugs 4 Springsoft Proprietary

5 Verification Set of techniques to find bugs in designs Human contribution is primordial Specs, Architecture, Methodology... Implementation aspects assisted by computers For test generation To check simulation results To check which properties hold And provide counter examples, for those that don t But there are some little hurdles Size of the problem and available time How to measure verification? What is the meaning of the measure? How to combine measurements? 5 Springsoft Proprietary

6 Verification Verification is partial Art: what to verify, at which level, methods Risk management: what to skip, when to stop Combine techniques Verification too is subject to bugs Missing properties Missing / broken checkers Missing tests Missing scenarios Bugs in the VE hide bugs in the design How to gauge the efficiency of the verification? 6 Springsoft Proprietary

7 Verification efficiency Metrics to estimate what was done Bug rate Functional coverage Dynamic verification only Structural coverage(s) of the design Line, block, condition, expression, toggle, fsm, branch, path, MC/DC,??? Which one(s) make(s) sense with Formal verification? 7 Springsoft Proprietary

8 Metrics meaning Metrics to estimate what was done Really??? not covered => not verified But Covered doesn t mean Verified not (not covered => not verified) (verified => covered) How to combine metrics? Ex: line, toggle, fsm, functional How to combine data from dynamic / formal VE? What are the achievable scores for a given design? How much is a metric (score) telling about the VE effectiveness? 8 Springsoft Proprietary

9 Formal verification Some key questions about formal verification in the following slides 9 Springsoft Proprietary

10 Formal verification Properties How many are needed? Which ones? Only asked questions are answered... Have you got all the right questions? 10 Springsoft Proprietary

11 Formal verification Properties No (explicit) stimuli, but there are implicit ones All stimuli combinations are considered as being valid Unless restricted by constraints Doesn t mean they are all valid What if some combinations are illegal and no constraint was set All the properties are passing Isn t it strange if invalid inputs don t lead to output misbehaviours How many properties are missing? Which ones? Are the reached cover points valid??? Some may be reachable only through forbidden input combinations 11 Springsoft Proprietary

12 Formal verification Properties No (explicit) stimuli Execution traces / waveforms For counter examples only One has to believe the formal tool when it reports a pass 12 Springsoft Proprietary

13 Formal verification Properties No (explicit) stimuli Traces How much of the design is used to get the proofs? Which aspects of the design are verified? White box verification remains a misleading friend IU ID. B1 P1 B2 P2? 13 Springsoft Proprietary

14 Formal verification not (FifoFull && FifoEmpty) ReadEn WriteEn DataIn Cone Of Influence Reduced cone FifoEmpty FifoFull DataOut In the above example Inputs ReadEn/WriteEn can influence the FifoEmpty output Only 1 gate is needed to prove the property The property is necessary but not sufficient Cone of influence!= What is verified Reduced cone 14 Springsoft Proprietary

15 How do you find the reduced cone? Inject (artificial) bugs! At least one property fail Good All property passes Bad The same bug would be missed Can be very shocking Bugs with similar effect would be missed too Ex: not detected SA0 on FifoFull Missing properties? Over-constraints? More verification is needed Dynamic and/or formal 15 Springsoft Proprietary

16 Certitude principle Inject faults (artificial bugs) ReadEn WriteEn DataIn FifoEmpty FifoFull DataOut Run the verification At least 1 Fail => fault is detected (good) All Pass => fault is not detected (bad) 16 Springsoft Proprietary

17 Certitude principle Inject faults (artificial bugs) ReadEn WriteEn DataIn FifoEmpty FifoFull DataOut Run the verification At least 1 Fail => fault is detected (good) All Pass => fault is not detected (bad) 17 Springsoft Proprietary

18 How it Works Modifies RTL code to insert faults out1 = f(i1) out1 = 1 b0 // disconnect output and tie it to constant if (a) if (TRUE) // remove else branch f1(); f1(); else f2(); else f2(); a = b c a = b & c // change operator Same principle and definition is applicable to both dynamic and formal verification Combining data from dynamic and formal is immediate 18 Springsoft Proprietary

19 Case study results Fifo presented previously Formal verification Focused on flags Properties: P_correct_flag_interval: not(f1 ##1!F2[*0:14] ##1 F2) With F1=FifoEmpty and F2=FifoFull With F1=FifoFull and F2=FifoEmpty P_never_FE_FF: not (FifoEmpty && FifoFull) P_deassert_FE: WriteEn &&!ReadEn =>!FifoEmpty P_deassert_FF:!WriteEn && ReadEn =>!FifoFull P_FF_Stable:!ReadEn && FifoFull => FifoFull P_FE_Stable:!WriteEn && FifoEmpty => FifoEmpty 19 Springsoft Proprietary

20 Case study Qualification of the formal verification 28 NA and 14 ND out of 83 faults NA: not in the cone of influence of any property ND: all properties are proven on the modified design SA0 on FifoEmpty and FifoFull are ND A pair of properties don t seem effective p_correct_flag_interval: not(f1 ##1!F2[*0:14] ##1 F2) 20 Springsoft Proprietary

21 Case study Added 2 properties p_getfull:!readen throughout (WriteEn[->4]) => FifoFull p_getempty:!writeen throught (ReadEn[->4]) => FifoEmpty Got 2 failures (due to 2 bugs) for specific Read/Write pointer values Due to expressions like if ( && (ReadPtr+1==WritePtr) && ) Was replaced by `define ONE {{ADDR_WIDTH{1 b0}},1 b1} if ( && (ReadPtr+`ONE==WritePtr) && ) Qualification of the formal verification after fixes 34 NA and 2 ND out of 93 faults 21 Springsoft Proprietary

22 Case study Dynamic verification focused on data side Qualification of the dynamic verification 5 NA, 9 NP, 11 ND out of 83 faults NA: non activated NP: non propagated; no influence at the boundary of the design and test passed ND: output behaviour is different, and tests pass Improved VE and found 2 bugs on the data side Related to Read / Write in the memory when the fifo is empty/full Qualification of the dynamic verification after the fixes 2 NA, 2 NP, 2 ND faults out of 95 faults ND are detected by the static VE NP are in redundant code 22 Springsoft Proprietary

23 Conclusion Certitude helps understand what parts of the design are verified Even more important with formal verification Addressing verification issues pointed out by Certitude allows verifier to discover design bugs The bugs discovered with formal would probably not have been found with dynamic verification too corner case Easy to merge metrics from dynamic and formal verification environments Get a global picture of the verification strengths and weaknesses Address the issues where best suited Optimize the verification effort Certitude provides a strong unified metric for both dynamic and formal verification 23 Springsoft Proprietary

24 Q&A 24 Springsoft Proprietary

Fault Injection & Formal Made for Each Other

Fault Injection & Formal Made for Each Other Fault Injection & Formal Made for Each Other Iain Singleton June 2018 2018 Synopsys, Inc. 1 Introduction Formal usage has been growing rapidly in recent years Formal Technology has evolved Lots of new

More information

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

ECE 587 Hardware/Software Co-Design Lecture 11 Verification I ECE 587 Hardware/Software Co-Design Spring 2018 1/23 ECE 587 Hardware/Software Co-Design Lecture 11 Verification I Professor Jia Wang Department of Electrical and Computer Engineering Illinois Institute

More information

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

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification? Administrivia ECE/CS 5780/6780: Embedded System Design Scott R. Little Lab 8 status report. Set SCIBD = 52; (The Mclk rate is 16 MHz.) Lecture 18: Introduction to Hardware Verification Scott R. Little

More information

Compatible Qualification Metrics for Formal Property Checking

Compatible Qualification Metrics for Formal Property Checking Munich - November 18, 2013 Formal Property Checking Senior Staff Engineer Verification Infineon Technologies Page 1 Overview Motivation Goals Qualification Approaches Onespin s Coverage Feature Certitude

More information

Leveraging Formal Verification Throughout the Entire Design Cycle

Leveraging Formal Verification Throughout the Entire Design Cycle Leveraging Formal Verification Throughout the Entire Design Cycle Verification Futures Page 1 2012, Jasper Design Automation Objectives for This Presentation Highlight several areas where formal verification

More information

CREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION

CREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION CREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION Joseph Richards SGI, High Performance Systems Development Mountain View, CA richards@sgi.com Abstract The challenges involved in

More information

CS/ECE 5780/6780: Embedded System Design

CS/ECE 5780/6780: Embedded System Design CS/ECE 5780/6780: Embedded System Design John Regehr Lecture 18: Introduction to Verification What is verification? Verification: A process that determines if the design conforms to the specification.

More information

ADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts

ADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts 1 ADVANCED DIGITAL IC DESIGN (SESSION 6) Digital Verification Basic Concepts Need for Verification 2 Exponential increase in the complexity of ASIC implies need for sophisticated verification methods to

More information

Debugging Inconclusive Assertions and a Case Study

Debugging Inconclusive Assertions and a Case Study Debugging Inconclusive Assertions and a Case Study by Jin Hou Mentor, A Siemens Business INTRODUCTION Formal assertion-based verification uses formal technologies to analyze if a design satisfies a given

More information

Qualification of Verification Environments Using Formal Techniques

Qualification of Verification Environments Using Formal Techniques Qualification of Verification Environments Using Formal Techniques Raik Brinkmann DVClub on Verification Qualification April 28 2014 www.onespin-solutions.com Copyright OneSpin Solutions 2014 Copyright

More information

Reset and Initialization, the Good, the Bad and the Ugly

Reset and Initialization, the Good, the Bad and the Ugly Reset and Initialization, the, the and the Ugly Ping Yeung Design & Verification Technology Mentor Graphics, Fremont, U.S.A. Kaowen Liu Design Technology Division MediaTek Inc, San Jose, U.S.A. Abstract-

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering Quality Management Main Message Planning phase Definition phase Design phase Implem. phase Acceptance phase Mainten. phase 3 1. Overview

More information

With design complexity increasing significantly

With design complexity increasing significantly With design complexity increasing significantly over the years, the verification of asynchronous designs has become one of the biggest challenges in modern systems-on-a-chip (SoCs). Functional simulation,

More information

Asynchronous FIFO Design

Asynchronous FIFO Design Asynchronous FIFO Design 2.1 Introduction: An Asynchronous FIFO Design refers to a FIFO Design where in the data values are written to the FIFO memory from one clock domain and the data values are read

More information

Practical Approaches to Formal Verification. Mike Bartley, TVS

Practical Approaches to Formal Verification. Mike Bartley, TVS Practical Approaches to Formal Verification Mike Bartley, TVS 1 Acknowledgements This paper is based on work performed by TVS with ARM Specific thanks should go to Laurent Arditi Bryan Dickman Daryl Stuart

More information

Formal Technology in the Post Silicon lab

Formal Technology in the Post Silicon lab Formal Technology in the Post Silicon lab Real-Life Application Examples Haifa Verification Conference Jamil R. Mazzawi Lawrence Loh Jasper Design Automation Focus of This Presentation Finding bugs in

More information

ON THE EFFECTIVENESS OF ASSERTION-BASED VERIFICATION

ON THE EFFECTIVENESS OF ASSERTION-BASED VERIFICATION 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

More information

2. BLOCK DIAGRAM Figure 1 shows the block diagram of an Asynchronous FIFO and the signals associated with it.

2. BLOCK DIAGRAM Figure 1 shows the block diagram of an Asynchronous FIFO and the signals associated with it. Volume 115 No. 8 2017, 631-636 ISSN: 1311-8080 (printed version); ISSN: 1314-3395 (on-line version) url: http://www.ijpam.eu ijpam.eu DESIGNING ASYNCHRONOUS FIFO FOR LOW POWER DFT IMPLEMENTATION 1 Avinash

More information

Simulink Verification and Validation

Simulink Verification and Validation Simulink Verification and Validation Mark Walker MathWorks 7 th October 2014 2014 The MathWorks, Inc. 1 V Diagrams 3 When to Stop? A perfectly tested design would never be released Time spent on V&V is

More information

Formal Equivalence Checking. Logic Verification

Formal Equivalence Checking. Logic Verification Formal Equivalence Checking Logic Verification Verification of Test Gate RTL Full-chip functional verification Equivalence Checking Schematic Full-chip functional verification to verify the correctness

More information

SystemVerilog Assertions in the Design Process 213

SystemVerilog Assertions in the Design Process 213 SystemVerilog Assertions in the Design Process 213 6.6 RTL Design Assertions, generated during the architectural planning phases, greatly facilitate the writing of the RTL implementation because they help

More information

High-Level Information Interface

High-Level Information Interface High-Level Information Interface Deliverable Report: SRC task 1875.001 - Jan 31, 2011 Task Title: Exploiting Synergy of Synthesis and Verification Task Leaders: Robert K. Brayton and Alan Mishchenko Univ.

More information

Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design

Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design Lisa Piper Technical Marketing Real Intent Inc., Sunnyvale, CA Comprehensive verification of Finite State

More information

Software Quality Assurance. David Janzen

Software Quality Assurance. David Janzen Software Quality Assurance David Janzen What is quality? Crosby: Conformance to requirements Issues: who establishes requirements? implicit requirements Juran: Fitness for intended use Issues: Who defines

More information

Beyond Soft IP Quality to Predictable Soft IP Reuse TSMC 2013 Open Innovation Platform Presented at Ecosystem Forum, 2013

Beyond Soft IP Quality to Predictable Soft IP Reuse TSMC 2013 Open Innovation Platform Presented at Ecosystem Forum, 2013 Beyond Soft IP Quality to Predictable Soft IP Reuse TSMC 2013 Open Innovation Platform Presented at Ecosystem Forum, 2013 Agenda Soft IP Quality Establishing a Baseline With TSMC Soft IP Quality What We

More information

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain

More information

By V-cubed Solutions, Inc. Page1. All rights reserved by V-cubed Solutions, Inc.

By V-cubed Solutions, Inc.   Page1. All rights reserved by V-cubed Solutions, Inc. By V-cubed Solutions, Inc. Page1 Purpose of Document This document will demonstrate the efficacy of CODESCROLL CODE INSPECTOR, CONTROLLER TESTER, and QUALITYSCROLL COVER, which has been developed by V-cubed

More information

Test Scenarios and Coverage

Test Scenarios and Coverage Test Scenarios and Coverage Testing & Verification Dept. of Computer Science & Engg,, IIT Kharagpur Pallab Dasgupta Professor, Dept. of Computer Science & Engg., Professor-in in-charge, AVLSI Design Lab,

More information

Coverage Metrics for Functional Validation of Hardware Designs

Coverage Metrics for Functional Validation of Hardware Designs Coverage Metrics for Functional Validation of Hardware Designs Serdar Tasiran, Kurt Keutzer IEEE, Design & Test of Computers,2001 Presenter Guang-Pau Lin What s the problem? What can ensure optimal use

More information

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Subash Chandar G (g-chandar1@ti.com), Vaideeswaran S (vaidee@ti.com) DSP Design, Texas Instruments India

More information

18-642: Unit Testing 9/18/ Philip Koopman

18-642: Unit Testing 9/18/ Philip Koopman 18-642: Unit Testing 9/18/2017 2017 Philip Koopman Unit Testing Anti-Patterns: Only system testing Testing only happy paths Forgetting to test missing code Unit testing Test a single subroutine/procedure/method

More information

Using Abstractions for Effective Formal: Lessons from the Trenches

Using Abstractions for Effective Formal: Lessons from the Trenches Using Abstractions for Effective Formal: Lessons from the Trenches Ashish Darbari, Iain Singleton, Neil Dunlop, Alex Netterville Advanced Verification Methodology Group Imagination Technologies www.imgtec.com

More information

Speed up Emulation Debugging using Whitebox Assertions

Speed up Emulation Debugging using Whitebox Assertions Speed up Emulation Debugging using Whitebox Assertions Ricky Wang ricky@atrenta.com This presentation may contain forward-looking statements regarding product development. Information or statements contained

More information

Is Power State Table Golden?

Is Power State Table Golden? Is Power State Table Golden? Harsha Vardhan #1, Ankush Bagotra #2, Neha Bajaj #3 # Synopsys India Pvt. Ltd Bangalore, India 1 dhv@synopsys.com 2 ankushb@synopsys.com 3 nehab@synopsys.com Abstract: Independent

More information

Øystein Kolsrud Jasper Design Automation

Øystein Kolsrud Jasper Design Automation Industrial Application of Formal Verification Øystein Kolsrud Jasper Design Automation Copyright Notice and Proprietary Information Published: March 17, 2009 Copyright 2006-2009 Jasper Design Automation,

More information

Constraint Verification

Constraint Verification Constraint Verification Constraint verification refers to the verification of the contents of an SDC file to flag situations where the specified constraints are either incorrect, or incomplete, both of

More information

18-642: Unit Testing 1/31/ Philip Koopman

18-642: Unit Testing 1/31/ Philip Koopman 18-642: Unit Testing 1/31/2018 2017-2018 Philip Koopman YOU ARE HERE Product Requirements SPECIFY PRODUCT SPECIFY SOFTWARE Software Requirements TRACEABILITY & VALIDATION Test Plan & Test Results Test

More information

FlexRay International Workshop. FAN analysis

FlexRay International Workshop. FAN analysis FlexRay International Workshop 16 th and 17 th April, 2002 Munich FAN analysis Dipl. Inf. Jens Lisner - University of Essen Project FAN - Goals Verify the design of FlexRay in particular: countermeasures

More information

Discussion Session 6. CS/ECE 552 Ramkumar Ravi 05 Mar 2012

Discussion Session 6. CS/ECE 552 Ramkumar Ravi 05 Mar 2012 Discussion Session 6 CS/ECE 552 Ramkumar Ravi 05 Mar 2012 CS/ECE 552, Spring 2012 Introduction Rules for HW are up-> Please follow instructions HW3 is due on 03/07 EXPLORING FIFO MIDTERM REVIEW 03/06,

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Formal Verification Adoption. Mike Bartley TVS, Founder and CEO

Formal Verification Adoption. Mike Bartley TVS, Founder and CEO Formal Verification Adoption Mike Bartley TVS, Founder and CEO Agenda Some background on your speaker Formal Verification An introduction Basic examples A FIFO example Adoption Copyright TVS Limited Private

More information

A Pragmatic Approach to Metastability-Aware Simulation

A Pragmatic Approach to Metastability-Aware Simulation A Pragmatic Approach to Metastability-Aware Simulation Joseph Bulone, Kalray, Montbonnot Saint Martin, France (joseph.bulone@kalray.eu) Roger Sabbagh, Mentor Graphics Corporation, Ottawa, Canada (roger_sabbagh@mentor.com)

More information

Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc. World Class SystemVerilog & UVM Training Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc. Cliff Cummings

More information

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

Novel Architecture for Designing Asynchronous First in First out (FIFO) I J C T A, 10(8), 2017, pp. 343-349 International Science Press ISSN: 0974-5572 Novel Architecture for Designing Asynchronous First in First out (FIFO) Avinash Yadlapati* and Hari Kishore Kakarla* ABSTRACT

More information

Page 1. Logistics. Introduction to Embedded Systems. Last Time. ES Software Design. Labs start Wed CS/ECE 6780/5780. Al Davis

Page 1. Logistics. Introduction to Embedded Systems. Last Time. ES Software Design. Labs start Wed CS/ECE 6780/5780. Al Davis Logistics Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis Today s topics: logistics - minor synopsis of last lecture software desig finite state machine based control Labs start Wed make sure

More information

FPGA Verification How to improve verification without throwing everything away

FPGA Verification How to improve verification without throwing everything away Test and Verification Solutions Experts in Verification FPGA Verification How to improve verification without throwing everything away Mike Bartley, TVS 1 Agenda Have you concerns with your current verification

More information

Data path verification on cross-domain with formal scoreboard

Data path verification on cross-domain with formal scoreboard Data path verification on cross-domain with formal scoreboard Liu Jun, Intel Mobile Communications, Munich, Germany (jun.b.liut@intel.com) Abstract In today s complex System on Chip (SOC) designs, multiple

More information

Lecture 10: Introduction to Correctness

Lecture 10: Introduction to Correctness Lecture 10: Introduction to Correctness Aims: To look at the different types of errors that programs can contain; To look at how we might detect each of these errors; To look at the difficulty of detecting

More information

Part I: Preliminaries 24

Part I: Preliminaries 24 Contents Preface......................................... 15 Acknowledgements................................... 22 Part I: Preliminaries 24 1. Basics of Software Testing 25 1.1. Humans, errors, and testing.............................

More information

CSE 403: Software Engineering, Fall courses.cs.washington.edu/courses/cse403/16au/ Unit Testing. Emina Torlak

CSE 403: Software Engineering, Fall courses.cs.washington.edu/courses/cse403/16au/ Unit Testing. Emina Torlak CSE 403: Software Engineering, Fall 2016 courses.cs.washington.edu/courses/cse403/16au/ Unit Testing Emina Torlak emina@cs.washington.edu Outline Software quality control Effective unit testing Coverage

More information

CS 126 Lecture A5: Computer Architecture

CS 126 Lecture A5: Computer Architecture Outline CS 16 Lecture A5: Computer Architecture Introduction Single-cycle TOY design CS16 1-1 Randy Wang What We Have What We Want to Do repeat fetch instruction; update PC; decode instruction; execute

More information

A Practical Solution to Fixing Netlist X-Pessimism

A Practical Solution to Fixing Netlist X-Pessimism A Practical Solution to Fixing Netlist X-Pessimism Most functional verification for SoC and FPGA designs is done prior to RTL hand-off to digital synthesis, since gate-level simulations take longer to

More information

OpenVera Assertions. March Synopsys, Inc.

OpenVera Assertions. March Synopsys, Inc. OpenVera Assertions March 2003 2003 Synopsys, Inc. Introduction The amount of time and manpower that is invested in finding and removing bugs is growing faster than the investment in creating the design.

More information

High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs

High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs Vol. 3, Issue. 5, Sep - Oct. 2013 pp-2894-2900 ISSN: 2249-6645 High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs M. Reddy Sekhar Reddy, R.Sudheer Babu

More information

Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur.

Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur. Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur Lecture 05 DFT Next we will look into the topic design for testability,

More information

Challenges in Verification of Clock Domain Crossings

Challenges in Verification of Clock Domain Crossings Challenges in Verification of Clock Domain Crossings Vishnu C. Vimjam and Al Joseph Real Intent Inc., Sunnyvale, CA, USA Notice of Copyright This material is protected under the copyright laws of the U.S.

More information

LYREBIRD David Cock

LYREBIRD David Cock davec@cse.unsw.edu.aullyrebird LYREBIRD David Cock λ What is the Motivation? Program proof is important, but there s more to do. NICTA Copyright c 2011 From Imagination to Impact 2 What is the Motivation?

More information

Testing! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6!

Testing! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6! Testing The material for this lecture is drawn, in part, from The Practice of Programming (Kernighan & Pike) Chapter 6 1 Words from the Wise On two occasions I have been asked [by members of Parliament],

More information

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

Pragmatic Simulation-Based Verification of Clock Domain Crossing Signals and Jitter using SystemVerilog Assertions Pragmatic Simulation-Based Verification of Clock Domain Crossing Signals and Jitter using SystemVerilog Assertions Mark Litterick (Verification Consultant) mark.litterick@verilab.com 2 Introduction Clock

More information

Lecture 15 Software Testing

Lecture 15 Software Testing Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered

More information

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Examination ECE 241F - Digital Systems Examiners: S. Brown,

More information

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs.

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs. In this Lecture you will Learn: Testing in Software Development Process Examine the verification and validation activities in software development process stage by stage Introduce some basic concepts of

More information

Sunburst Design - Advanced SystemVerilog for Design & Verification by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

Sunburst Design - Advanced SystemVerilog for Design & Verification by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc. World Class Verilog & SystemVerilog Training Sunburst Design - Advanced SystemVerilog for Design & Verification by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc. Cliff

More information

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing. Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great

More information

7.3.3 Same Inputs in Antecedent and Consequent

7.3.3 Same Inputs in Antecedent and Consequent Formal Verification Using Assertions 249 There are some special scenarios in which the user may want to intentionally toggle the reset signal during a session. This may be needed to check conditions such

More information

Topics in Software Testing

Topics in Software Testing Dependable Software Systems Topics in Software Testing Material drawn from [Beizer, Sommerville] Software Testing Software testing is a critical element of software quality assurance and represents the

More information

Motivation. What s the Problem? What Will we be Talking About? What s the Solution? What s the Problem?

Motivation. What s the Problem? What Will we be Talking About? What s the Solution? What s the Problem? 1 Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions Dawson Engler Benjamin Chelf Andy Chou Seth Hallem Stanford University Matthew Thornton November 9, 2005 2 Motivation

More information

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language VHDL Introduction to Structured VLSI Design VHDL I Very High Speed Integrated Circuit (VHSIC) Hardware Description Language Joachim Rodrigues A Technology Independent, Standard Hardware description Language

More information

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Lecture 40 VLSI Design Verification: An Introduction Hello. Welcome to the advance

More information

The Formal Verification of Design Constraints by Ajay Daga, CEO, FishTail Design Automation Inc.

The Formal Verification of Design Constraints by Ajay Daga, CEO, FishTail Design Automation Inc. The Formal Verification of Design Constraints by Ajay Daga, CEO, FishTail Design Automation Inc. There are two approaches to the verification of design constraints: formal verification and structural analysis.

More information

Unit Testing as Hypothesis Testing

Unit Testing as Hypothesis Testing Unit Testing as Hypothesis Testing Jonathan Clark September 19, 2012 You should test your code. Why? To find bugs. Even for seasoned programmers, bugs are an inevitable reality. Today, we ll take an unconventional

More information

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling ECE 587 Hardware/Software Co-Design Spring 2018 1/20 ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling Professor Jia Wang Department of Electrical and Computer Engineering

More information

Program Verification! Goals of this Lecture! Words from the Wise! Testing!

Program Verification! Goals of this Lecture! Words from the Wise! Testing! Words from the Wise Testing On two occasions I have been asked [by members of Parliament], Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out? I am not able rightly

More information

Testing. Christopher Simpkins Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS / 13

Testing. Christopher Simpkins Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS / 13 Testing Christopher Simpkins chris.simpkins@gatech.edu Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 2340 1 / 13 Unit Tests and Functional Tests Unit tests are tests of individual system

More information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

Motivation Setup Activation Detection Completion Conclusion TM 2

Motivation Setup Activation Detection Completion Conclusion TM 2 November 2013 TM Motivation Activation Detection Completion Conclusion TM 2 Motivation Activation Detection Completion Conclusion TM 3 Code and toggle coverage provides incomplete verification closure

More information

Testing. Prof. Clarkson Fall Today s music: Wrecking Ball by Miley Cyrus

Testing. Prof. Clarkson Fall Today s music: Wrecking Ball by Miley Cyrus Testing Prof. Clarkson Fall 2017 Today s music: Wrecking Ball by Miley Cyrus Review Previously in 3110: Modules Specification (functions, modules) Today: Validation Testing Black box Glass box Randomized

More information

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

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints Chip design is not getting any easier. With increased gate counts, higher clock speeds, smaller chip sizes and

More information

1.1 For Fun and Profit. 1.2 Common Techniques. My Preferred Techniques

1.1 For Fun and Profit. 1.2 Common Techniques. My Preferred Techniques 1 Bug Hunting Bug hunting is the process of finding bugs in software or hardware. In this book, however, the term bug hunting will be used specifically to describe the process of finding security-critical

More information

CS150 Project Final Report

CS150 Project Final Report CS150 Project Final Report Max Nuyens and Casey Duckering cs150 bp and cs150 bo Team 1 12/12/14 Project Functional Description and Design Requirements: The objective of our project was to implement a functional

More information

System Debugging and Verification : A New Challenge. Center for Embedded Computer Systems University of California, Irvine

System Debugging and Verification : A New Challenge. Center for Embedded Computer Systems   University of California, Irvine System Debugging and Verification : A New Challenge Daniel Gajski Samar Abdi Center for Embedded Computer Systems http://www.cecs.uci.edu University of California, Irvine Overview Simulation and debugging

More information

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial

More information

HECTOR: Formal System-Level to RTL Equivalence Checking

HECTOR: Formal System-Level to RTL Equivalence Checking ATG SoC HECTOR: Formal System-Level to RTL Equivalence Checking Alfred Koelbl, Sergey Berezin, Reily Jacoby, Jerry Burch, William Nicholls, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2008

More information

Logic Model Checking

Logic Model Checking Logic Model Checking Lecture Notes 17:18 Caltech 101b.2 January-March 2005 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. checking omega

More information

Gisselquist Technology, LLC

Gisselquist Technology, LLC 3. Finite State Machines Gisselquist Technology, LLC Daniel E. Gisselquist, Ph.D. Ź What is a? Why do I need it? How do I build one? Objectives Learn the concatenation operator Be able to explain a shift

More information

Formal for Everyone Challenges in Achievable Multicore Design and Verification. FMCAD 25 Oct 2012 Daryl Stewart

Formal for Everyone Challenges in Achievable Multicore Design and Verification. FMCAD 25 Oct 2012 Daryl Stewart Formal for Everyone Challenges in Achievable Multicore Design and Verification FMCAD 25 Oct 2012 Daryl Stewart 1 ARM is an IP company ARM licenses technology to a network of more than 1000 partner companies

More information

Verification of Cache Coherency Formal Test Generation

Verification of Cache Coherency Formal Test Generation Dr. Monica Farkash NXP Semiconductors, Inc. EE 382M-11, Department of Electrical and Computer Engineering The University of Texas at Austin 1 Cache Coherency Caches and their coherency Challenge Verification

More information

Minimizing Clock Domain Crossing in Network on Chip Interconnect

Minimizing Clock Domain Crossing in Network on Chip Interconnect Minimizing Clock Domain Crossing in Network on Chip Interconnect Parag Kulkarni 1, Puneet Gupta 2, Rudy Beraha 3 1 Synopsys 2 UCLA 3 Qualcomm Corp. R&D Outline Motivation The Router Coloring Problem Approaches

More information

Chapter 10. Testing and Quality Assurance

Chapter 10. Testing and Quality Assurance Chapter 10 Testing and Quality Assurance Different styles of doing code review Human Reviewer Code Inspection with continuous integration infrastructure Pinger s testing set up Testing Related topics 1.

More information

Whose fault is it? Advanced techniques for optimizing ISO fault analysis

Whose fault is it? Advanced techniques for optimizing ISO fault analysis Whose fault is it? Advanced techniques for optimizing ISO 26262 fault analysis Avidan Efody Mentor Graphics, Corp. 10 Aba Eban Blvd. Herzilya 46120, Israel avidan_efody@mentor.com Abstract-Shrinking nodes

More information

Outline. More Security Protocols CS 239 Security for System Software April 22, Needham-Schroeder Key Exchange

Outline. More Security Protocols CS 239 Security for System Software April 22, Needham-Schroeder Key Exchange Outline More Security Protocols CS 239 Security for System Software April 22, 2002 Combining key distribution and authentication Verifying security protocols Page 1 Page 2 Combined Key Distribution and

More information

Fault Simulation. Problem and Motivation

Fault Simulation. Problem and Motivation Fault Simulation Problem and Motivation Fault Simulation Problem: Given A circuit A sequence of test vectors A fault model Determine Fault coverage Fraction (or percentage) of modeled faults detected by

More information

Chapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering

Chapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering Chapter 11, Testing Using UML, Patterns, and Java Object-Oriented Software Engineering Outline Terminology Types of errors Dealing with errors Quality assurance vs Testing Component Testing! Unit testing!

More information

Outline More Security Protocols CS 239 Computer Security February 4, 2004

Outline More Security Protocols CS 239 Computer Security February 4, 2004 Outline More Security Protocols CS 239 Computer Security February 4, 2004 Combining key distribution and authentication Verifying security protocols Page 1 Page 2 Combined Key Distribution and Authentication

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering (CS350) Lecture 17 Jongmoon Baik Testing Conventional Applications 2 Testability Operability it operates cleanly Observability the results of each test case are readily

More information

CS510 Advanced Topics in Concurrency. Jonathan Walpole

CS510 Advanced Topics in Concurrency. Jonathan Walpole CS510 Advanced Topics in Concurrency Jonathan Walpole Threads Cannot Be Implemented as a Library Reasoning About Programs What are the valid outcomes for this program? Is it valid for both r1 and r2 to

More information

CIM: Component Isolation and Monitoring for System-Level Verification

CIM: Component Isolation and Monitoring for System-Level Verification C: Component Isolation and Monitoring for System-Level Verification Glenn Freytag and Ravi Shankar Center for Systems Integration, Florida Atlantic University, Boca Raton, FL {glenn, ravi}@cse.fau.edu

More information

O B J E C T L E V E L T E S T I N G

O B J E C T L E V E L T E S T I N G Source level testing and O B J E C T L E V E L T E S T I N G Objectives At the end of this section, you will be able to Explain the advantages and disadvantages of both instrumented testing and object

More information

Unit Testing as Hypothesis Testing

Unit Testing as Hypothesis Testing Unit Testing as Hypothesis Testing Jonathan Clark September 19, 2012 5 minutes You should test your code. Why? To find bugs. Even for seasoned programmers, bugs are an inevitable reality. Today, we ll

More information

Practical Verification Techniques for Wide-Area Routing

Practical Verification Techniques for Wide-Area Routing Practical Verification Techniques for Wide-Area Routing Nick Feamster M.I.T. Computer Science and Artificial Intelligence Laboratory feamster@lcs.mit.edu http://nms.lcs.mit.edu/bgp/ (Thanks to Hari Balakrishnan

More information