a b v a v b v c v = a d + bd +c d +ae r = p + a 0 s = r + b 0 4 ac + ad + bc + bd + e 5 = a + b = q 0 c + qc 0 + qc (a) s v (b)

Similar documents
MULTIPLE-LEVEL LOGIC OPTIMIZATION II

(a) v 1. v a. v i. v s. (b)

Fundamental Algorithms for System Modeling, Analysis, and Optimization

12. Traffic engineering

12/3/12. Outline. Part 10. Graphs. Circuits. Euler paths/circuits. Euler s bridge problem (Bridges of Konigsberg Problem)

5/9/13. Part 10. Graphs. Outline. Circuits. Introduction Terminology Implementing Graphs

Paths. Connectivity. Euler and Hamilton Paths. Planar graphs.

Constructive Geometric Constraint Solving

A Simple Code Generator. Code generation Algorithm. Register and Address Descriptors. Example 3/31/2008. Code Generation

A Differential Approach to Inference in Bayesian Networks

Outline. Circuits. Euler paths/circuits 4/25/12. Part 10. Graphs. Euler s bridge problem (Bridges of Konigsberg Problem)

50 AMC Lectures Problem Book 2 (36) Substitution Method

Why the Junction Tree Algorithm? The Junction Tree Algorithm. Clique Potential Representation. Overview. Chris Williams 1.

Math 61 : Discrete Structures Final Exam Instructor: Ciprian Manolescu. You have 180 minutes.

b. How many ternary words of length 23 with eight 0 s, nine 1 s and six 2 s?

Computational Biology, Phylogenetic Trees. Consensus methods

An undirected graph G = (V, E) V a set of vertices E a set of unordered edges (v,w) where v, w in V

S i m p l i f y i n g A l g e b r a SIMPLIFYING ALGEBRA.

Graphs. CSC 1300 Discrete Structures Villanova University. Villanova CSC Dr Papalaskari

CSC Design and Analysis of Algorithms. Example: Change-Making Problem

CSE 373: More on graphs; DFS and BFS. Michael Lee Wednesday, Feb 14, 2018

A Primer on Continuous-time Economic Dynamics

Integration Continued. Integration by Parts Solving Definite Integrals: Area Under a Curve Improper Integrals

Design Optimization Based on Diagnosis Techniques

Problem solving by search

A Low Noise and Reliable CMOS I/O Buffer for Mixed Low Voltage Applications

temporally share the same FPGA Large circuit PI s micro-cycle one user cycle PO s

Multipoint Alternate Marking method for passive and hybrid performance monitoring

Graphs. Graphs. Graphs: Basic Terminology. Directed Graphs. Dr Papalaskari 1

Case Study VI Answers PHA 5127 Fall 2006

Similarity Search. The Binary Branch Distance. Nikolaus Augsten.

QUESTIONS BEGIN HERE!

CSE 373: AVL trees. Warmup: Warmup. Interlude: Exploring the balance invariant. AVL Trees: Invariants. AVL tree invariants review

Cycles and Simple Cycles. Paths and Simple Paths. Trees. Problem: There is No Completely Standard Terminology!

Outline. Computer Science 331. Computation of Min-Cost Spanning Trees. Costs of Spanning Trees in Weighted Graphs

, each of which is a tree, and whose roots r 1. , respectively, are children of r. Data Structures & File Management

5/1/2018. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees

V={A,B,C,D,E} E={ (A,D),(A,E),(B,D), (B,E),(C,D),(C,E)}

V={A,B,C,D,E} E={ (A,D),(A,E),(B,D), (B,E),(C,D),(C,E)}

Outline. 1 Introduction. 2 Min-Cost Spanning Trees. 4 Example

Algorithmic and NP-Completeness Aspects of a Total Lict Domination Number of a Graph

Improving Union. Implementation. Union-by-size Code. Union-by-Size Find Analysis. Path Compression! Improving Find find(e)

4.1 Interval Scheduling. Chapter 4. Greedy Algorithms. Interval Scheduling: Greedy Algorithms. Interval Scheduling. Interval scheduling.

Announcements. Not graphs. These are Graphs. Applications of Graphs. Graph Definitions. Graphs & Graph Algorithms. A6 released today: Risk

ECE COMBINATIONAL BUILDING BLOCKS - INVEST 13 DECODERS AND ENCODERS

ECE 407 Computer Aided Design for Electronic Systems. Circuit Modeling and Basic Graph Concepts/Algorithms. Instructor: Maria K. Michael.

Present state Next state Q + M N

A Graph-Based Synthesis Algorithm for AND/XOR Networks 1. Yibin Ye Kaushik Roy. a minimum ESOP of a function except for those with

Module graph.py. 1 Introduction. 2 Graph basics. 3 Module graph.py. 3.1 Objects. CS 231 Naomi Nishimura

Section 10.4 Connectivity (up to paths and isomorphism, not including)

CIVL 8/ D Boundary Value Problems - Rectangular Elements 1/7

GRAND PLAN. Visualizing Quaternions. I: Fundamentals of Quaternions. Andrew J. Hanson. II: Visualizing Quaternion Geometry. III: Quaternion Frames

Register Allocation. Register Allocation. Principle Phases. Principle Phases. Example: Build. Spills 11/14/2012

Data Structures LECTURE 10. Huffman coding. Example. Coding: problem definition

35 th Design Automation Conference Copyright 1998 ACM

Garnir Polynomial and their Properties

EE1000 Project 4 Digital Volt Meter

CS200: Graphs. Graphs. Directed Graphs. Graphs/Networks Around Us. What can this represent? Sometimes we want to represent directionality:

Edge-Triggered D Flip-flop. Formal Analysis. Fundamental-Mode Sequential Circuits. D latch: How do flip-flops work?

1 Introduction to Modulo 7 Arithmetic

Section 3: Antiderivatives of Formulas

GREEDY TECHNIQUE. Greedy method vs. Dynamic programming method:

Modeling with first order equations (Sect. 2.3).

Logarithms. Secondary Mathematics 3 Page 164 Jordan School District

8Algebraic UNCORRECTED SAMPLE PAGES. techniques. What you will learn. Australian curriculum. Chapter 8A 8B 8C 8D 8E 8F

Partitioning Algorithms. UCLA Department of Computer Science, Los Angeles, CA y Cadence Design Systems, Inc., San Jose, CA 95134

CSE 373. Graphs 1: Concepts, Depth/Breadth-First Search reading: Weiss Ch. 9. slides created by Marty Stepp

Using the Printable Sticker Function. Using the Edit Screen. Computer. Tablet. ScanNCutCanvas

Applications of Definite Integral

Applications of Definite Integral

Section 2.3. Matrix Inverses

Planar Upward Drawings

Weighted graphs -- reminder. Data Structures LECTURE 15. Shortest paths algorithms. Example: weighted graph. Two basic properties of shortest paths

CS553 Lecture Register Allocation 1

Nefertiti. Echoes of. Regal components evoke visions of the past MULTIPLE STITCHES. designed by Helena Tang-Lim

Exact Template Matching Using Boolean Satisfiability

COMP108 Algorithmic Foundations

5/7/13. Part 10. Graphs. Theorem Theorem Graphs Describing Precedence. Outline. Theorem 10-1: The Handshaking Theorem

CS September 2018

Unit 4. Combinational Circuits

1. Intrinsic Mathcad Functions

Floating Point Number System -(1.3)

Floating Point Number System -(1.3)

(2) If we multiplied a row of B by λ, then the value is also multiplied by λ(here lambda could be 0). namely

CS61B Lecture #33. Administrivia: Autograder will run this evening. Today s Readings: Graph Structures: DSIJ, Chapter 12

Boolean Function Representation Based on Disjoint-Support Decompositions.

I 3 2 = I I 4 = 2A

WORKSHOP 6 BRIDGE TRUSS

Walk Like a Mathematician Learning Task:

# 1 ' 10 ' 100. Decimal point = 4 hundred. = 6 tens (or sixty) = 5 ones (or five) = 2 tenths. = 7 hundredths.

MAT3707. Tutorial letter 201/1/2017 DISCRETE MATHEMATICS: COMBINATORICS. Semester 1. Department of Mathematical Sciences MAT3707/201/1/2017

MCH T 111 Handout Triangle Review Page 1 of 3

XML and Databases. Outline. Recall: Top-Down Evaluation of Simple Paths. Recall: Top-Down Evaluation of Simple Paths. Sebastian Maneth NICTA and UNSW

Connectivity in Graphs. CS311H: Discrete Mathematics. Graph Theory II. Example. Paths. Connectedness. Example

Implication Graphs and Logic Testing

Announcements. These are Graphs. This is not a Graph. Graph Definitions. Applications of Graphs. Graphs & Graph Algorithms

SOLVED EXAMPLES. be the foci of an ellipse with eccentricity e. For any point P on the ellipse, prove that. tan

Seven-Segment Display Driver

m2 m3 m1 (a) (b) (c) n2 n3

A general N-dimensional vector consists of N values. They can be arranged as a column or a row and can be real or complex.

Transcription:

Outlin MULTIPLE-LEVEL LOGIC OPTIMIZATION Gionni D Mihli Stnfor Unirsit Rprsnttions. Tonom of optimition mthos: { Gols: r/l. { Algorithms: lgri/booln. { Rul-s mthos. Empls of trnsformtions. Booln n lgri mols. Motition Ciruit moling Multipl-ll ntorks: Logi ntork: { Smi-ustom lirris. { Gts rsus mros (PLAs): Mor iilit. Bttr prformn. Applil to rit of signs. { Intronntion of logi funtions. { Hri struturl/hiorl mol. Boun (mpp) ntorks: { Intronntion of logi gts. { Struturl mol.

Empl of oun ntork p p q q p q Empl of ntork = + = + r = p + 0 s = r + 0 t u = + + + + = q 0 + q 0 + q = 0 + + 0 + 0 = = s = t = u Empl of ntork = + + + Empl iruit trminl hior p =+ r = p + s = r + t = + + + + q = + u = q + q + q f = 2 3 0 + + 0 + 0 6 0 + 0 + + 7 4 + + + + 5 + + () p t q r u s ()

Ntork optimition Estimtion Minimi r (por) stimt: { sujt to l onstrints. Minimi mimum l: { sujt to r (por) onstrints. Mimi tstilit. Minimi por. Ar: { Numr of litrls. { Numr of funtions/gts. Dl: { Numr of stgs. { Rn gt l mols. { Snsitil pths. Prolm nlsis Multipl-ll optimition is hr. Et mthos: { Eponntil omplit. { Imprtil. Approimt mthos: { Huristi lgorithms. { Rul-s mthos. Strtgis for optimition Impro iruit stp stp. { Ciruit trnsformtions. Prsr ntork hior. Mthos ir in: { Tps of trnsformtions. { Sltion n orr of trnsformtions.

Empl limintion Empl limintion = + + + Elimint on funtion from th ntork. p =+ r = p + s = r + Prform ril sustitution. t = + + + + q = + u = q + q + q Empl: { s = r + 0 r = p + 0 = + + + { ) s = p + 0 + 0. p =+ s = p + + t = + + + + q = + u = q + q + q Empl omposition Empl omposition Brk on funtion into smllr ons. = + + + p =+ r = p + s = r + Introu n rtis in th ntork. t = + + + + q = + u = q + q + q Empl: { = 0 + + 0 + 0. j = ++ p =+ = j + r = p + s = r + { ) j = 0 + + 0 = j + 0 t = + + + + q = + u = q +

Empl trtion Empl trtion Fin ommon su-prssion of to (or mor) prssions. = + + + Etrt su-prssion s n funtion. Introu n rt in th ntork. p =+ r = p + s = r + t = + + + + q = + u = q + q + q Empl: = + + + { p = + t = + + + + { p = ( + ) t = ( + )( + ) + { ) k = + p = k t = k + k + p = k r = p + s = r + k = + t = k + k + q = + u = q + q + q Empl simplition Empl simplition Simplif lol funtion. = + + + p =+ r = p + s = r + Empl: { u = q 0 + q 0 + q t = + + + + q = + u = q + q + q { ) u = q + = + + + p =+ r = p + s = r + t = + + + + q = + u = q +

Empl sustitution Empl sustitution Simplif lol funtion using n itionl input tht s not priousl in its support st. Empl: = + + + p = k r = p + s = r + k = + t = k + k + q = + u = q + q + q { t = k + k +. = + + + { ) t = kq + p = k r = p + s = r + { Bus q = +. k = + q = + t = kq + u = q + q + q Empl squn of trnsformtions j = 0 + + 0 k = + q = + s = k + 0 + 0 t = kq + u = q + = j + 0 Optimition pprohs Algorithmi pproh: { Dn n lgorithm for h trnsformtion tp. j = ++ = j + s = k + + { Algorithm is n oprtor on th ntork. k = + q = + t = kq + u = q + Rul-s pproh: { Rul-t s: St of pttrn pirs. { Pttrn rplmnt rin ruls.

Algorithmi pproh Eh oprtor hs ll-n proprtis: { Huristi mthos still us. { Wk optimlit proprtis. Squn of oprtors: { Dn sripts. Empl limintion lgorithm St thrshol k (usull 0). Emin ll prssions. Elimint prssions if th inrs in litrls os not th thrshol. { Bs on prin. Empl limintion lgorithm ELIMINAT E( G n (V E), k)f rpt f = slt rt ith lu < k if ( = ) rturn rpl f in th ntork g g sp limint -1 simplif -m noomp limint -1 sp limint 5 simplif -m noomp rsu - Empl MIS/SIS rugg sript f rsu - sp limint -1 sp full-simplif -m noomp

Booln n lgri mthos Empl Booln mthos: { Eploit proprtis of logi funtions. { Us on't r onitions. Booln sustitution: { h = + + q = + { ) h = + q + { Compl t tims. Algri mthos: { Vi funtions s polnomils. { Eploit proprtis of polnomil lgr. { Simplr, fstr ut kr. { Bus + q + = + ( + ) + = = + +. Algri sustitution: { t = k + k +. { ) t = kq + { Bus q = +. Summr Multill logi snthsis is prform stp-is trnsformtions. Algorithms r s on oth th Booln n th lgri mols. Rul-s sstms.