Controller Synthesis for Pipelined Circuits Using Uninterpreted Functions Georg Hofferek and Roderick Bloem. MEMOCODE 2011.

Slides:



Advertisements
Similar presentations
Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
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.
1 Decision Procedures An algorithmic point of view Equality Logic and Uninterpreted Functions.
Synthesis, Analysis, and Verification Lecture 04c Lectures: Viktor Kuncak VC Generation for Programs with Data Structures “Beyond Integers”
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
SMT Solvers (an extension of SAT) Kenneth Roe. Slide thanks to C. Barrett & S. A. Seshia, ICCAD 2009 Tutorial 2 Boolean Satisfiability (SAT) ⋁ ⋀ ¬ ⋁ ⋀
Based on text by S. Mourad "Priciples of Electronic Systems" Digital Testing: Design Representation and Fault Detection
Technion 1 Generating minimum transitivity constraints in P-time for deciding Equality Logic Ofer Strichman and Mirron Rozanov Technion, Haifa, Israel.
Panel on Decision Procedures Panel on Decision Procedures Randal E. Bryant Lintao Zhang Nils Klarlund Harald Ruess Sergey Berezin Rajeev Joshi.
Specification and Encoding of Transaction Interaction Properties Divjyot Sethi Yogesh Mahajan Sharad Malik Princeton University Hardware Verification Workshop.
Spring 07, Feb 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Binary Decision Diagrams Vishwani D. Agrawal James.
Carnegie Mellon University Boolean Satisfiability with Transitivity Constraints Boolean Satisfiability with Transitivity Constraints
A Transformation Based Algorithm for Reversible Logic Synthesis D. Michael Miller Dmitri Maslov Gerhard W. Dueck Design Automation Conference, 2003.
1  1998 Morgan Kaufmann Publishers Chapter Five The Processor: Datapath and Control.
Ofer Strichman, Technion 1 Decision Procedures in First Order Logic Part III – Decision Procedures for Equality Logic and Uninterpreted Functions.
SAT-Based Decision Procedures for Subsets of First-Order Logic
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.
Computer ArchitectureFall 2007 © October 3rd, 2007 Majd F. Sakr CS-447– Computer Architecture.
Boolean Unification EE219B Presented by: Jason Shamberger March 1, 2000.
Technion 1 (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
Carnegie Mellon University SAT-Based Decision Procedures for Subsets of First-Order Logic Randal E. Bryant Part I: Equality.
Chapter Five The Processor: Datapath and Control.
VS 3 : Verification and Synthesis using SMT Solvers SMT Solvers for Program Verification Saurabh Srivastava * Sumit Gulwani ** Jeffrey S. Foster * * University.
Reduced Functional Consistency of Uninterpreted Functions.
Computer ArchitectureFall 2008 © September 17th, 2008 Majd F. Sakr CS-447– Computer Architecture.
Processor Architecture Kieran Mathieson. Outline Memory CPU Structure Design a CPU Programming Design Issues.
1 A propositional world Ofer Strichman School of Computer Science, Carnegie Mellon University.
Ofer Strichman, Technion 1 Decision Procedures in First Order Logic Part II – Equality Logic and Uninterpreted Functions.
*Carnegie Mellon University † IBM Exploiting Positive Equality in a Logic of Equality with Uninterpreted Functions Exploiting Positive Equality in a Logic.
The Processor Andreas Klappenecker CPSC321 Computer Architecture.
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
Boolean Algebra – I. Outline  Introduction  Digital circuits  Boolean Algebra  Two-Valued Boolean Algebra  Boolean Algebra Postulates  Precedence.
Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 1 Georg Hofferek IAIK – Graz University of Technology.
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.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Introduction to Satisfiability Modulo Theories
Second-Order Functions and Theorems in ACL2 Alessandro Coglio Workshop 2015 Kestrel Institute.
Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 1 Georg Hofferek and Roderick Bloem Institute for Applied.
1 Text Reference: Warford. 2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization.
Integrating high-level constructs into programming languages Language extensions to make programming more productive Underspecified programs –give assertions,
DL Overview Second Pass Ming Fang 06/19/2009. Outlines  Description Languages  Knowledge Representation in DL  Logical Inference in DL.
ATG SoC Memory Modeling in ESL-RTL Equivalence Checking Alfred Koelbl, Jerry Burch, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2007.
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.
Learning Universally Quantified Invariants of Linear Data Structures Pranav Garg 1, Christof Loding, 2 P. Madhusudan 1 and Daniel Neider 2 1 University.
Controller Synthesis for Pipelined Circuits Using Uninterpreted Functions Georg Hofferek and Roderick Bloem. MEMOCODE 2011.
Mapping of Regular Nested Loop Programs to Coarse-grained Reconfigurable Arrays – Constraints and Methodology Presented by: Luis Ortiz Department of Computer.
3/12/2013Computer Engg, IIT(BHU)1 CONCEPTS-1. Pipelining Pipelining is used to increase the speed of processing It uses temporal parallelism In pipelining,
Elements of Datapath for the fetch and increment The first element we need: a memory unit to store the instructions of a program and supply instructions.
1/20 Arrays Changki PSWLAB Arrays Daniel Kroening and Ofer Strichman Decision Procedure.
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,
Copyright © Cengage Learning. All rights reserved. 1 Equations, Inequalities, and Mathematical Modeling.
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
Daniel Kroening and Ofer Strichman 1 Decision Procedures for Equality Logic 1.
Digital Logic.
Hybrid BDD and All-SAT Method for Model Checking
Interpolating Functions from Large Boolean Relations
Morgan Kaufmann Publishers
Morgan Kaufmann Publishers
Super Quick Architecture Review
Georg Hofferek, Ashutosh Gupta, Bettina Könighofer, Jie-Hong Roland Jiang and Roderick Bloem Synthesizing Multiple Boolean Functions using Interpolation.
Topic 5: Processor Architecture Implementation Methodology
Topic 5: Processor Architecture
Fundamental Concepts Processor fetches one instruction at a time and perform the operation specified. Instructions are fetched from successive memory locations.
DESIGN OF SEQUENTIAL CIRCUITS
State Abstraction Techniques for the Verification of Reactive Circuits
Presentation transcript:

Controller Synthesis for Pipelined Circuits Using Uninterpreted Functions Georg Hofferek and Roderick Bloem. MEMOCODE 2011

Abstract  A novel abstraction-based approach for controller synthesis using logic with UF, arrays, equality, and limited quantification.  Extend Burch-Dill paradigm to synthesize the Boolean control for pipelined circuit.  Decide the controller existence by a reduction to propositional logic and extract the controller logic.

Problem Statement 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:

Preliminary – Array Property Fragment  Write axiom  Properties of array with uninterpreted indices  F: index guard G: value constraint  Index guard grammar:  Array properties  uninterpreted function (Bradley et al. [7])

Preliminary – Uninterpreted Function  A function  Mapping input value(s) to output value  Uninterpreted  Do not care about its explicit mapping  Care functional consistency  UF  equality logic (Ackermann’s reduction [1])

Preliminary – Equality Logic  First-order logic with one special predicate “=“  x 1 = x 2 Λ x 2 = x 3 Λ x 4 = x 5 Λ x 5  x 1  Equality logic  propositional logic (Bryant & Velev [8]) x1,x2,x3x1,x2,x3 x4,x5x4,x5

Equivalence Pipelined Architecture Non-Pipelined Architecture complete step Instr. Set Arch. (ISA) Burch-Dill paradigm: Instruction Set Architecture Pipelined Architecture

A 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:

Equivalence Criterion Registers REG ALU c ontrol v w Read Write s ource d est

Synthesis Approach & Reduction  Claim: AUE  UE UE  E E  Prop. logic

Reduction – 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

Reduction – UE  E  Replace all function instances with fresh variables  Add functional consistency constraints

Reduction – E  Prop. Logic  Replace equalities with fresh Boolean variables to obtain  Compute transitivity constraints from (chordal) equality graph

Extract Control Logic  We started from:  Apply transformations, obtain  Universally quantify “next states”  May blow up the size of BDD, but average cases are okay  Expand existential quantification of   Find cofactors of  On set:  Off set:  DC set:  Find function in this interval Don’t-Care-Set OFF-Set ON-Set Solution

Results  Complexity  Reduction: polynomial time  Computing the quantification: exponential time w.r.t #var.  Total: worst-case exponential time  Proof-of-concept  10 minutes with dynamic reordering  Validate using z3 SMT solver  c  ( s = w )

AUE  UE 2012/9/13

Outline  Quick review  AUE  UE reduction  Back to controller synthesis

Problem Statement 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:

Equivalence Criterion Registers REG ALU c ontrol v w Read Write s ource d est

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

Synthesis Approach & Reduction  Claim: AUE  UE UE  E E  Prop. logic

Array Property Fragment  Decidable fragment that allow some quantification  Specify basic properties of arrays, not just properties of array elements  Properties of array with uninterpreted indices  F: index guard G: value constraint  Index guard grammar:  Example

Reduction Example  Apply write axiom  Index set  Replace universal quantification by conjunction

Reduction Example  Expand  Simplify

Reduction Example  Distinguish lambda from other members of I  Simplify

Back to Controller Synthesis  Claim:  Lambda constraint: AUE  UE