“Definition” of Combinational

Slides:



Advertisements
Similar presentations
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Advertisements

VIII - Working with Sequential Logic © Copyright 2004, Gaetano Borriello and Randy H. Katz 1 Finite state machine optimization State minimization  fewer.
1 Dynamic Programming Week #4. 2 Introduction Dynamic Programming (DP) –refers to a collection of algorithms –has a high computational complexity –assumes.
Timing Analysis Predicated on a topological ordering. l 1 = 1 level: l 2 = 1 x y x y z z c s g1g1 g4g4 g3g3 g2g2 g5g5 l 3 = 2 l 5 = 2 l 4 = 3.
The Analysis of Cyclic Circuits with Boolean Satisfiability John Backes, Brian Fett, and Marc Riedel Electrical Engineering, University of Minnesota.
Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500 million year old Trilobite)(novel construct)
Cyclic Combinational Circuits Theory Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million year old Trilobite)(novel.
Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback.
Cyclic Combinational Circuits and Other Novel Constructs Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million.
Logic Simulation 2 Outline –Timing Models –Simulation Algorithms Goal –Understand timing models –Understand simulation algorithms Reading –Gate-Level Simulation.
Timing Analysis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology IWLS, Temecula Creek, CA, June 4,
01/27/2005 Combinationality of cyclic definitions EECS 290A – Spring 2005 UC Berkeley.
Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x.
False Path. Timing analysis problems We want to determine the true critical paths of a circuit in order to: –To determine the minimum cycle time that.
Sneha.  Gates Gates  Characteristics of gates Characteristics of gates  Basic Gates Basic Gates  AND Gate AND Gate  OR gate OR gate  NOT gate NOT.
Timing Analysis Predicated on a topological ordering. l 1 = 1 level: l 2 = 1 x y x y z z c s g1g1 g4g4 g3g3 g2g2 g5g5 l 3 = 2 l 5 = 2 l 4 = 3.
1 P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at.
1 COMP541 Finite State Machines - 1 Montek Singh Sep 22, 2014.
1 SAT SAT: Given a Boolean function in CNF representation, is there a way to assign truth values to the variables so that the function evaluates to true?
1 COMP541 Sequential Logic – 2: Finite State Machines Montek Singh Feb 29, 2016.
Quantum Shift Register Circuits Mark M. Wilde arXiv: National Institute of Standards and Technology, Wednesday, June 10, 2009 To appear in Physical.
Data Structures and Algorithm Analysis Lecture 24
Homework Reading Machine Projects Labs
Dr.Ahmed Bayoumi Dr.Shady Elmashad
Digital-to-Analog Analog-to-Digital
Lab 08: SR Flip Flop Fundamentals:
Fixpoints and Reachability
Negative Numbers and Subtraction
L is in NP means: There is a language L’ in P and a polynomial p so that L1 ≤ L2 means: For some polynomial time computable map r :  x: x  L1 iff.
The Analysis of Cyclic Circuits with Boolean Satisfiability
Efficient Join Query Evaluation in a Parallel Database System
Theory of Computability
Overview Part 1 – Gate Circuits and Boolean Equations
COMP541 Sequential Logic – 2: Finite State Machines
Hard Problems Introduction to NP
CS231: Computer Architecture I
Summary Half-Adder Basic rules of binary addition are performed by a half adder, which has two binary inputs (A and B) and two binary outputs (Carry out.
Unit 18: Computational Thinking
Lecture 10 Sequential Circuit ATPG Time-Frame Expansion
Chapter 4: Using NP-Completeness to Analyze Subproblems
Digital Logic Structures Logic gates & Boolean logic
CSE Winter 2001 – Arithmetic Unit - 1
IV. Cyclic Codes.
3.4 Computer systems Boolean logic Lesson 2.
King Fahd University of Petroleum and Minerals
Arithmetic Circuits (Part I) Randy H
Steven Lindell Scott Weinstein
Great Theoretical Ideas in Computer Science
of the Artificial Neural Networks.
Introduction to Wiring Logic Gates
Logic Gates.
Research Status of Equivalence Checking at Zhejiang University
Resolution Proofs for Combinational Equivalence
CS231: Computer Architecture I
Sungho Kang Yonsei University
Binary Logic.
Theory of Computability
ECE 352 Digital System Fundamentals
CS231: Computer Architecture I
XOR Function Logic Symbol  Description  Truth Table 
Example: Verification
IV. Cyclic Codes.
ICS 353: Design and Analysis of Algorithms
EGR 2131 Unit 12 Synchronous Sequential Circuits
Chapter5: Synchronous Sequential Logic – Part 3
CSE 370 – Winter Sequential Logic-2 - 1
NULL SPACES, COLUMN SPACES, AND LINEAR TRANSFORMATIONS
332:437 Lecture 14 Turing Machines and State Machine Sequences
CS137: Electronic Design Automation
Presentation transcript:

“Definition” of Combinational Assign initial value of to all internal wires. Update gate outputs (i.e., change ) in any order. For each set of input values : 1 / ^® ^ Circuit is combinational iff values disappear from all wires for every set of input values. Strong Definition: ^ Circuit is combinational iff values disappear from all output wires for every set of input values. Weaker Definition: ^

Controlling Values ? 1 1 a “controlling” input 1 1 ? AND ? 1 AND a “controlling” input 1 1 1 AND ? full set of “non-controlling” inputs ? Recall that 0 is a controlling value for an AND gate. <click> If a single input is 0, the gate produces an output of 0 regardless of the other inputs. <click> Of course, given the full set of inputs, we know the output. <click> But given a strict subset of non-controlling input values, we do not know the output. Here ? is unknown value or possible indeterminate value. (It could be a voltage value between logical 0 and logical 1). In analogous way, 1 is a controlling value for an OR gate. For more complex gates, we may have combinations of input values that are “controlling”. unknown/undefined output

Analysis Functional analysis: determine if the circuit is combinational and if so, what values appear. Timing analysis: determine when the values appear. Transition: more than a theoretical curiosity, not a nuisance but an important optimization. Conviction: Most circuits can be optimized with cycles. General methodology. Significant optimizations.

Analysis Explicit analysis: 01 02 01 02 01 02 arrival times Transition: more than a theoretical curiosity, not a nuisance but an important optimization. Conviction: Most circuits can be optimized with cycles. General methodology. Significant optimizations. 01 02 01 02 01 02 arrival times Assume gates each have unit delay.

Analysis Explicit analysis: 1 1 01 01 02 11 01 01 02 02 03 01 02 04 1 1 Transition: more than a theoretical curiosity, not a nuisance but an important optimization. Conviction: Most circuits can be optimized with cycles. General methodology. Significant optimizations. 01 01 02 11 01 01 02 02 03 01 02 04

Analysis Þ Explicit analysis: 1 1 01 11 01 02 03 04 n inputs 1 1 Transition: more than a theoretical curiosity, not a nuisance but an important optimization. Conviction: Most circuits can be optimized with cycles. General methodology. Significant optimizations. 01 11 01 02 03 04 n inputs Þ combinations Exhaustive evaluation intractable.

Cyclic Combinational Circuits Example: 1 z 2 3 a b c Ù Ú Not combinational.

Cyclic Combinational Circuits Example: 1 1 Ù Ú Ù 1 z 2 z 3 z Not combinational.

Cyclic Combinational Circuits Example: 5.0 0.1 4.9 0.1 0.0 Ù Ú Ù 0.2 1 z 2 z 3 z Logical “1”: ≈ 5 volts Logical “0”: ≈ 0 volts

Cyclic Combinational Circuits Example: 5.0 0.1 4.9 0.1 0.0 Ù Ú Ù 0.1 1 z 2 z 3 z Logical “1”: ≈ 5 volts Logical “0”: ≈ 0 volts

Cyclic Combinational Circuits Example: 5.0 0.1 4.9 5.0 4.8 Ù Ú Ù 4.8 1 z 2 z 3 z Logical “1”: ≈ 5 volts Logical “0”: ≈ 0 volts

Cyclic Combinational Circuits Example: 5.0 0.1 4.9 5.0 4.8 Ù Ú Ù 4.9 1 z 2 z 3 z Logical “1”: ≈ 5 volts Logical “0”: ≈ 0 volts

Cyclic Combinational Circuits Example: 5.0 0.1 4.9 ? ? ? Ù Ú Ù 2.7 1 z 2 z 3 z Logical “1”: ≈ 5 volts Logical “0”: ≈ 0 volts

Cyclic Combinational Circuits Example: 1 z 2 3 a b c Ù Ú Not combinational.

Cyclic Combinational Circuits Example: 1 1 1 Ù Ú Ù 1 1 z 2 z 3 z Not combinational.

Cyclic Combinational Circuits Example: 1 1 1 Ù Ú Ù 1 z 2 z 3 z Not combinational.

Cyclic Combinational Circuits Example: 1 1 1 1 Ù Ú Ù 1 z 2 z 3 z Not combinational.

Cyclic Combinational Circuits Example: 1 1 1 Ù Ú Ù 1 z 2 z 3 z Not combinational.

Cyclic Combinational Circuits Example: 1 1 1 Ù Ú Ù 1 1 z 2 z 3 z Not combinational. (oscillates!)

Ternary-Valued Analysis Let wires assume values in { , 0, 1}. stands for unknown/indeterminate. 1 z 2 3 Ù Ú 2.7

Ternary-Valued Analysis Let wires assume values in { , 0, 1}. stands for unknown/indeterminate. 1 z 2 3 Ù Ú

Ternary-Valued Analysis AND gate: 1 x 2 G Ù 1 x ) , ( 2 G 1

Ternary-Valued Analysis OR gate: 1 x 2 G Ú 1 x 2 x ) , ( 2 1 x G 1 1 1 1 1 1 1 1 1 1 1

Ternary-Valued Analysis NOT gate: x G 1 x ( x) G 1

Ternary-Valued Analysis XOR gate: 1 x 2 G + 1 x ) , ( 2 G 1 1

Ternary-valued Logic In addition to {0, 1} allow a value for unknown/indeterminate. Gate properties: 1 1) not a pivotal input

Ternary-valued Logic In addition to {0, 1} allow a value for unknown/indeterminate. Gate properties: 1 1 1 1 1 1 1) not a pivotal input 2) an unknown output 1

Analysis of Cyclic Circuits Example Assign initial value of to all internal wires in circuit.

Analysis of Cyclic Circuits Example For specific input values, compute gate outputs.

Analysis of Cyclic Circuits Example 1 1 1 For specific input values, compute gate outputs.

Analysis of Cyclic Circuits Example 1 1 1 1 For specific input values, compute gate outputs.

Analysis of Cyclic Circuits Example 1 1 1 1 1 For specific input values, compute gate outputs.

Analysis of Cyclic Circuits Example 1 1 1 1 1 1 For specific input values, compute gate outputs.

Analysis of Cyclic Circuits Example 1 1 1 1 1 1 1 For specific input values, compute gate outputs.

Analysis of Cyclic Circuits For each set of input values : Assign initial value of to all internal wires. Update gate outputs in any order.

Analysis of Cyclic Circuits For each set of input values : Assign initial value of to all internal wires. Update gate outputs in any order. 1

Analysis of Cyclic Circuits For each set of input values : Assign initial value of to all internal wires. Update gate outputs in any order. 1

Analysis of Cyclic Circuits For each set of input values : Assign initial value of to all internal wires. Update gate outputs in any order. 1 1

Analysis of Cyclic Circuits For each set of input values : Assign initial value of to all internal wires. Update gate outputs in any order. Circuit is combinational iff all values disappear. Claim: 1 1 output cannot change 1

Analysis of Cyclic Circuits Example:

Analysis of Cyclic Circuits Example:

Analysis of Cyclic Circuits Example:

Analysis of Cyclic Circuits Example:

Analysis of Cyclic Circuits Example:

Analysis of Cyclic Circuits Example: 1

Analysis of Cyclic Circuits Example: 1 1

Analysis of Cyclic Circuits Example: 1 1 1 Combinational.

Analysis of Cyclic Circuits Example:

Analysis of Cyclic Circuits Example: Not combinational.

Related Work Malik (1994), Hsu, Sun and Du (1998), and Edwards (2003) considered analysis techniques for cyclic circuits. Their approach: identify equivalent acyclic circuits. inputs outputs cyclic circuit acyclic circuit Transition: Thrust of our work is to show that cyclic combinational circuits are not a theoretical curiosity. Most circuits can be optimized with cycles. General methodology. Significant optimizations. See DAC paper. minimum-cut feedback set Unravelling cyclic circuits this way is a difficult task.

Our Approach Perform event propagation, directly on a cyclic circuit. 10 00 16 inputs 10 outputs Transition: Thrust of our work is to show that cyclic combinational circuits are not a theoretical curiosity. Most circuits can be optimized with cycles. General methodology. Significant optimizations. See DAC paper. 13 10 00

Our Approach Perform event propagation, directly on a cyclic circuit. Compute events symbolically, with BDDs. [x]0 [a]0 cyclic circuit f1=[b(a+x(c+d))]6 [b]0 Transition: Thrust of our work is to show that cyclic combinational circuits are not a theoretical curiosity. Most circuits can be optimized with cycles. General methodology. Significant optimizations. See DAC paper. f2=[d+c(x+ba))]6 [c]0 [d]0

Analysis of Cyclic Circuits Example 1 1 1 1 1 1 For specific input values, compute gate outputs.

Analysis of Cyclic Circuits Example 1 1 1 1 1 1 1 For specific input values, compute gate outputs.

Analysis of Cyclic Circuits For each set of input values : Assign initial value of to all internal wires. Update gate outputs in any order.

Analysis of Cyclic Circuits For each set of input values : Assign initial value of to all internal wires. Update gate outputs in any order. 1

Analysis of Cyclic Circuits For each set of input values : Assign initial value of to all internal wires. Update gate outputs in any order. 1

Analysis of Cyclic Circuits For each set of input values : Assign initial value of to all internal wires. Update gate outputs in any order. 1 1

Analysis of Cyclic Circuits For each set of input values : Assign initial value of to all internal wires. Update gate outputs in any order. Circuit is combinational iff all values disappear. Claim: 1 1 output cannot change 1

Analysis of Cyclic Circuits Example:

Analysis of Cyclic Circuits Example:

Analysis of Cyclic Circuits Example:

Analysis of Cyclic Circuits Example:

Analysis of Cyclic Circuits Example:

Analysis of Cyclic Circuits Example: 1

Analysis of Cyclic Circuits Example: 1 1

Analysis of Cyclic Circuits Example: 1 1 1 Combinational.

Analysis of Cyclic Circuits Example:

Analysis of Cyclic Circuits Example: Not combinational.

Related Work Malik (1994), Hsu, Sun and Du (1998), and Edwards (2003) considered analysis techniques for cyclic circuits. Their approach: identify equivalent acyclic circuits. inputs outputs cyclic circuit acyclic circuit Transition: Thrust of our work is to show that cyclic combinational circuits are not a theoretical curiosity. Most circuits can be optimized with cycles. General methodology. Significant optimizations. See DAC paper. minimum-cut feedback set Unravelling cyclic circuits this way is a difficult task.

Our Approach Perform event propagation, directly on a cyclic circuit. 10 00 16 inputs 10 outputs Transition: Thrust of our work is to show that cyclic combinational circuits are not a theoretical curiosity. Most circuits can be optimized with cycles. General methodology. Significant optimizations. See DAC paper. 13 10 00

Our Approach Perform event propagation, directly on a cyclic circuit. Compute events symbolically, with BDDs. [x]0 [a]0 cyclic circuit f1=[b(a+x(c+d))]6 [b]0 Transition: Thrust of our work is to show that cyclic combinational circuits are not a theoretical curiosity. Most circuits can be optimized with cycles. General methodology. Significant optimizations. See DAC paper. f2=[d+c(x+ba))]6 [c]0 [d]0

Analysis Functional analysis: determine if the circuit is combinational and if so, what values appear. Timing analysis: determine when the values appear. Contributions: Symbolic algorithm based on Binary Decision Diagrams. Optimizations based on topology (“first-cut” method). Transition: more than a theoretical curiosity, not a nuisance but an important optimization. Conviction: Most circuits can be optimized with cycles. General methodology. Significant optimizations.

Analysis Explicit analysis: 01 02 01 02 01 02 arrival times Transition: more than a theoretical curiosity, not a nuisance but an important optimization. Conviction: Most circuits can be optimized with cycles. General methodology. Significant optimizations. 01 02 01 02 01 02 arrival times Assume gates each have unit delay.

Analysis Explicit analysis: 1 1 01 01 02 11 01 01 02 02 03 01 02 04 1 1 Transition: more than a theoretical curiosity, not a nuisance but an important optimization. Conviction: Most circuits can be optimized with cycles. General methodology. Significant optimizations. 01 01 02 11 01 01 02 02 03 01 02 04

Analysis Þ Explicit analysis: 1 1 01 11 01 02 03 04 n inputs 1 1 Transition: more than a theoretical curiosity, not a nuisance but an important optimization. Conviction: Most circuits can be optimized with cycles. General methodology. Significant optimizations. 01 11 01 02 03 04 n inputs Þ combinations Exhaustive evaluation intractable.

Analysis Symbolic analysis: 01 : 12 : similarly for 03 : 14 : Transition: more than a theoretical curiosity, not a nuisance but an important optimization. Conviction: Most circuits can be optimized with cycles. General methodology. Significant optimizations. 01 : 12 : similarly for 03 : 14 :

Analysis Symbolic analysis: 01 evaluates to 0 02 11 evaluates to 1 12 Transition: more than a theoretical curiosity, not a nuisance but an important optimization. Conviction: Most circuits can be optimized with cycles. General methodology. Significant optimizations. 12 undefined

Analysis Symbolic analysis: 01-7 evaluates to 0 08-28 11-10 Transition: more than a theoretical curiosity, not a nuisance but an important optimization. Conviction: Most circuits can be optimized with cycles. General methodology. Significant optimizations. 111-21 undefined range of values

Fixed-Point Theorem Let wires assume values in { , 0, 1}. stands for unknown/indeterminate. Define a partial ordering, and 1 Extend ordering to state vectors, co-ordinate-wise: for and , ] , [ 1 n y Y K = x X iff i n x 1 = " y X Y

Fixed-Point Theorem State Space (Lattice) 1 [ , , ] ^ [ , , ] ^ 1 Finite. Only make changes.

Fixed-Point Theorem Reacheable States (example) [ , , ] ^ 1

Fixed-Point Theorem Reacheable States (example) [ , , ] 1 [ , , ] [ , , ] 1 [ , , ] [ , , ] 1 ^ ^ [ , , ] ^ 1 [ , , ] ^ ^ [ , , ] ^ 1 ^ [ , , ] ^ ^ [ , , ] ^ ^ ^

Fixed-Point Theorem Define the join of and as the lowest point above both. ] , [ 1 n y Y K = x X Claim: If X and Y are reacheable, then their join is reacheable. Assert: Final state is same regardless of order of updates (so-called “fixed-point”).