2011.07.21 - Presenter: PCLee VLSI Design, Automatic and Test, 2005. (VLSI-TSA-DAT).

Slides:



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

The Quest for Correctness Joseph Sifakis VERIMAG Laboratory 2nd Sogeti Testing Academy April 29th 2009.
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.
PRESENTER: PCLee System-on-chip (SoC) designs use bus protocols for high performance data transfer among the Intellectual Property (IP) cores.
Copyright W. Howden1 Programming by Contract CSE 111 6/4/2014.
Semantics Static semantics Dynamic semantics attribute grammars
Masahiro Fujita Yoshihisa Kojima University of Tokyo May 2, 2008
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Software Failure: Reasons Incorrect, missing, impossible requirements * Requirement validation. Incorrect specification * Specification verification. Faulty.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
Reporter:PCLee With a significant increase in the design complexity of cores and associated communication among them, post-silicon validation.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
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.
Presenter : Yeh Chi-Tsai System-on-chip validation using UML and CWL Qiang Zhu 1, Ryosuke Oish 1, Takashi Hasegawa 2, Tsuneo Nakata 1 1 Fujitsu Laboratories.
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
4/10/20081 Lab 9 RT methodology introduction Register operations Data Path Control Path ASM Example TA: Jorge Crichigno.
Presenter: PCLee Design Automation Conference, ASP-DAC '07. Asia and South Pacific.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 4: SMT-based Bounded Model Checking of Concurrent Software.
Formal Techniques for Verification Using SystemC By Nasir Mahmood.
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
Presenter : Cheng-Ta Wu Vijay D’silva, S. Ramesh Indian Institute of Technology Bombay Arcot Sowmya University of New South Wales, Sydney.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 20 October 28, 2004.
Institute for Applied Information Processing and Communications 1 Karin Greimel Semmering, Open Implication.
Reporter: PCLee. Assertions in silicon help post-silicon debug by providing observability of internal properties within a system which are.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
Based on D. Galin, and R. Patton.  According to D. Galin  Software quality assurance is:  A systematic, planned set of actions necessary to provide.
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.
Reporter: PCLee. Although assertions are a great tool for aiding debugging in the design and implementation verification stages, their use.
CALTECH CS137 Spring DeHon CS137: Electronic Design Automation Day 9: May 6, 2002 FSM Equivalence Checking.
Semi-automatic Property Generation for the Formal Verification of a Satellite On-board System Wesley Gonçalves Silva.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Semantics In Text: Chapter 3.
Learning Symbolic Interfaces of Software Components Zvonimir Rakamarić.
Macro Verification Guidelines Chapter 7.. Chap 7. Macro Verification Guidelines The goal of macro verification The macro is 100 percent correct in its.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
Verification & Validation By: Amir Masoud Gharehbaghi
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
Introduction to Hardware Verification ECE 598 SV Prof. Shobha Vasudevan.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
MOPS: an Infrastructure for Examining Security Properties of Software Authors Hao Chen and David Wagner Appears in ACM Conference on Computer and Communications.
Today’s Agenda  Quiz 4  Temporal Logic Formal Methods in Software Engineering1.
Compositional Verification for System-on-Chip Designs SRC Student Symposium Paper 16.5 Nishant Sinha Edmund Clarke Carnegie Mellon University.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
 System Requirement Specification and System Planning.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
P & NP.
Software Testing.
Sequential Flexibility
Methodological Issues in Model-Based Testing (MBT)
IIT Kharagpur & Kingston Uni
Hardware Verification
ESE535: Electronic Design Automation
Introduction to Software Testing
Alternating tree Automata and Parity games
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
CSCI1600: Embedded and Real Time Software
ESE535: Electronic Design Automation
Program correctness Model-checking CTL
Presentation transcript:

Presenter: PCLee VLSI Design, Automatic and Test, (VLSI-TSA-DAT).

Verifying whether a building block conforms to certain interface protocol is one of the important steps while constructing an SOC. However, most existing methods have their own limitations. Simulation-based methods have the false positive problem while formal property checking method may suffer from memory explosion and excessive runtime. In this paper, we propose a novel branch-and-bound algorithm for interface protocol compliance verification. The properties of the interface protocol are specified as a specification FSM, and the interface logic is formally verified at the higher FSM level. Using the FSM for property specification is relatively systematic than using other proprietary property languages, which greatly reduces the possibility of incomplete property identification. And it is shown theoretically and experimentally that the proposed algorithm can finish in reasonable time complexity.

This paper Virtual component interface standard[1] On Compliance Test of On-Chip Bus for SOC [8]

Simulation-based method(dynamic):  Even the coverage can achieve 100%, but the compliance can not be assured. Because it may suffer from false positive problem.  It is hard to determine whether all properties are completely identified or not. Formal method(static):  Formal verification can avoid false positive problem.  Properties are described in CTL language. The process of extracting properties form a specification document written by natural languages is complicated.  It may suffer from memory explosion and excessively long runtime may be further serious problems while the design size increases. Assertion-based verification:  More easily understood than CTL.  But it also suffers from the same problems above.

Specification FSM  Possible DUV behavior: 1.don’t care: The behavior is not defined since the input sequence is not supposed to appear. 2.Legal: The output sequence is allowed by the protocol under a valid input sequence. 3.Illegal: The output sequence is prohibited by the protocol under a valid input sequence. dc Idle/ busy orig Seq/ nseq vio wait e1 e3 e7 e2 e7 e6 e10 e6 e10 e5 e8 e6 e5 e7 e4 e5 e9

FSM of an AHB slave interface design prep sleep write read eS/100(HREADY, HRESP[1], HRESP[0]) eS/100 eR/100 eW/000 eW/100 eR/000

There may have relation between two FSM for each states(state pair).  The orig and idle/busy state can corresponds to sleep state.  The seq/nseq state can corresponds to read and write state. The DUV must be proved to be compliant if and only if all possible state pairs are examined and none of them includes the vio state.  Growing a tree to find all state pairs.

Consider e2 and eW/100. The intersection of two edges is non- zero, which infers there exists certain input along with the corresponding output that can drive both transitions.  HSEL=HWRITE=HREADYin=1, HTRANS=NSEQ can drive eW and e2. orig, sleep idle/busy, sleep seq/nseq, prep seq/nseq, write xx … … …

It is impossible to finish the whole tree. The tree will have infinite depth. So we must have certain bounding condition to prune the tree to be finite and without losing any possible state pair.  We can stop one node growing child if this node has presented.

The algorithm is implemented in C. The result indicate that the actual iteration count is far less than the worst case. Each verification run finishes within just 1 second.

Since the verification is done at the higher FSM level and only the separated interface logic under verification, this paper’s approach can efficiently complete the verification even if it is a formal method indeed. a novel branch-and-bound algorithm is then proposed to formally solve the FSM compliance problem in polynomial time complexity. In comparison with static formal methods, our algorithm hardly suffers from memory explosion and excessive runtime issuses in practice.

FSM verification can verify the bus protocol correctly and systematically. And the verification is still efficient.

Efficient Automata- Based Assertion- Checker Synthesis of SEREs for Hardware Emulation Efficient Automata-Based Assertion-Checker Synthesis of PSL properties Assertion Checkers – Enablers of Quality Design Assertion-based This paper Formal method