Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 1 Georg Hofferek and Roderick Bloem Institute for Applied.

Slides:



Advertisements
Similar presentations
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Advertisements

1 Decision Procedures An algorithmic point of view Equality Logic and Uninterpreted Functions.
Compiler Support for Superscalar Processors. Loop Unrolling Assumption: Standard five stage pipeline Empty cycles between instructions before the result.
SMT Solvers (an extension of SAT) Kenneth Roe. Slide thanks to C. Barrett & S. A. Seshia, ICCAD 2009 Tutorial 2 Boolean Satisfiability (SAT) ⋁ ⋀ ¬ ⋁ ⋀
1 1 Regression Verification for Multi-Threaded Programs Sagar Chaki, SEI-Pittsburgh Arie Gurfinkel, SEI-Pittsburgh Ofer Strichman, Technion-Haifa Originally.
Technion 1 Generating minimum transitivity constraints in P-time for deciding Equality Logic Ofer Strichman and Mirron Rozanov Technion, Haifa, Israel.
1 Cover Algorithms and Their Combination Sumit Gulwani, Madan Musuvathi Microsoft Research, Redmond.
ISBN Chapter 3 Describing Syntax and Semantics.
Weizmann Institute Deciding equality formulas by small domain instantiations O. Shtrichman The Weizmann Institute Joint work with A.Pnueli, Y.Rodeh, M.Siegel.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
Carnegie Mellon University Boolean Satisfiability with Transitivity Constraints Boolean Satisfiability with Transitivity Constraints
Interpolants [Craig 1957] G(y,z) F(x,y)
1 Satisfiability Modulo Theories Sinan Hanay. 2 Boolean Satisfiability (SAT) Is there an assignment to the p 1, p 2, …, p n variables such that  evaluates.
Courseware Path-Based Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads,
DARPA Scalable Simplification of Reversible Circuits Vivek Shende, Aditya Prasad, Igor Markov, and John Hayes The Univ. of Michigan, EECS.
A High Performance Application Representation for Reconfigurable Systems Wenrui GongGang WangRyan Kastner Department of Electrical and Computer Engineering.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Technion 1 Generating minimum transitivity constraints in P-time for deciding Equality Logic Ofer Strichman and Mirron Rozanov Technion, Haifa, Israel.
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
1 Exact Two-Level Minimization of Hazard-Free Logic with Multiple Input Changes Montek Singh Tue, Oct 16, 2007.
Computer ArchitectureFall 2007 © October 3rd, 2007 Majd F. Sakr CS-447– Computer Architecture.
Technion 1 (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion.
Last time Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search strategy.
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
Reduced Functional Consistency of Uninterpreted Functions.
Lec 9: Pipelining Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University.
1 A propositional world Ofer Strichman School of Computer Science, Carnegie Mellon University.
Describing Syntax and Semantics
Ofer Strichman, Technion 1 Decision Procedures in First Order Logic Part II – Equality Logic and Uninterpreted Functions.
Ofer Strichman, Technion Deciding Combined Theories.
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 1 Georg Hofferek IAIK – Graz University of Technology.
COMPUTER SYSTEM ARCHITECTURE By Sohaib.  The digital computer is a digital system that performs various computational tasks.  The word digital implies.
Boolean Algebra and Digital Circuits
Design Science Method By Temtim Assefa.
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic Range Allocation.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
Automated Design of Custom Architecture Tulika Mitra
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Second-Order Functions and Theorems in ACL2 Alessandro Coglio Workshop 2015 Kestrel Institute.
Controller Synthesis for Pipelined Circuits Using Uninterpreted Functions Georg Hofferek and Roderick Bloem. MEMOCODE 2011.
1 Lecture 6 BOOLEAN ALGEBRA and GATES Building a 32 bit processor PH 3: B.1-B.5.
ATG SoC Memory Modeling in ESL-RTL Equivalence Checking Alfred Koelbl, Jerry Burch, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2007.
Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 1 Robert Könighofer and Roderick Bloem IAIK – Graz University.
CS/COE0447 Computer Organization & Assembly Language
Ukrprog Formal requirement language and its applications A.Letichevsky Glushkov Institute of Cybernetics.
1 First order theories (Chapter 1, Sections 1.4 – 1.5) From the slides for the book “Decision procedures” by D.Kroening and O.Strichman.
1  1998 Morgan Kaufmann Publishers Where we are headed Performance issues (Chapter 2) vocabulary and motivation A specific instruction set architecture.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Controller Synthesis for Pipelined Circuits Using Uninterpreted Functions Georg Hofferek and Roderick Bloem. MEMOCODE 2011.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding Combined Theories.
Manufacture Testing of Digital Circuits
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
1/20 Arrays Changki PSWLAB Arrays Daniel Kroening and Ofer Strichman Decision Procedure.
© Anvesh Komuravelli Spacer Compositional Verification of Procedural Programs using Horn Clauses over Integers and Arrays Anvesh Komuravelli work done.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
1 Computing Abstractions by integrating BDDs and SMT Solvers Alessandro Cimatti Fondazione Bruno Kessler, Trento, Italy Joint work with R. Cavada, A. Franzen,
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
Resource Sharing in LegUp. Resource Sharing in High Level Synthesis Resource Sharing is a well-known technique in HLS to reduce circuit area by sharing.
Daniel Kroening and Ofer Strichman 1 Decision Procedures for Equality Logic 1.
Stateless Combinational Logic and State Circuits
Interpolating Functions from Large Boolean Relations
Morgan Kaufmann Publishers
Intro to Theory of Computation
Propositional Calculus: Boolean Algebra and Simplification
Georg Hofferek, Ashutosh Gupta, Bettina Könighofer, Jie-Hong Roland Jiang and Roderick Bloem Synthesizing Multiple Boolean Functions using Interpolation.
This Lecture Substitution model
Presentation transcript:

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 1 Georg Hofferek and Roderick Bloem Institute for Applied Information Processing and Communications Graz University of Technology, Austria Quaint Kick-OffGeorg HofferekFebruary 2012 Controller Synthesis for Pipelined Circuits Using Uninterpreted Functions

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 2 Quaint Kick-OffGeorg HofferekFebruary 2012 Imperative vs. Declarative  Imperative Paradigm  How to do something  Declarative Paradigm  What to do int compute(int input) { if(input > 0) return (input-1); else return (input+1); } assert(abs(result-input)==1);

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 3 Quaint Kick-OffGeorg HofferekFebruary 2012 Motivation: Pipelined Microprocessor Registers / Memory f1f1 f2f2 fnfn c1c1 c2c2 cncn Controller Registers / Memory f1f1 f2f2 fnfn Non-pipelined processor: Pipelined processor, using the same combinational datapath elements:

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 4 Quaint Kick-OffGeorg HofferekFebruary 2012 Equivalence: Commutativity Pipelined Architecture Non-Pipelined Architecture complete step Instr. Set Arch. (ISA) Burch-Dill paradigm: Instruction Set Architecture Pipelined Architecture

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 5 Quaint Kick-OffGeorg HofferekFebruary 2012 Abstraction by Uninterpreted Functions f f a a f(a)

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 6 Quaint Kick-OffGeorg HofferekFebruary 2012 (Very) Simple Example Registers REG ALU c ontrol v w d est s ource Read Write Registers REG ALU s ource d est Read Write Non-pipelined Architecture (=reference): Pipelined Architecture:

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 7 Quaint Kick-OffGeorg HofferekFebruary 2012 Example: Equivalence Criterion complete – ISA: step – complete: analogous Equivalence criterion: complete ISA Registers REG AL U c ontrol v w d est s ource Read Write Pipelined Architecture: Registers REG ALU s ource d est Read Write Non-pipelined Architecture (=reference):

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 8 Quaint Kick-OffGeorg HofferekFebruary 2012 Synthesis Approach  Define equivalence criterion:  Claim:  If the claim is valid, extract Registers REG ALU c ontrol v w d est s ource Read Write

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 9 Quaint Kick-OffGeorg HofferekFebruary 2012 Reductions  Equivalence criterion is a (closed) second-order formula, using the theories of  Arrays (A)  Uninterpreted Functions (U)  Equality (E)  with limited quantification.  Three (validity-preserving) reductions:  AUE  UE(cf. Bradley et al.)  UE  E(cf. Ackermann’s reduction)  E  Propositional Logic(cf. Bryant et al.)

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 10 Quaint Kick-OffGeorg HofferekFebruary 2012 Proof Structure  Construct from, according to standard procedure(s)  Show that if is valid, then also is valid. 1. Choose arbitrarily 2. Map to according to 3. Find some by using validity of 4. Map to according to 5. Choose arbitrarily 6. Map to according to 7. Show that implies (by using structural similarities) Directionof proof

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 11 Quaint Kick-OffGeorg HofferekFebruary 2012 AUE  UE 1.Replace Array-Writes with fresh variables and apply write axiom 2.Replace universal quantifications with conjunction over index set 3.Replace Array-Reads with uninterpreted functions

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 12 Quaint Kick-OffGeorg HofferekFebruary 2012 Ackermann’s Reduction: UE  E  Replace all function instances with fresh variables  Add functional consistency constraints

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 13 Quaint Kick-OffGeorg HofferekFebruary 2012 E  Propositional Logic  Replace equalities with fresh Boolean variables to obtain  Compute transitivity constraints from (chordal) equality graph

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 14 Quaint Kick-OffGeorg HofferekFebruary 2012 Extract Function for Control Logic  We started from:  Apply transformations, obtain  Universally quantify “next states”  i.e., quantify all variables which “come from” one of the next state variables. E.g.  Expand existential quantification of  Example:  Find cofactors of  Positive Cofactor: ON-Set + DC-Set  Negative Cofactor: OFF-Set + DC-Set  Find function in this interval Don’t-Care-Set OFF-Set ON-Set Solution

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 15 Quaint Kick-OffGeorg HofferekFebruary 2012 Experimental Results  Equivalence Criterion for Simple Example:  Manually reduced from AUE to UE and from UE to E  Semi-manually reduced from E to propositional logic  BDD-based computation of c:  ~14 hours for simple example  Most time for reordering during creation of transitivity constraints  ~10 minutes with variable order determined by the 14 hour run  Resulting interval had two non-trivial boundaries and contained the expected result

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 16 Quaint Kick-OffGeorg HofferekFebruary 2012 Synthesis via Interpolation A B Both 0 and 1 allowed. “Don’t Care-Set” I

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 17 Quaint Kick-OffGeorg HofferekFebruary 2012 Summary of Synthesis algorithm  We started from  a datapath of the target system  a reference implementation  an equivalence criterion  We obtained  Boolean function(s) for the control logic  in terms of  (dis-)equalities between inputs and states  Example: = Datapath Registers REG ALUALU c ontrol v w d est s ourc e Read Write Pipelined Architecture: Registers REG ALUALU s ou rce d e st Read Write Non-pipelined Architecture (=reference): DIAMOND Review Meeting, Graz, Feb 14th

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 18 Quaint Kick-OffGeorg HofferekFebruary 2012 SURAQ Tool  Synthesizer using Uninterpreted functions, aRrays And eQuality  SMTLIB 2  AUE  UE Reduction  Existential Expansion Not to be confused with Surak, a legendary Vulcan philosopher, scientist, and logician. © Paramount Pictures and/or CBS Studios

Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 19 Quaint Kick-OffGeorg HofferekFebruary 2012 Open Challenges  Interpolating Multiple Control Signals at once  Joint work with Ashutosh Gupta, IST Austria  Semi-solved  Multiple (time) instances of one control signal in formula  Basic idea, but not proof yet  Is it possible at all?  Quantitative Aspects  Small interpolants, strong interpolants  Joint work with Georg Weissenbacher, Princeton University, Vienna University of Technology  Other Application Domains  Concurrent software