Automated Synthesis and Optimization of Multilevel Logic Circuits

Total Page:16

File Type:pdf, Size:1020Kb

Automated Synthesis and Optimization of Multilevel Logic Circuits Automated Synthesis and Optimization of Multilevel Logic Circuits by Lingli Wang © Copyright by Lingli Wang 2000 A thesis presented in partial fulfilment of the requirements for the degree of Doctor of Philosophy Napier University School of Engineering 2000 Declaration I declare that no portion of the work referred to in this thesis has been submitted in support of an application of another degree, qualification or other academic awards of this or any other university or institution of learning. Lingli Wang 11 Acknow ledgements I am deeply indebted to my research supervisor, Professor A. E. A. Almaini, School of Engineering, Napier University, for his constant guidance, encouragement, friendship, and interest to all that I did during this research. I am grateful to Professor Almaini for taking his precious time to provide regular comments and invaluable suggestions. Many ideas of this thesis were produced during our weekly meetings. He also taught me patiently the proper style of scientific writing in English and corrected my research papers and this thesis. I would like to thank Mr Alex Bystrov, a former member of the digital techniques group, for his essential support to help me learn Linux operating system and GNU C language programming environment when I started this research. Thanks are due to other members of the digital techniques group, especially Mr Yinshui Xia and Mr Belgasem Ali, for their enjoyable working environment and various discussions. I would like to thank our technician, Mr Jay Hoy for his kindly support to install Linux operating system. This project was funded by the School of Engineering (formerly the Department of Electrical, Electronic and Computing Engineering), Napier University, Edinburgh. This support is gratefully acknowledged. Finally, I would like to thank my wife, Xiaowen Zhong, for her everlasting love, under­ standing and patience throughout my research work. III Contents List of Abbreviations vi List of Figures IX List of Tables Xl Abstract xii 1 Introduction 1 1.1 A historic perspective of logic design . 1 1.2 VLSI chip design methodology based on logic synthesis . 4 1.3 Two-Level versus multilevel logic synthesis ..... 7 1.4 Reed-Muller logic based on AND /XOR operations 8 1.5 Structure of this thesis . 10 2 Conventional Multilevel Logic Synthesis 12 2.1 Algorithmic approach 12 2.2 Rule-Based approach 15 2.3 BDD approach . 16 2.4 FPGA approach 18 2.5 Several other approaches based on perturbation 20 3 Multilevel Logic Minimization Using Functional Don't Cares 22 3.1 Introduction ............. 22 3.2 Multilevel Karnaugh map technique 23 3.3 Multilevel logic synthesis for large Boolean functions 29 3.4 Experimental results 38 3.5 Summary ... 40 4 Multilevel Minimization for Multiple Output Logic Functions 41 4.1 Introduction............. 41 4.2 Review of Functional Don't Cares. 41 4.3 Simplification for single output functions 44 4.4 Multilevel minimization for multiple output functions. 46 IV 4.5 Experimental results 49 4.6 Summary . 50 5 Polarity Conversion for Single Output Boolean Functions 51 5.1 Introduction ........... 51 5.2 Basic definitions and terminology 51 5.3 Conversion of the coefficients with zero polarity 53 5.4 Conversion of the coefficients with a fixed polarity 56 5.5 Conversion algorithm for large Boolean functions 61 5.6 Algorithm and experimental results. 65 5.7 Summary .............. 70 6 Conversion Algorithm for Very Large Multiple Output Functions 71 6.1 Introduction. 71 6.2 Algorithm.. 74 6.3 Experimental Results. 76 6.4 Summary ...... 77 7 Exact Minimization of Fixed Polarity Reed-Muller Expressions 78 7.1 Introduction. 78 7.2 Background . 79 7.3 Properties of the polarities for SOP and FPRM expressions 83 7.4 Best polarity for single output functions .. 93 7.5 Best polarity for multiple output functions. 95 7.6 Experimental results 98 7.7 Summary ..... 99 8 Optimization of Reed-Muller PLA Implementations 101 8.1 Introduction ............. 101 8.2 Review of the decomposition method 103 8.3 Improved decomposition method for large single output functions 106 8.4 Generalization to multiple output functions 116 8.5 Experimental results 122 8.6 Summary ..... 123 9 Conclusions and Future Work 125 Publications 128 References and Bibliography 129 Disk Containing the Software 141 v List of Abbreviations ASIC Application Specific Integrated Circuit ATPG Automatic Test Pattern Generation BDD Binary Decision Diagram BDP Binary Decision Program BLIF Berkeley Logic Interchange Format CAD Computer Aided Design CLB Configurable Logic Block CNF Conjunction Normal Form CMOS Complementary Metal-Oxide-Semiconductor CPU Central Process Unit DAG Directed Acyclic Graph DC Don't Care DD Decision Diagram DNF Disjoint Normal Form EDA Electronic Design Automation EDIF Electronic Design Interchange Format ESOP Exclusive Sum-Of-Products EXOR(XOR) EXclusive OR operation FDD Functional Decision Diagram FPGA Field Programmable Gate Array FPLA Field Programmable Logic Array FPRM Fixed Polarity Reed-Muller GA Genetic Algorithm VI List of Abbreviations GCC GNU Compiler Collection GDB GNU DeBugger HDL Hardware Description Language IC Integrated Circuit IWLS International Workshop on Logic Synthesis KISS Keep Internal State Simple LSB Least Significant Bit LUT Look-Up Table MCNC Microelectronics Center North Carolina MIS Multilevel logic optimization system developed at Berkeley MPGA Mask Programmable Gate Array MSB Most Significant Bit MUX Multiplexer NP Nondeterministic Polynomial, Non-Polynomial NRE N on-Recurring Engineering OBDD Ordered Boolean Decision Diagram ODC Observability Don't Care OFDD Ordered Functional Decision Diagram OVAG Output Value Array Graph P &R Placement & Routing PLA Programmable Logic Array PLD Programmable Logic Device PROM Programmable Read-Only Memory PPRM Positive Polarity Reed-Muller RMPLA Reed-Muller Programmable Logic Array ROBDD Reduced Ordered Binary Decision Diagram Vll List of Abbreviations RTL Register and Transfer Level SCRL Split-level Charge Recovery Logic SDC Satisfiability Don't Care SIS Sequential Interactive System SLIF Stanford Logic Interchange Format SOC System-On-Chip SOP Sum-Of-Products SRAM Static Random Access Memory VHDL Very large scale Hardware Description Language VLSI Very Large Scale Integration XNF Xilinx Net-list Format Vlll List of Figures 1.1 Classical symbols for contacts 2 1.2 Moore's law the growth of Intel microprocessors 3 1.3 Historic perspective of logic design 4 1.4 A VLSI design model. 5 1.5 An ASIC chip design flow ..... 6 1.6 Comparison between two-level and multilevel structures 8 1. 7 Structure of this thesis . 11 2.1 DAG representation of a combinational Boolean network 13 2.2 A circuit pattern and its replacement ......... 15 2.3 BDD representation of the Boolean function in example 2.1 17 2.4 Logic circuit from fig.2.3(b) ........... 18 2.5 Typical FPGA architecture ........... 19 2.6 Different partitions for the same Boolean network 20 3.1 Comparison between two-level and multilevel K-map methods 26 3.2 Multilevel K-map method for an incompletely specified function. 29 3.3 Two examples for definition 3.3 30 3.4 Examples of theorem 3.3 ... 33 3.5 An example of procedure 3.2 38 4.1 Explanation of the functional DCs 43 4.2 Example of functional DCs 44 4.3 Results of ryy6 with 16 inputs. 46 4.4 Simplification of Boolean relation 48 5.1 Bidirectional conversion between SOP and FPRM forms 60 5.2 Conversion algorithm using multiple segment technique. 65 5.3 Bidirectional conversion algorithm for large Boolean functions 67 5.4 CPU Time versus the number of on-set coefficients for conversion 69 5.5 CPU time for parity function conversions 70 IX List of Figures 6.1 Functional decision diagrams for f = X2 EB XIXO EB X3X2XIXO 73 6.2 An example for algorithm 6.1 .............. 75 7.1 Example for a 3-variable 2-output Reed-Muller function 98 8.1 Limitation of i-majority m-cubes 104 8.2 Structures of Reed-Muller PLAs 104 8.3 Example of procedure 8.1 108 8.4 Order of ~-majority cubes .... 110 8.5 Example of procedure 8.2 112 8.6 Boolean function of example 8.4 113 8.7 Example for procedure 8.3 115 8.8 Example for procedure 8.4 117 x List of Tables 1.1 Some commercial design synthesis tools 5 2.1 Brief comparison of FPGA programming techniques 19 3.1 Comparison for single output functions run on the same PC . .. 39 4.1 Literal numbers with different encodings for table5 49 4.2 Results for multiple output functions . 49 5.1 Truth table of the criterion function gj 55 5.2 Example of multiple segment technique 64 5.3 Conversion results of some random coefficient sets . 68 5.4 Test results for conversion of parity functions 69 6.1 Distribution of dependent variables . 74 6.2 Experimental results of very large functions from IWLS'93 benchmark 76 7.1 Test results for small Boolean functions 100 7.2 Test results for large Boolean functions . 100 8.1 Comparison with ESPRESSO for general multiple output functions . 123 8.2 Comparison with ESPRESSO for very large multiple output functions 123 Xl Abstract With the increased complexity of Very Large Scaled Integrated (VLSI) circuits, multi­ level logic synthesis plays an even more important role due to its flexibility and compact­ ness. The history of symbolic logic and some typical techniques for multilevel logic synthesis are reviewed. These methods include algorithmic approach; Rule-Based approach; Binary Decision Diagram (BDD) approach; Field Programmable Gate Array(FPGA) approach and several perturbation applications. One new kind of don't cares (DCs), called functional DCs has been proposed for multi­ level logic synthesis. The conventional two-level cubes are generalized to multilevel cubes. Then functional DCs are generated based on the properties of containment.
Recommended publications
  • Optimization of Combinational Logic Circuits Based on Compatible Gates
    COMPUTER SYSTEMS LABORATORY STANFORD UNIVERSITY STANFORD, CA 94305455 Optimization of Combinational Logic Circuits Based on Compatible Gates Maurizio Damiani Jerry Chih-Yuan Yang Giovanni De Micheli Technical Report: CSL-TR-93-584 September 1993 This research is sponsored by NSF and DEC under a PYI award and by ARPA and NSF under contract MIP 9115432. Optimization of Combinational Logic Circuits Based on Compatible Gates Maurizio Damiani * Jerry Chih- Yuan Yang Giovanni De Micheli Technical Report: CSL-TR-93-584 September, 1993 Computer Systems Laboratory Departments of Electrical Engineering and Computer Science Stanford University, Stanford CA 94305-4055 Abstract This paper presents a set of new techniques for the optimization of multiple-level combinational Boolean networks. We describe first a technique based upon the selection of appropriate multiple- output subnetworks (consisting of so-called compatible gates) whose local functions can be op- timized simultaneously. We then generalize the method to larger and more arbitrary subsets of gates. Because simultaneous optimization of local functions can take place, our methods are more powerful and general than Boolean optimization methods using don’t cares , where only single-gate optimization can be performed. In addition, our methods represent a more efficient alternative to optimization procedures based on Boolean relations because the problem can be modeled by a unate covering problem instead of the more difficult binate covering problem. The method is implemented in program ACHILLES and compares favorably to SIS. Key Words and Phrases: Combinational logic synthesis, don’t care methods. *Now with the Dipartimento di Elettronica ed Informatica, UniversitB di Padova, Via Gradenigo 6/A, Padova, Italy.
    [Show full text]
  • Logic Optimization and Synthesis: Trends and Directions in Industry
    Logic Optimization and Synthesis: Trends and Directions in Industry Luca Amaru´∗, Patrick Vuillod†, Jiong Luo∗, Janet Olson∗ ∗ Synopsys Inc., Design Group, Sunnyvale, California, USA † Synopsys Inc., Design Group, Grenoble, France Abstract—Logic synthesis is a key design step which optimizes of specific logic styles and cell layouts. Embedding as much abstract circuit representations and links them to technology. technology information as possible early in the logic optimiza- With CMOS technology moving into the deep nanometer regime, tion engine is key to make advantageous logic restructuring logic synthesis needs to be aware of physical informations early in the flow. With the rise of enhanced functionality nanodevices, opportunities carry over at the end of the design flow. research on technology needs the help of logic synthesis to capture In this paper, we examine the synergy between logic synthe- advantageous design opportunities. This paper deals with the syn- sis and technology, from an industrial perspective. We present ergy between logic synthesis and technology, from an industrial technology aware synthesis methods incorporating advanced perspective. First, we present new synthesis techniques which physical information at the core optimization engine. Internal embed detailed physical informations at the core optimization engine. Experiments show improved Quality of Results (QoR) and results evidence faster timing closure and better correlation better correlation between RTL synthesis and physical implemen- between RTL synthesis and physical implementation. We elab- tation. Second, we discuss the application of these new synthesis orate on synthesis aware technology development, where logic techniques in the early assessment of emerging nanodevices with synthesis enables a fair system-level assessment on emerging enhanced functionality.
    [Show full text]
  • Boolean Algebra
    Boolean Algebra Definition: A Boolean Algebra is a math construct (B,+, . , ‘, 0,1) where B is a non-empty set, + and . are binary operations in B, ‘ is a unary operation in B, 0 and 1 are special elements of B, such that: a) + and . are communative: for all x and y in B, x+y=y+x, and x.y=y.x b) + and . are associative: for all x, y and z in B, x+(y+z)=(x+y)+z, and x.(y.z)=(x.y).z c) + and . are distributive over one another: x.(y+z)=xy+xz, and x+(y.z)=(x+y).(x+z) d) Identity laws: 1.x=x.1=x and 0+x=x+0=x for all x in B e) Complementation laws: x+x’=1 and x.x’=0 for all x in B Examples: • (B=set of all propositions, or, and, not, T, F) • (B=2A, U, ∩, c, Φ,A) Theorem 1: Let (B,+, . , ‘, 0,1) be a Boolean Algebra. Then the following hold: a) x+x=x and x.x=x for all x in B b) x+1=1 and 0.x=0 for all x in B c) x+(xy)=x and x.(x+y)=x for all x and y in B Proof: a) x = x+0 Identity laws = x+xx’ Complementation laws = (x+x).(x+x’) because + is distributive over . = (x+x).1 Complementation laws = x+x Identity laws x = x.1 Identity laws = x.(x+x’) Complementation laws = x.x +x.x’ because + is distributive over .
    [Show full text]
  • Basic Boolean Algebra and Logic Optimization
    Fundamental Algorithms for System Modeling, Analysis, and Optimization Edward A. Lee, Jaijeet Roychowdhury, Sanjit A. Seshia UC Berkeley EECS 144/244 Fall 2011 Copyright © 2010-11, E. A. Lee, J. Roychowdhury, S. A. Seshia, All rights reserved Lec 3: Boolean Algebra and Logic Optimization - 1 Thanks to S. Devadas, K. Keutzer, S. Malik, R. Rutenbar for several slides RTL Synthesis Flow FSM, HDL Verilog, HDL Simulation/ VHDL Verification RTL Synthesis a 0 d q Boolean circuit/network 1 netlist b Library/ s clk module logic generators optimization a 0 d q Boolean circuit/network netlist b 1 s clk physical design Graph / Rectangles layout K. Keutzer EECS 144/244, UC Berkeley: 2 Reduce Sequential Ckt Optimization to Combinational Optimization B Flip-flops inputs Combinational outputs Logic Optimize the size/delay/etc. of the combinational circuit (viewed as a Boolean network) EECS 144/244, UC Berkeley: 3 Logic Optimization 2-level Logic opt netlist tech multilevel independent Logic opt logic Library optimization tech dependent Generic Library netlist Real Library EECS 144/244, UC Berkeley: 4 Outline of Topics Basics of Boolean algebra Two-level logic optimization Multi-level logic optimization Boolean function representation: BDDs EECS 144/244, UC Berkeley: 5 Definitions – 1: What is a Boolean function? EECS 144/244, UC Berkeley: 6 Definitions – 1: What is a Boolean function? Let B = {0, 1} and Y = {0, 1} Input variables: X1, X2 …Xn Output variables: Y1, Y2 …Ym A logic function ff (or ‘Boolean’ function, switching function) in n inputs and m
    [Show full text]
  • The Basics of Logic Design
    C APPENDIX The Basics of Logic Design C.1 Introduction C-3 I always loved that C.2 Gates, Truth Tables, and Logic word, Boolean. Equations C-4 C.3 Combinational Logic C-9 Claude Shannon C.4 Using a Hardware Description IEEE Spectrum, April 1992 Language (Shannon’s master’s thesis showed that C-20 the algebra invented by George Boole in C.5 Constructing a Basic Arithmetic Logic the 1800s could represent the workings of Unit C-26 electrical switches.) C.6 Faster Addition: Carry Lookahead C-38 C.7 Clocks C-48 AAppendixC-9780123747501.inddppendixC-9780123747501.indd 2 226/07/116/07/11 66:28:28 PPMM C.8 Memory Elements: Flip-Flops, Latches, and Registers C-50 C.9 Memory Elements: SRAMs and DRAMs C-58 C.10 Finite-State Machines C-67 C.11 Timing Methodologies C-72 C.12 Field Programmable Devices C-78 C.13 Concluding Remarks C-79 C.14 Exercises C-80 C.1 Introduction This appendix provides a brief discussion of the basics of logic design. It does not replace a course in logic design, nor will it enable you to design signifi cant working logic systems. If you have little or no exposure to logic design, however, this appendix will provide suffi cient background to understand all the material in this book. In addition, if you are looking to understand some of the motivation behind how computers are implemented, this material will serve as a useful intro- duction. If your curiosity is aroused but not sated by this appendix, the references at the end provide several additional sources of information.
    [Show full text]
  • Gate Logic Logic Optimization Overview
    Lecture 5: Gate Logic Logic Optimization MAH, AEN EE271 Lecture 5 1 Overview Reading McCluskey, Logic Design Principles- or any text in boolean algebra Introduction We could design at the level of irsim - Think about transistors as switches - Build collections of switches that do useful stuff - Don’t much care whether the collection of transistors is a gate, switch logic, or some combination. It is a collection of switches. But this is pretty complicated - Switches are bidirectional, charge-sharing, - Need to worry about series resistance… MAH, AEN EE271 Lecture 5 2 Logic Gates Constrain the problem to simplify it. • Constrain how one can connect transistors - Create a collection of transistors where the Output is always driven by a switch-network to a supply (not an input) And the inputs to this unit only connect the gate of the transistors • Model this collection of transistors by a simpler abstraction Units are unidirectional Function is modelled by boolean operations Capacitance only affects speed and not functionality Delay through network is sum of delays of elements This abstract model is one we have used already. • It is a logic gate MAH, AEN EE271 Lecture 5 3 Logic Gates Come in various forms and sizes In CMOS, all of the primitive gates1 have one inversion from each input to the output. There are many versions of primitive gates. Different libraries have different collections. In general, most libraries have all 3 input gates (NAND, NOR, AOI, and OAI gates) and some 4 input gates. Most libraries are much richer, and have a large number of gates.
    [Show full text]
  • Deep Learning for Logic Optimization Algorithms
    Deep Learning for Logic Optimization Algorithms Winston Haaswijky∗, Edo Collinsz∗, Benoit Seguinx∗, Mathias Soekeny, Fred´ eric´ Kaplanx, Sabine Susstrunk¨ z, Giovanni De Micheliy yIntegrated Systems Laboratory, EPFL, Lausanne, VD, Switzerland zImage and Visual Representation Lab, EPFL, Lausanne, VD, Switzerland xDigital Humanities Laboratory, EPFL, Lausanne, VD, Switzerland ∗These authors contributed equally to this work Abstract—The slowing down of Moore’s law and the emergence to the state-of-the-art. Finally, our algorithm is a generic of new technologies puts an increasing pressure on the field optimization method. We show that it is capable of performing of EDA. There is a constant need to improve optimization depth optimization, obtaining 92.6% of potential improvement algorithms. However, finding and implementing such algorithms is a difficult task, especially with the novel logic primitives and in depth optimization of 3-input functions. Further, the MCNC potentially unconventional requirements of emerging technolo- case study shows that we unlock significant depth improvements gies. In this paper, we cast logic optimization as a deterministic over the academic state-of-the-art, ranging from 12.5% to Markov decision process (MDP). We then take advantage of 47.4%. recent advances in deep reinforcement learning to build a system that learns how to navigate this process. Our design has a II. BACKGROUND number of desirable properties. It is autonomous because it learns automatically and does not require human intervention. A. Deep Learning It generalizes to large functions after training on small examples. With ever growing data sets and increasing computational Additionally, it intrinsically supports both single- and multi- output functions, without the need to handle special cases.
    [Show full text]
  • Algorithm for Two-Level Simplification (Example)
    CSE 370 Spring 2006 Administrivia Introduction to Digital Design Homework 3 due Friday Lecture 8: Introduction to Verilog Last Lecture Design Examples a K-maps Minimization Algorithm Today Introduction to Verilog Algorithm for two-level simplification Algorithm for two-level Algorithm: minimum sum-of-products expression from a Karnaugh map simplification (example) A A A Step 1: choose an element of the ON-set X101 X101 X101 Step 2: find "maximal" groupings of 1s and Xs adjacent to that 0111 0111 0111 element D D D consider top/bottom row, left/right column, and corner 0XX0 0XX0 0XX0 adjacencies C C C this forms prime implicants (number of elements always a power 0101 0101 0101 of 2) B B B 2 primes around A'BC'D' 2 primes around ABC'D Repeat Steps 1 and 2 to find all prime implicants A A A Step 3: revisit the 1s in the K-map X101 X101 X101 if covered by single prime implicant, it is essential, and 0111 0111 0111 participates in final cover D D D 1s covered by essential prime implicant do not need to be 0XX0 0XX0 0XX0 revisited C C C Step 4: if there remain 1s not covered by essential prime implicants 0101 0101 0101 B B B select the smallest number of prime implicants that cover the 3 primes around AB'C'D' 2 essential primes minimum cover (3 primes) remaining 1s Visit All in the On Set? Activity List all prime implicants for the following K-map: A A 00X001X0 X0X0 0111X1 01X1 CD’ D BC BD AB AC’D D CD’ BC BD AB AC’D 010X11X0 0XX0 C C 00X10111 X111 B B CD’ BD AC’D CD’ BD AC’D Which are essential prime implicants? CD’ BD AC’D CD’ BD AC’D What
    [Show full text]
  • Combinational Logic Circuits
    CHAPTER 4 COMBINATIONAL LOGIC CIRCUITS ■ OUTLINE 4-1 Sum-of-Products Form 4-10 Troubleshooting Digital 4-2 Simplifying Logic Circuits Systems 4-3 Algebraic Simplification 4-11 Internal Digital IC Faults 4-4 Designing Combinational 4-12 External Faults Logic Circuits 4-13 Troubleshooting Prototyped 4-5 Karnaugh Map Method Circuits 4-6 Exclusive-OR and 4-14 Programmable Logic Devices Exclusive-NOR Circuits 4-15 Representing Data in HDL 4-7 Parity Generator and Checker 4-16 Truth Tables Using HDL 4-8 Enable/Disable Circuits 4-17 Decision Control Structures 4-9 Basic Characteristics of in HDL Digital ICs M04_WIDM0130_12_SE_C04.indd 136 1/8/16 8:38 PM ■ CHAPTER OUTCOMES Upon completion of this chapter, you will be able to: ■■ Convert a logic expression into a sum-of-products expression. ■■ Perform the necessary steps to reduce a sum-of-products expression to its simplest form. ■■ Use Boolean algebra and the Karnaugh map as tools to simplify and design logic circuits. ■■ Explain the operation of both exclusive-OR and exclusive-NOR circuits. ■■ Design simple logic circuits without the help of a truth table. ■■ Describe how to implement enable circuits. ■■ Cite the basic characteristics of TTL and CMOS digital ICs. ■■ Use the basic troubleshooting rules of digital systems. ■■ Deduce from observed results the faults of malfunctioning combina- tional logic circuits. ■■ Describe the fundamental idea of programmable logic devices (PLDs). ■■ Describe the steps involved in programming a PLD to perform a simple combinational logic function. ■■ Describe hierarchical design methods. ■■ Identify proper data types for single-bit, bit array, and numeric value variables.
    [Show full text]
  • Logic Gates, Truth Tables and Canonical Forms
    Lecture 4 The “WHY” slide ◆ Logistics ◆ Logic Gates and Truth Tables ■ HW1 due Wednesday at start of class ■ Now you know 0’s and 1’s and the basic Boolean algebra, now you ■ Office Hours: are ready to go back and forth between truth table, Boolean µ Me: 12:20-1:00 CSE 668 plus one later this week expression, and logic gates. This ability to go back and forth is an µ TAs: Today at 3:30, tomorrow at 12:30 & 2:30 in CSE 220 extremely useful skill designing and optimizing computer hardware. ■ Lab2 going on this week ◆ Implementing Logic Functions ◆ Last lecture --- Boolean algebra ■ Now with these basic tools you learned, you can “implement” logic ■ Axioms functions. We use Boolean algebra to implement logic functions that ■ Useful laws and theorems are used in the computers. And these logic functions are used by ■ Simplifying Boolean expressions computer programs you write. ◆ Today’s lecture ◆ Canonical forms ■ Logic gates and truth tables in detail ■ There are many forms to expression one Boolean function. It is ■ Implementing logic functions good to have one standard way. A canonical form is the standard ■ Canonical forms form for Boolean expressions. It has a nice property that allows you to go back and forth between truth table/expressions/gates easily. CSE370, Lecture 4 1 CSE370, Lecture 4 2 Logic gates and truth tables Logic gates and truth tables (con’t) XYZ XYZ X 0 0 0 X 0 0 1 ◆ Z ◆ NAND • Z AND X•Y XY Y 0 1 0 X Y XY Y 0 1 1 1 0 0 1 0 1 1 1 1 1 1 0 XYZ XYZ ◆ + X 0 0 1 NOR X Y Z 0 1 0 ◆ OR X+Y X Z 0 0 0 Y Y 0 1 1 1 0 0 1 1 0 1 0 1
    [Show full text]
  • Sequential Optimization for Low Power Digital Design
    Sequential Optimization for Low Power Digital Design Aaron P. Hurst Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2008-75 http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-75.html May 30, 2008 Copyright © 2008, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Acknowledgement Advisor: Robert Brayton Sequential Optimization for Low Power Digital Design by Aaron Paul Hurst B.S. (Carnegie Mellon University) 2002 M.S. (Carnegie Mellon University) 2002 A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Electrical Engineering and Computer Science in the GRADUATE DIVISION of the UNIVERSITY OF CALIFORNIA, BERKELEY Committee in charge: Professor Robert K. Brayton, Chair Professor Andreas Kuehlmann Professor Margaret Taylor Spring 2008 The dissertation of Aaron Paul Hurst is approved. Chair Date Date Date University of California, Berkeley Spring 2008 Sequential Optimization for Low Power Digital Design Copyright c 2008 by Aaron Paul Hurst Abstract Sequential Optimization for Low Power Digital Design by Aaron Paul Hurst Doctor of Philosophy in Electrical Engineering and Computer Science University of California, Berkeley Professor Robert K. Brayton, Chair The power consumed by digital integrated circuits has grown with increasing tran- sistor density and system complexity.
    [Show full text]
  • Synthesis and Optimization of Synchronous Logic Circuits
    SYNTHESIS AND OPTIMIZATION OF SYNCHRONOUS LOGIC CIRCUITS disserttion sumi ttedtothe deprtmentofeletrilengi neering ndtheommitteeongrdutestudies ofstnforduniversi ty in prtilfulfillmentoftherequirements forthedegreeof dotorofphilosophy By Maurizio Damiani May, 1994 I certify that I have read this thesis and that in my opinion it is fully adequate, in scope and in quality, as a dissertation for the degree of Doctor of Philosophy. Giovanni De Micheli (Principal Adviser) I certify that I have read this thesis and that in my opinion it is fully adequate, in scope and in quality, as a dissertation for the degree of Doctor of Philosophy. David L. Dill I certify that I have read this thesis and that in my opinion it is fully adequate, in scope and in quality, as a dissertation for the degree of Doctor of Philosophy. Teresa Meng Approved for the University Committee on Graduate Stud- ies: Dean of Graduate Studies ii Abstract The design automation of complex digital circuits offers important benefits. It allows the designer to reduce design time and errors, to explore more thoroughly the design space, and to cope effectively with an ever-increasing project complexity. This dissertation presents new algorithms for the logic optimization of combinational and synchronous digital circuits. These algorithms rely on a common paradigm. Namely, global optimization is achieved by the iterative local optimization of small subcircuits. The dissertation first explores the combinational case. Chapter 2 presents algorithms for the optimization of subnetworks consisting of a single-output subcircuit. The design space for this subcircuit is described implicitly by a Boolean function, a so-called don’t care function. Efficient methods for extracting this function are presented.
    [Show full text]