01/27/2005 Combinationality of cyclic definitions EECS 290A – Spring 2005 UC Berkeley.

Slides:



Advertisements
Similar presentations
The Synthesis of Cyclic Circuits with SAT and Interpolation By John Backes and Marc Riedel ECE University of Minnesota.
Advertisements

Switching circuits Composed of switching elements called “gates” that implement logical blocks or switching expressions Positive logic convention (active.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
JAYASRI JETTI CHINMAYA KRISHNA SURYADEVARA
1 Combinational Logic Design&Analysis. 2 Introduction We have learned all the prerequisite material: – Truth tables and Boolean expressions describe functions.
Give qualifications of instructors: DAP
Asynchronous Sequential Logic
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Logic Simulation.
Global Flow Optimization (GFO) in Automatic Logic Design “ TCAD91 ” by C. Leonard Berman & Louise H. Trevillyan CAD Group Meeting Prepared by Ray Cheung.
01/25/2005 Combinationality of cyclic circuits EECS 290A – Spring 2005 UC Berkeley.
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
EECS 20 Lecture 38 (April 27, 2001) Tom Henzinger Review.
CS 151 Digital Systems Design Lecture 25 State Reduction and Assignment.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Synthesis of Embedded Software Using Free-Choice Petri Nets.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
Ordering and Consistent Cuts Presented By Biswanath Panda.
Sequential Optimization without State Space Exploration A. Mehrota, S. Qadeer, V. Singhal, R. Brayton, A. Sangiovanni-Vincentelli, A. Aziz Presented by:
Reducing Multi-Valued Algebraic Operations to Binary J.-H. Roland Jiang Alan Mishchenko Robert K. Brayton Dept. of EECS University of California, Berkeley.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
Why Behavioral Wait statement Signal Timing Examples of Behavioral Descriptions –ROM.
Continuous Retiming EECS 290A Sequential Logic Synthesis and Verification.
1 Exact Two-Level Minimization of Hazard-Free Logic with Multiple Input Changes Montek Singh Tue, Oct 16, 2007.
25/06/2015Marius Mikucionis, AAU SSE1/22 Principles and Methods of Testing Finite State Machines – A Survey David Lee, Senior Member, IEEE and Mihalis.
Technion 1 (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion.
Spring 2002EECS150 - Lec15-seq2 Page 1 EECS150 - Digital Design Lecture 15 - Sequential Circuits II (Finite State Machines revisited) March 14, 2002 John.
Data Flow Analysis Compiler Design Nov. 8, 2005.
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
5/6/2004J.-H. R. Jiang1 Functional Dependency for Verification Reduction & Logic Minimization EE290N, Spring 2004.
Sequential Testing Two choices n Make all flip-flops observable by putting them into a scan chain and using scan latches o Becomes combinational testing.
Sept. 19, 2002Workshop on Boolean Problems A Theory of Non-Deterministic Networks R. K. Brayton EECS Dept. University of California Berkeley.
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Retiming.
Data Flow Analysis Compiler Design Nov. 8, 2005.
03/08/2005 © J.-H. Jiang1 Retiming and Resynthesis EECS 290A – Spring 2005 UC Berkeley.
Optimizing Compilers for Modern Architectures Dependence: Theory and Practice Allen and Kennedy, Chapter 2.
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Tractable Symmetry Breaking Using Restricted Search Trees Colva M. Roney-Dougal, Ian P. Gent, Tom Kelsey, Steve Linton Presented by: Shant Karakashian.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Chap 4. Sequential Circuits
Logic Circuits Chapter 2. Overview  Many important functions computed with straight-line programs No loops nor branches Conveniently described with circuits.
05/04/06 1 Integrating Logic Synthesis, Tech mapping and Retiming Presented by Atchuthan Perinkulam Based on the above paper by A. Mishchenko et al, UCAL.
TECH Computer Science NP-Complete Problems Problems  Abstract Problems  Decision Problem, Optimal value, Optimal solution  Encodings  //Data Structure.
“Software” Esterel Execution (work in progress) Dumitru POTOP-BUTUCARU Ecole des Mines de Paris
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 A Novel Synthesis Algorithm for Reversible Circuits Mehdi Saeedi, Mehdi Sedighi*, Morteza Saheb Zamani {msaeedi, msedighi, aut.ac.ir.
Dynamic Program Analysis with Partial Execution and Summary Thomas Huining Feng CHESS, UC Berkeley May 8, 2007 CS.
ELEC692 VLSI Signal Processing Architecture Lecture 3
Maze Routing Algorithms with Exact Matching Constraints for Analog and Mixed Signal Designs M. M. Ozdal and R. F. Hentschke Intel Corporation ICCAD 2012.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 1 Regular Languages Some slides are in courtesy.
ENG241 Digital Design Week #7 Sequential Circuits (Part B)
SECTION 9 Orbits, Cycles, and the Alternating Groups Given a set A, a relation in A is defined by : For a, b  A, let a  b if and only if b =  n (a)
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
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.
Chapter 5 Finite Automata Finite State Automata n Capable of recognizing numerous symbol patterns, the class of regular languages n Suitable for.
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
Sequential Circuit Design 05 Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA.
©2010 Cengage Learning SLIDES FOR CHAPTER 8 COMBINATIONAL CIRCUIT DESIGN AND SIMULATION USING GATES Click the mouse to move to the next page. Use the ESC.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 61 Lecture 6 Logic Simulation n What is simulation? n Design verification n Circuit modeling n True-value.
Chapter 10 NP-Complete Problems.
Digital Logic.
IIT Kharagpur & Kingston Uni
Hardware Verification
VLSI Testing Lecture 5: Logic Simulation
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Topics Logic synthesis. Placement and routing..
Guest Lecture by David Johnston
“Definition” of Combinational
Presentation transcript:

01/27/2005 Combinationality of cyclic definitions EECS 290A – Spring 2005 UC Berkeley

Outline Beyond ternary-simulation formulation? Cyclic definitions From circuits to functions From hardware to software When cyclic definitions behave combinationally Validity of functional-level analysis From combinational to sequential – sequential determinism

Circuit-level analysis Advantage Simple (compared to what’s coming) Weakness Analysis at low abstraction level (after circuit netlists are derived) Not combinational! Now what? Combinationality depends on circuit structures The schizophrenia problem in Esterel compilation

Escape the trap! Is ternary-simulation formulation the only solution? What if cyclicities are to be broken What if synthesis targets are software

Functional-level analysis Why ? Analysis at circuit level Too conservative  when cyclic definitions are to be broken  when synthesis targets are software At very low level  needs to translate high-level descriptions into gate-level representations  yields inconsistent conclusions about combinationality Analysis at functional level admits more general combinationality formulation avoids the translation from functional to gate level representation yields consistent conclusions about combinationality How ?

Different levels of abstraction Distinctions between functional and circuit levels of abstraction Functional level Valuations take no time (timing information is abstracted away) Circuit level Gates and wires are associated with delay (in particular, under the UIN delay model)

Cyclic definitions Example D = {a := ¬x a  c, b := ¬x (a  ¬b)  c, c := x b, y := ¬x (¬a  a b)  x (a ¬c  ¬a c)} Input: I = {x}, output: O = {y}, internal: {a, b, c} Break cyclic definitions of D w.r.t. a minimal cutset C = {a, b} Excitation functions: a := ¬x a  x b, b := ¬x (a  ¬b)  x b Observation function: y := ¬x (¬a  a b)  x (a ¬b  ¬a b)

State evolution graphs Any SEG is defined for some input assignment Example (cont’d) Excitation functions: a := ¬x a  x b, b := ¬x (a  ¬b)  x b Observation function: y := ¬x (¬a  a b)  x (a ¬b  ¬a b)

Facts about SEGs An SEG is defined for some fixed input assignment Every state in an SEG has exactly one outgoing edge Any state is either in a loop or on a path leading to a loop Any two loops of an SEG are disjoint

Combinationality at functional level Definition. [Combinationality] A set D of cyclic definitions w.r.t. some cutset C is combinational at the functional level if, for any input assignment, all states in loops of any SEG have the same output observation. Example (cont’d) I = {x}, O = {y}, C = {a, b} a := ¬ x a  x b b := ¬ x (a  ¬ b)  x b y := ¬ x ( ¬ a  a b)  x (a ¬ b  ¬ a b)

Combinationality test Algorithm: combinationality test 1. Compute states in loops of SEGs by a greatest fixed-point computation (iterative image computation w/o the quantification of input variables) 2. Assert the states in loop of any SEG have one observation label (apply cprojection operation [Lin & Newton 91])

Compute states in loops Let L denote the set of states in loops and T be the transition relation for SEGs The greatest fixed-point computation corresponds to 1. Let L 0 (x,cs) := 1 (i.e. all states for any input) 2. Repeat 3. L i+1 (x,cs) := [  cs. L i (x,cs)  T(x,cs,ns)] ns→cs 4. Until L i+1 = L i 5. Return L

Assert consistent observations Let O(x,cs,o) be the observation relation and  (x,o)  [  cs. L(x,cs)  O(x,cs,o) ]. The set of cyclic definitions is combinational iff  (x,o) = cprojection(  (x,o),a), where a is an arbitrary minterm in the o-space

Cycle breaking Algorithm: cycle breaking From combinationality test, rewrite definitions of PO variables as functions of PI variables. Or, rewrite definitions of cutset variables as functions of PI variables.

Combinationality at functional level Theorem. The combinationality analysis is independent of the choice of minimal cutsets.

Combinationality at functional level Theorem. [Generality] There exists a feasible combinational implementation of a set D of cyclic definitions if, and only if, D satisfies the combinationality test. The combinationality formulation is the most general

Combinationality at functional level Theorem. [Complexity] Combinationality analysis at the functional level is PSPACE- complete in the cutset size. Thus the applicability of the analysis strongly depends on the cutset size Notice the freedom of choosing minimal cutsets

Validaty of combinationality analysis Conditions of legitimacy Cyclicities are to be broken, or Synthesis targets are software Cyclic definitions can be maintained Assume that execution follows the evolutions in SEGs

Ternary simulation at functional level If all valuations must stabilize For any input assignment, there exists a set of signals valuating to either 0 or 1 such that all cyclic definitions are broken Correspondingly, every SEG G has a single self- loop state to which all other states of G evolve If only output signals must stabilize Partition input assignments into two sets: one fully and the other partially determines output valuations w/o valuating internal signals The first set imposes no restriction on SEGs The second set imposes the same restriction as the previous case (all valuations must stabilize) Therefore, ternary simulation at functional level is very restricted compared to the introduced analysis

Some extensions Stable cyclic definitions Loops of length greater than one are unstable Undesirable because of dynamic power dissipation (though valid for software synthesis) Rewrite definitions to consist of only stable loops Input-output determinism of state transition systems Extend combinationality analysis to systems with state-holding elements (c.f. GMW analysis used in [Shiple 96])

Sequential determinism For an FSM to behave deterministically in IO, it is allowed to have non-deterministic transition functions The cyclic definitions can be more flexible (in observations induced by the transition functions)

Summaries What we learned Combinationality formulation at functional level Valid if cyclicities are to be broken, or synthesis targets are software Combinationality analysis and the rewrite procedure to make cyclic definitions acyclic Sequential determinism

References [Lin & Newton 91] B. Lin and A. Newton. Implicit manipulation of equivalence classes using binary decision diagrams. In Proc. ICCD, pp.81-85, [JMB 04] On breakable cyclic definitions. In Proc. ICCAD, 2004.