2011.04.07 - Presenter: PCLee Design Automation Conference, 2007. ASP-DAC '07. Asia and South Pacific.

Slides:



Advertisements
Similar presentations
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Advertisements

Lecture 24 MAS 714 Hartmut Klauck
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Nondeterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.3 & 2.5)
CPSC Compiler Tutorial 4 Midterm Review. Deterministic Finite Automata (DFA) Q: finite set of states Σ: finite set of “letters” (input alphabet)
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
COMP-421 Compiler Design Presented by Dr Ioanna Dionysiou.
Presenter: PCLee VLSI Design, Automatic and Test, (VLSI-TSA-DAT).
Regular Expressions Finite State Automaton. Programming Languages2 Regular expressions  Terminology on Formal languages: –alphabet : a finite set of.
Formal Language, chapter 9, slide 1Copyright © 2007 by Adam Webber Chapter Nine: Advanced Topics in Regular Languages.
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.
On-the-fly Synthesis of Multi-Clock SVA Jiang Long Andrew Seawright Paparao Kavalipati IWLS’ 2008.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
Finite Automata Great Theoretical Ideas In Computer Science Anupam Gupta Danny Sleator CS Fall 2010 Lecture 20Oct 28, 2010Carnegie Mellon University.
1 Introduction to Computability Theory Lecture4: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
Introduction to Computability Theory
1 Assertion Based Verification 2 The Design and Verification Gap  The number of transistors on a chip increases approximately 58% per year, according.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Give qualifications of instructors: DAP
Flavio Lerda 1 LTL Model Checking Flavio Lerda. 2 LTL Model Checking LTL –Subset of CTL* of the form: A f where f is a path formula LTL model checking.
Formal Techniques for Verification Using SystemC By Nasir Mahmood.
Presenter : Cheng-Ta Wu Vijay D’silva, S. Ramesh Indian Institute of Technology Bombay Arcot Sowmya University of New South Wales, Sydney.
15-820A 1 LTL to Büchi Automata Flavio Lerda A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
Roza Ghamari Bogazici University April Outline Introduction SystemC Language Formal Verification Techniques for SystemC Design and Verification.
Elevator Controller We’re hired to design a digital elevator controller for a four-floor building st try: Design a counter that counts up.
Reporter: PCLee. Assertions in silicon help post-silicon debug by providing observability of internal properties within a system which are.
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions.
AUTOMATA THEORY Reference Introduction to Automata Theory Languages and Computation Hopcraft, Ullman and Motwani.
Compiler Construction Lexical Analysis. The word lexical means textual or verbal or literal. The lexical analysis implemented in the “SCANNER” module.
Lecture # 3 Chapter #3: Lexical Analysis. Role of Lexical Analyzer It is the first phase of compiler Its main task is to read the input characters and.
Reporter: PCLee. Although assertions are a great tool for aiding debugging in the design and implementation verification stages, their use.
Lecture 05: Theory of Automata:08 Kleene’s Theorem and NFA.
Lexical Analysis Constructing a Scanner from Regular Expressions.
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
1 November 1, November 1, 2015November 1, 2015November 1, 2015 Azusa, CA Sheldon X. Liang Ph. D. Computer Science at Azusa Pacific University Azusa.
Agile Test-based Modeling 資工 聶順成. Outline  Introduction : Modeling meets Programming  Agile Modeling: Using Models in Agile Projects  Model-based.
DLD Lecture 26 Finite State Machine Design Procedure.
INHERENT LIMITATIONS OF COMPUTER PROGAMS CSci 4011.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
CSE 425: Syntax I Syntax and Semantics Syntax gives the structure of statements in a language –Allowed ordering, nesting, repetition, omission of symbols.
1Sequential circuit design Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA by Erol Sahin and Ruken Cakici.
Chapter 3 Regular Expressions, Nondeterminism, and Kleene’s Theorem Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
Overview of Previous Lesson(s) Over View  A token is a pair consisting of a token name and an optional attribute value.  A pattern is a description.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
Chapter 5 Finite Automata Finite State Automata n Capable of recognizing numerous symbol patterns, the class of regular languages n Suitable for.
MOPS: an Infrastructure for Examining Security Properties of Software Authors Hao Chen and David Wagner Appears in ACM Conference on Computer and Communications.
CS 404Ahmed Ezzat 1 CS 404 Introduction to Compiler Design Lecture 1 Ahmed Ezzat.
Sequential Circuit Design 05 Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA.
CS412/413 Introduction to Compilers Radu Rugina Lecture 3: Finite Automata 25 Jan 02.
Lecture 2 Compiler Design Lexical Analysis By lecturer Noor Dhia
1 Chapter 2 Finite Automata (part a) Hokkaido, Japan.
Topic 3: Automata Theory 1. OutlineOutline Finite state machine, Regular expressions, DFA, NDFA, and their equivalence, Grammars and Chomsky hierarchy.
Hardware Verification
@#? Text Search g ~ A R B n f u j u q e ! 4 k ] { u "!"
Recognizer for a Language
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
Regular Expression Manipulation FSM Model
Chapter Nine: Advanced Topics in Regular Languages
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
Presentation transcript:

Presenter: PCLee Design Automation Conference, ASP-DAC '07. Asia and South Pacific

In this paper, we present a method for generating checker circuits from sequential-extended regular expressions(SEREs). Such sequences form the core of increasingly-used Assertion-Based Verification (ABV) languages. A checker generator capable of transforming assertions into efficient circuits allows the adoption of ABV in hardware emulation. Towards that goal, we introduce the algorithms for sequence fusion and length matching intersection, two SERE operators that are not typically used over regular expressions. We also develop an algorithm for generating failure detection automata, a concept critical to extending regular expressions for ABV, as well as present our efficient symbol encoding. Experiments with complex sequences show that our tool outperforms the best known checker generator.

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

[2]: basic framework of MBAC [1],[3]: IBM’s FoCs [4],[6],[7],[8]: converting regular expression to hardware [5]: hardware compiler [9],[10]: check property during simulation [11]: removing ε transition, minimizing and determinization classical automata Compare [1],[3] with MBAC This paper [4],[6],[7],[8] is a start point of sequence transforming [5] [9],[10] is not a dynamic trace Add implementatio n of SERE to [2] Add boolean nature to [11]

Problem: 1. Assertions are usually expressed at higher levels of abstraction that are not easily expressed in a Hardware Description Language (HDL). 2. The symbols in sequences correspond to many simultaneously interacting Boolean expressions, as opposed to the plain symbols used in pattern matching. 3. The notion of sequence intersection is often not treated in regular expression matching. 4. Automata-based regular expression recognizers only require the matching of patterns, assertions often require explicit detection of sequence failures. 5. Sequence fusion is required in assertions sequences. Presented method:  MBAC checker generator tool is used to generate resource efficient assertion checker circuits.  This paper presented algorithm for sequence fusion and length- matching, and also develop an algorithm for generating failure detection automata.

Conditional mode: Sub-statement semantic context for which the detection of a sequence must be performed. For each start condition, the result signal is triggered each and every time the chain of events described by the sequence is observed. It can be used to describe the desired behavior. Obligation mode: Semantic context for which the failure of a sequence must be identified. For each start condition, if the chain of events described by the sequence does not occur, the result signal is triggered (for a given start condition, the first and only the first failure is identified). It can be used to detect first error. always ({b1 ; b2} |-> {b3 ; b4})

Symbol encoding differs from conventional regular expressions because in SEREs, the alphabet Σ(a non-empty finite set) represents arbitrary Boolean expressions. Symbol encoding of expression:  One symbol is received at each step, while the Boolean expression symbol encoding causes multiple symbols to be received at each step. Symbol encoding of sequence:  Encoding of Boolean primitives to s-automaton symbols is to assign a distinct symbol si to each Boolean primitive bi, without concern for the fact that two Boolean primitives may simultaneously evaluate to true. It is possible to create a symbol encoding which represents the power set of the Boolean primitives.  However, when a SERE references many Boolean primitives, the exponential increase of symbols and edges quickly becomes impractical.

Sequence automata construction use the recursively construction technique. Conventional regular expression operator:  Conventional regular expression operators are concatenation(;), choice(|) and kleen star(*).  The boolean expression encoding scheme produces nondeterministic automata because from a given state, two distinct symbols can cause simultaneous outgoing transitions when their respective Boolean expressions are both true.  This can be reused for sequence automata.

Length-Matching Intersection:  Length-Matching intersection needs the evaluation time and match point of each expression are same.  The condition on syntactic equality of symbols must be relaxed and the conjunction of symbols must be considered by the algorithm. Worst case is mn  m = input number of left  n = input number of right   {s1[*]} && {s2;s3}

 Sequence fusion can be seen as an overlapped concatenation.  Worst case is m+n

A separate procedure is required to transform the sequence detection automation into a first-failure detection automaton. If the automata is NFA, it can’t be done. Classical determinization only consider symbol, but the symbol can be true simultaneously. This paper add boolean nature to this algorithm and form S- Determinize. The main idea of this algorithm is to catch the case where the automaton dies.

Take software metrics(Modelsim simulator) as a golden reference to ensure proper behavior of the assertion circuits. Using ISE i from Xilinx and XC2V FPGA to synthesize. The number of flip-flop and LUT and operating frequency are required to compare with FoCs. Assertion distance: the number of clock cycles in which the two assertion signals disagree.

N.A. happen when assertion circuit only contain FF or the FF has no feedback path. “r n” noted that Msim can’t catch failure, but MBAC can.

Assertion-based verification and emulation become increasingly important in verification, MBAC is a practical tool for generating assertion circuits. This paper show how to generate efficient circuits from sequence and introduced algorithms for implementing the sequence fusion and intersection operators. Experimental results show improvements in terms of the resource usage, behavior and capability of assertion circuits.

I think we can follow the same rule to generate circuit from SVA. Because SystemVerilog is more high level. We can rewrite protocol checker in SVA. SVA is more readable and more popular.