Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b

Slides:



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

Glitches & Hazards.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Logic synthesis. n Placement and routing.
Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500 million year old Trilobite)(novel construct)
ECE 667 Synthesis and Verification of Digital Systems
ECE 331 – Digital System Design
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
Cyclic Combinational Circuits: Analysis for Synthesis Marc D. Riedel and Jehoshua Bruck California Institute of Technology.
The Synthesis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology {riedel,
Technology Mapping.
Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 11, 2008 Static Timing Analysis and Multi-Level Speedup.
DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
1 CSC 6001 VLSI CAD (Physical Design) January
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect19: Multi Level Logic Minimization.
Technical University Tallinn, ESTONIA 1 Faults in Circuits and Fault Diagnosis 0110 T FaultF 5 located Fault table Test experiment Test generation.
Linear Programming Erasmus Mobility Program (24Apr2012) Pollack Mihály Engineering Faculty (PMMK) University of Pécs João Miranda
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
Digital Logic Design (CSNB163)
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500 million year old Trilobite)(novel construct)
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.
ECE 301 – Digital Electronics Logic Circuit Design (Lecture #9)
TOPIC : Fault detection and fault redundancy UNIT 2 : Fault modeling Module 2.3 Fault redundancy and Fault collapsing.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 4, 2011 Static Timing Analysis and Multi-Level Speedup.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
Digital Logic Design. Truth Table  Logic Circuit 1. Start with truth table 2. When your output is a 1, figure out the combination of inputs, ANDs, and.
Boolean Algebra & Logic Gates
SLIDES FOR CHAPTER 7 MULTI-LEVEL GATE CIRCUITS NAND AND NOR GATES
Computer Science 210 Computer Organization
The Analysis of Cyclic Circuits with Boolean Satisfiability
The minimum cost flow problem
Combinational Logic Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables, logic gates,
Logic and Computer Design Fundamentals
Boolean Expressions Lecture No. 10.
Delay Optimization using SOP Balancing
TN 221: DIGITAL ELECTRONICS 1
Optimized Implementation of Logic Function
CS137: Electronic Design Automation
Logic Synthesis CNF Satisfiability.
ESE535: Electronic Design Automation
Alan Mishchenko Satrajit Chatterjee Robert Brayton UC Berkeley
Karnaugh Maps (K-Maps)
Reconfigurable Computing
A Boolean Paradigm in Multi-Valued Logic Synthesis
SAT-Based Area Recovery in Technology Mapping
SAT-Based Optimization with Don’t-Cares Revisited
CSE 370 – Winter Combinational Implementation - 1
Reading: Hambley Ch. 7 through 7.5
Topics Logic synthesis. Placement and routing..
Optimized Implementation of Logic Function
ECE 667 Synthesis and Verification of Digital Systems
COMS 361 Computer Organization
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow
Synthesis and Verification of Finite State Machines
Overview Part 2 – Circuit Optimization
Improvements in FPGA Technology Mapping
Heuristic Minimization of Two Level Circuits
Technology Mapping I based on tree covering
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
Delay Optimization using SOP Balancing
Example: Verification
Canonical Computation without Canonical Data Structure
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow
SAT-based Methods: Logic Synthesis and Technology Mapping
7 The Mathematics of Networks
CS137: Electronic Design Automation
Presentation transcript:

Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b d c b a h g f e inputs outputs 0 0 0 0 3 0 0 1 1 1 0 0 0 1 2 0 0 1 0 4 0 1 0 0 5 0 1 0 1 9 1 0 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 15 1 1 1 1 p Circuit a e b f c g d h Illustrate concepts with a simple example. Inputs, outputs, target functions. h g f e ) ( d c b a cd + = )) ac bc

Example: Digits of p h Multilevel acyclic network: h g f e = b d a h g + g ) ( g de a d + ) ( d a b c h + e Usual approach: enforce a partial ordering. Result is a multi-level acyclic network (as obtained with Berkeley SIS simplify command.) ) ( d c b a cd + Cost: 33 (literal count) f

Example: Digits of p e g h f Multilevel cyclic network: h g f e = ) ( b h d c a f + ) ( bc d b a g + ) ( c b d a e h + ) ( cd d c a f + Drop the requirement of a partial ordering. Generally lower cost, since every function can potentially benefit from work done elsewhere. Cyclic network: how do we ascertain if it is combinational? Cost: 31 (literal count) Is it combinational?

Example: Digits of p e g h f Inputs d,c,b,a = [0,0,0,0]: h g f e = ) ( + = 1 = 1 ) ( bc d b a g + = g = 1 ) ( c b d a e h + = 0 = 0 ) ( cd d c a f + = 0 = 0 Try specific input assignments. In each case, cyclic dependencies disappear and outputs are well-defined. Outputs h,g,f,e = [0,0,1,1] (3 is the first digit of p )

Example: Digits of p e g h f Inputs d,c,b,a = [1,1,1,1]: h g f e = ) ( + = + h f = 1 ) ( bc d b a g + = 1 = 1 ) ( c b d a e h + = h e = 0 ) ( cd d c a f + = f = 0 Outputs h,g,f,e = [0,0,1,1] (3 is the 16th digit of p )

Analysis e g h f There are cycles in a topological sense, but none are sensitized in an electrical sense.

Analysis e Timing Analysis: find the length of sensitized paths. ? Combinationality Analysis: ensure that there are no sensitized cycles. Functional timing analysis: find the lengths of sensitized paths. Combinationality analysis: ensure that no sensitized paths bite their own tail.

Synthesis Goal: optimize a multi-level network representation. Strategy: introduce cycles in the substitute/minimize step. network N1 network N2 h ) ( d c b a cd + = g )) ac f bc e ) ( cd d c a f + h = b e g bc Multi-level logic synthesis: obtain the best multi-layer, structured representation (technology independent phase). Substitute/minimize operation: express or re-express a function in terms of other functions. Generate candidate networks. Cost 40 (literal count) Cost 31 (literal count)

Analysis Novel algorithm based on a “first-cut” approach. e Observation: for each input assignment, in every strongly-connected component at least one node must be fully defined independently of the others. g We propose a new method for analysis, with advantages in the context of synthesis. Recursive formulation, based on a “first-cut” approach. f h

Marginal Given a node function e g h f ) , ( Y X F the marginal Y F ¯ specifies, in terms of X, when F is fully defined independently of Y. Marginal: Specifies when a function does not depend on variables. Dual of boolean difference. X: primary input variables Y: internal variables

Marginal For example, consider e g h f ) ( b h d c a f + e = Suppose : = b ) ( 1 h d c a f + e = = 1

Marginal For example, consider e g h f ) ( b h d c a f + e = Suppose : = d c a 0) ( b h f + e = = b

Marginal For example, consider e g h f ) ( b h d c a f + e = For input assignments that satisfy b d c a h f e + = ¯ ) , ( e is fully defined, independently of f, h. The marginal can be computed efficiently (with BDD’s)

Analysis e First-Cut Analysis: Cut each node from the network, g h f First-Cut Analysis: Cut each node from the network, and apply the algorithm recursively.

Analysis Necessary condition: e g h f Either h f e ¯ ) , ( or g f ¯ h

Analysis Necessary and sufficient condition: e g h f Either h f e ¯ ) , ( and is combinational or g f ¯ and is combinational h e g ¯ ) , ( or and is combinational or f h ¯ and is combinational

Analysis for Synthesis Advantage of Recursive Formulation: Attack problem by breaking network into components. 3 N 2 1 Optimal local solution (subject to constraints) is part of optimal global solution (subject to constraints).

Analysis for Synthesis Exclude non-combinational components. e h f g Design f, g component: f = ) ( g de a h + g = ) ( c b e a f h + Not combinational. Exclude all solutions with this component.

Analysis for Synthesis Cache combinational components. e Design e, f, g component: ) ( c b d a e h + bc g f = f g h Combinational. Focus on h.

Analysis for Synthesis Cache combinational components. e ? Design e, f, g component: ) ( c b d a e h + bc g f = f g h Combinational. Focus on h.

Analysis for Synthesis Cache combinational components. e ? Design e, f, g component: ) ( c b d a e h + bc g f = f g h Combinational. Focus on h.

Analysis for Synthesis Cache combinational components. e ? Design e, f, g component: ) ( c b d a e h + bc g f = f g h Combinational. Focus on h.

Analysis for Synthesis Cache combinational components. e ? Design e, f, g component: ) ( c b d a e h + bc g f = f g h Combinational. Focus on h.

Analysis for Synthesis Cache combinational components. e ? Design e, f, g component: ) ( c b d a e h + bc g f = f ) ( cd d c a f + h = g h Combinational. Combinational. Focus on h.