Specify, Compile, Run: Hardware from PSL Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang 2016年2月22日星期一 2016年2月22日星期一 2016年2月22日星期一 1.

Slides:



Advertisements
Similar presentations
The Quest for Correctness Joseph Sifakis VERIMAG Laboratory 2nd Sogeti Testing Academy April 29th 2009.
Advertisements

Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
CS 267: Automated Verification Lecture 2: Linear vs. Branching time. Temporal Logics: CTL, CTL*. CTL model checking algorithm. Counter-example generation.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
Game-theoretic approach to the simulation checking problem Peter Bulychev Vladimir Zakharov Lomonosov Moscow State University.
Presenter: PCLee VLSI Design, Automatic and Test, (VLSI-TSA-DAT).
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
Nir Piterman Department of Computer Science TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA Bypassing Complexity.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
ISBN Chapter 3 Describing Syntax and Semantics.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
Convertibility Verification and Converter Synthesis: Two Faces of the Same Coin Jie-Hong Jiang EE249 Discussion 11/21/2002 Passerone et al., ICCAD ’ 02.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Enhancing The Fault-Tolerance of Nonmasking Programs Sandeep S. Kulkarni and Ali Ebnenasir Software Engineering and Network Systems Laboratory Computer.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Specification Formalisms Book: Chapter 5. Properties of formalisms Formal. Unique interpretation. Intuitive. Simple to understand (visual). Succinct.
Boolean Unification EE219B Presented by: Jason Shamberger March 1, 2000.
Review of the automata-theoretic approach to model-checking.
Presenter: PCLee Design Automation Conference, ASP-DAC '07. Asia and South Pacific.
5/6/2004J.-H. R. Jiang1 Functional Dependency for Verification Reduction & Logic Minimization EE290N, Spring 2004.
Lesson 6. Refinement of the Operator Model This page describes formally how we refine Figure 2.5 into a more detailed model so that we can connect it.
Describing Syntax and Semantics
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.
Propositional Calculus Math Foundations of Computer Science.
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
Institute for Applied Information Processing and Communications 1 Karin Greimel Semmering, Open Implication.
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.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
CIS 842: Specification and Verification of Reactive Systems Lecture Specifications: LTL Model Checking Copyright , Matt Dwyer, John Hatcliff,
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Introduction to State Machine
Lazy Annotation for Program Testing and Verification Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang November 26,
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Slide 1 2. Verilog Elements. Slide 2 Why (V)HDL? (VHDL, Verilog etc.), Karen Parnell, Nick Mehta, “Programmable Logic Design Quick Start Handbook”, Xilinx.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for August 6, 2003.
Graz University of Technology Professor Horst Cerjak, Barbara Jobstmann San Jose, Nov 15Optimizations for LTL Synthesis Barbara Jobstmann.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
Verification & Validation By: Amir Masoud Gharehbaghi
Constraints Assisted Modeling and Validation Presented in CS294-5 (Spring 2007) Thomas Huining Feng Based on: [1]Constraints Assisted Modeling and Validation.
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.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
1 Temporal logic. 2 Prop. logic: model and reason about static situations. Example: Are there truth values that can be assigned to x,y simultaneously.
From Natural Language to LTL: Difficulties Capturing Natural Language Specification in Formal Languages for Automatic Analysis Elsa L Gunter NJIT.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
Program Synthesis is a Game
Propositional Calculus: Boolean Algebra and Simplification
Automatic Verification of Industrial Designs
ECE 551: Digital System Design & Synthesis
Dichotomies in CSP Karl Lieberherr inspired by the paper:
EGR 2131 Unit 12 Synchronous Sequential Circuits
*Internal Synthesizer Flow *Details of Synthesis Steps
Presentation transcript:

Specify, Compile, Run: Hardware from PSL Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang 2016年2月22日星期一 2016年2月22日星期一 2016年2月22日星期一 1

Paper Information Title Specify, Compiler, Run: Hardware from PSL Authors R. Bloem and S. Galler and B. Jobstmann and N. Piterman and A. Pnueli and M. Weiglhofer Publication (2007) International Workshop on Compiler Optimization Meets Compiler Verification (COCV). pp /2/22 2

Outline Paper presentation Motivation Introduction to PSL PSL synthesis Case studies Conclusion Possible improvements we could try 2016年2月22日星期一 2016年2月22日星期一 2016年2月22日星期一 3

Outline Paper presentation Motivation Introduction to PSL PSL synthesis Case studies Conclusion Possible improvements we could try 2016年2月22日星期一 2016年2月22日星期一 2016年2月22日星期一 4

Motivation Apply an automatic high-level synthesis process generating gate-level implementation from a spec written in the Property Specification Language (PSL) Not equal to gate-level description from RTL code The most obvious benefit of synthesis is that it removes the need for hand-coding the circuit Less ambitious benefits include the possibility to construct rapid prototypes from spec. and use it to debug the spec. 2016/2/22 5

Outline Paper presentation Motivation Introduction to PSL PSL synthesis Case studies Conclusion Possible improvements we could try 2016年2月22日星期一 2016年2月22日星期一 2016年2月22日星期一 6

Property Specification Language A language developed by Accellera for specifying properties or assertions about hardware designs Accellera Founded in 2000 from the merger of Open Verilog International and VHDL International A standards organization that supports a mix of user and vendor standards and open interfaces development in the area of electronic design automation and IC design and manufacturing The properties can be simulated or formally verified 2016/2/22 7

Property Specification Language (con’t) In September 2004, the standardization on the language has been done in IEEE 1850 working group In September 2005, the IEEE 1850 Standard for Property Specification Language (PSL) was announced 2016/2/22 8

Outline Paper presentation Motivation Introduction to PSL PSL synthesis Case studies Conclusion Possible improvements we could try 2016年2月22日星期一 2016年2月22日星期一 2016年2月22日星期一 9

Preliminary If the spec. of the design is restricted to simpler automata or partial fragments of LTL, the synthesis problem can be solved more efficiently Major progress has been achieved in [NAY06]* Design can be automatically synthesized from LTL formulas belonging to the class of generalized reactivity of rank 1 (GR(1)) In time N 3, N is the size of the state space of the design GR(1) covers the vast majority of properties appearing in spec. of citcuits *[NAY06] : N. Piterman, A. Pnueli, and Y. Sa’ar. Synthesis of reactive(1) designs. In Conference on Verification, Model Checking, and Abstract Interpretation, pages 364–380, /2/22 10

Preliminary (con’t) The spec. shown in this paper should be easy to read for someone familiar with LTL always => G eventually! => F next! => X Atomic proposition p prev(p) holds if p held in the previous cycle rose(p) = fell (p) = next_event! (p)(φ) = 2016/2/22 11

Contributions of this paper They have implemented the approach of [NAY06] in the Anzu, and extended it to produce not only a BDD representing a set of possible implementations, but also an actual circuit This is the first time realistic industrial examples have been tackled 2016/2/22 12

Synthesis of GR(1) properties The question of realizability of PSL sepc. Assume two sets of Boolean variables X and Y X is the set of input variables, controlled by the environment Y is the set of system variables Check whether there exists an open controller satisfying the spec. This controller is Mealy machine 2016/2/22 13

Synthesis of GR(1) properties (con’t) Concentrate on a subset of PSL for which realizability and synthesis can be solved efficiently Spec. are of the form φ = φ e → φ s, and required that φ α for can be rewritten as a conjunction of following parts : a Boolean formula which characterizing the initial states of the implementation : a formula of the form where each B i is a Boolean combination of variables from X ∪ Y and expressions of the form next! v where and otherwise 2016/2/22 14

Synthesis of GR(1) properties (con’t) has the form where each B i is a Boolean formula 2016/2/22 15

Deterministic Monitors In order to allow formulas of other forms (e.g., always (p → (q until r)), where p, q, and r are Boolean, we augment the set of variables by adding deterministic monitors Deterministic Monitors are Buchi automata whose behavior is deterministic according to the choice of inputs and outputs Deterministic automata are easily represented in PSL by three sets of formulas One formula for each edge of the automaton, of the form, where s and s’ identify states and i is an input A Boolean formula representing the initial states to represent the fairness condition, where B is a Boolean formula representing a set of states 2016/2/22 16

Deterministic Monitors (con’t) It should be noted that even with these restrictions, all possible (finite state) designs can be expressed as a set of properties. 2016/2/22 17

Two-players game played between a system and an environment Game structure A multi-graph whose nodes are all the truth assignments to X and Y A node v is connected by edges to all the nodes v’ such that the truth assignments to X and Y satisfy, where v supplies the assignment to the current values and v’ to the next values A play starts by the environment choosing an assignment to X and the system choosing a state in that agrees with this assignment 2016/2/22 18

Two-players game played between a system and an environment (con’t) A play proceeds by the environment choosing a multi- edge and the system choosing one of the nodes connected to this multi-edge The system wins if this interaction produces an infinite play that satisfy The environment is winning => the spec. in unrealizable The system is winning => we synthesize a win strategy This strategy, a BDD, is a nondeterministic representation of working implementation. 2016/2/22 19

Two-players game played between a system and an environment (con’t) 2016/2/22 20

Generating Circuits from BDDs A BDD over the variables X, Y, X’, and Y’ X : input variables Y : output variables Primed version : next state variables The corresponding circuit contains |X|+|Y| flipflops to store the values of inputs and outputs in the last clock tick 2016/2/22 21

Generating Circuits from BDDs (con’t) In every steps The circuits reads the next input variables X’ Determine the next output values using combinational logic with inputs I = X ∪ Y ∪ X’ and outputs O = Y’ 2016/2/22 22

Approaches of the paper They have attempted two methods to build the combinational logic One based on [JT00] The other one based on computing cofactors [JT00] J. H. Kukula and T. R. Shiple. Building circuits from relations. In Conference on Computer Aided Verification, pages 113–123, /2/22 23

Method based on [JT00] The approach of [JT00] yields a circuit that can generate, for a given input, any output allowed by the strategy To the end, it uses a set of extra inputs to the combinational logic It is more general than what we need: a circuit that always yields one valid output given an input This generality comes at a heavy price in terms of size of the logic 2016/2/22 24

Methods based on computing cofactors They write o ∈ O for a combinational output and i ∈ I for a combinational input The strategy is denoted by S O\o is the set of combinational outputs excluding output o For every combinational output o, they construct a function f in terms of I that is compatible with the given strategy BDD 2016/2/22 25

Methods based on computing cofactors (con’t) The algorithm proceeds through the combinational outputs o one by one Step 1 Build S’ : a BDD that restricts only o in terms of I Step 2 Build the positive and negative cofactors (p, n) of S’ with respect to o Find the sets of inputs for which o can be 1 (0, respectively) The combinational inputs that are neither in the positive nor in the negative cofactor are outside of the winning region, thus representing situations that cannot occur 2016/2/22 26

Methods based on computing cofactors (con’t) The function f has to be 1 in p ∧ ¬n and 0 in ¬p ∧ n Give us the set of care states Step 3 Minimize the positive cofactors with the care set to obtain the function f Step 4 Substitute variable 0 in S by f, and proceed next variable The substitution is necessary since combinational outputs may be related 2016/2/22 27

Methods based on computing cofactors (con’t) Pseudo code 2016/2/22 28

Extension 1: Optimize the cofactors Some outputs may not depend on all inputs Remove unnecessary inputs from the functions If cofactors do not overlap when existentially quantifying variable i Variable i is not needed to distinguish between the states where o has to be 1 and where o has to be /2/22 29

Extension 2: Remove dependent variables After computing the combinational logic, they perform dependent variables analysis [AD93] on the set of reachable states to simplify the generated circuit A Boolean function f over x 0,…, x n, a variable x i is functionally dependent Function f can be replaced by a function g (x 0,…,x i- 1,x i+1,…,x n ) [AD93]: A. J. Hu and D. Dill. Reducing BDD size by exploiting functional dependencies. In Proceedings of the Design Automation Conference, pages 266–271, /2/22 30

Outline Paper presentation Motivation Introduction to PSL PSL synthesis Case studies Conclusion Possible improvements we could try 2016年2月22日星期一 2016年2月22日星期一 2016年2月22日星期一 31

Case: GenBuf Dashed boxes represent the environment 2016/2/22 32

PSL specification 2016/2/22 33

Experimental results Time to synthesize GenBuf [KS00]: Building circuit from relations 2016/2/22 34

Experimental results (con’t) Size of the GenBuf circuits 2016/2/22 35

Outline Paper presentation Motivation Introduction to PSL PSL synthesis Case studies Conclusion Possible improvements we could try 2016年2月22日星期一 2016年2月22日星期一 2016年2月22日星期一 36

Conclusion This two cases Writing the formal spec. for the generalized buffer is straightforward The simplicity of the block & clear spec. from IBM Writing a complete formal spec. for the AMBA arbiter is not trivial Many aspects of the arbiter are not defined in ARM’s standard Construction of a complete spec. is an iterative process 2016/2/22 37

Conclusion (con’t) The tool complains about unrealizable spec., but does not offer any help in pinpointing the problem Unexpected behavior is typically very easy to find, but not always easy to remedy Parameter issues (# of senders in GenBuf, # of masters in arbiter) Manual implementation => independent Automatic synthesis => heavily dependent It is hard to find small circuit from among the ones valid 2016/2/22 38

Outline Paper presentation Motivation Introduction to PSL PSL synthesis Case studies Conclusion Possible improvements we could try 2016年2月22日星期一 2016年2月22日星期一 2016年2月22日星期一 39

Possible improvements Replace the parts of ANZU related to building circuits from relations with our new method Detect functional dependency and minimize the circuit 2016/2/22 40

Thanks for your attention 2016年2月22日星期一 2016年2月22日星期一 2016年2月22日星期一 41