Majority Logic Synthesis (Invited Paper)

Total Page:16

File Type:pdf, Size:1020Kb

Majority Logic Synthesis (Invited Paper) Majority Logic Synthesis (Invited Paper) Luca Amarù1 Eleonora Testa2 Miguel Couceiro3 Odysseas Zografos4 Giovanni De Micheli2 Mathias Soeken2 1Synopsys Inc., USA 2 EPFL, Switzerland 3Université de Lorraine, France 4imec, Belgium ABSTRACT s The majority function hxyzi evaluates to true, if at least two of hi c its Boolean inputs evaluate to true. The majority function has fre- quently been studied as a central primitive in logic synthesis appli- hi hi cations for many decades. Knuth refers to the majority function in the last volume of his seminal The Art of Computer Programming x1 x2 x3 as “probably the most important ternary operation in the entire universe.” Majority logic sythesis has recently regained signficant Figure 1: MIG of a full adder with sum s and carry-out c interest in the design automation community due to nanoemerging technologies which operate based on the majority function. In ad- edges connect operations to their arguments. Edges can be regular dition, majority logic synthesis has successfully been employed in or complemented depending on whether the respective argument is CMOS-based applications such as standard cell or FPGA mapping. complemented or not. We call such graphs Majority-Inverter Graphs This tutorial gives a broad introduction into the field of majority (MIGs, [5]) following the nomenclature of And-Inverter Graphs logic synthesis. It will review fundamental results and describe (AIGs, [6, 7]). Fig. 1 shows the MIG of a full adder with recent contributions from theory, practice, and applications. s = hx1hx¯1x2x3ihx1x2x3ii = x1 ⊕ x2 ⊕ x3 and c = hx1x2x3i: (4) 1 INTRODUCTION Note that the expression of the carry-out c is shared in the expres- The majority function [1] of three Boolean variables x, y, and z, sion for the sum s. In the MIG, input nodes are drawn as rectangles, denoted hxyzi, evaluates to true if and only if at least two of the majority operations as circles, regular edges as solid strokes, and three variables are true. The majority function is self-dual [2] and complemented edges as dashed strokes. can be expressed in disjunctive and conjunctive normal form as The explicit consideration of the majority function in Boolean hxyzi = xy _ xz _ yz = ¹x _ yº¹x _ zº¹y _ zº: (1) equations has first been suggested by Lindaman [8]. He proposes an algebraic expansion to translate expressions for n-variable Boolean Setting any variable to 0 gives the conjunction of the other two functions of the form variables, and analogously one obtains the disjunction by setting n−1 2¹n−1º any variable to 1, i.e., Ü Û x fi _ x¯ fi (5) h0xyi = x ^ y and h1xyi = x _ y: (2) i=1 i=n The majority function can be generalized to n variables into majority-3 expressions. In (5), the fi are Boolean functions that do not depend on x. It is exemplarily shown in [8] that this hx x ::: x i = x + x + ··· + x > n−1 ; (3) 1 2 n 1 2 n 2 expansion can lead to much smaller expressions when compared where n is odd as a special case of the threshold function [3, 4]. to directly replacing AND and OR gates using the equations given n The function evaluates to true if at least d 2 e variables are true. in (2). We refer to a majority expression as a multi-level expression that Miiller and Winder [9] presented a synthesis algorithm based on consists of majority functions with different number of inputs (fan- Karnaugh-Veigh diagrams similar to the algorithms used to derive in), Boolean variables, and constants. If all majority functions in a sum-of-product expressions. To synthesize a function f , the algo- majority expression have n inputs, we call the expression a majority- rithm first tries to express f as hf1 f2 f3i by heuristically selecting n expression. a majority operation to express f1 that minimizes jf ⊕ f1j, i.e., it Majority expressions can be represented as a graph, in which agrees closest with the function values of f . This choice implies nodes represent constants, variables, and majority operations and constraints on function values of f2 and f3, on which the algo- Permission to make digital or hard copies of all or part of this work for personal or rithm recurs. The algorithm may backtrack if subexpressions result classroom use is granted without fee provided that copies are not made or distributed which cannot be realized by a majority function. The algorithm al- for profit or commercial advantage and that copies bear this notice and the full citation ready becomes cumbersome for moderate n but offers a convenient on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, pen-and-paper approach for small functions (see also [10]). to post on servers or to redistribute to lists, requires prior specific permission and/or a Akers [11] presented an embedding of incompletely specified fee. Request permissions from [email protected]. Boolean functions, represented as truth tables, into monotone self- ICCAD’18, San Diego, CA, USA © 2018 ACM. 978-1-4503-5950-4/18/11...$15.00 dual functions [12, 13]. These functions can then be reduced into DOI: https://doi.org/10.1145/3240765.3267501 what he calls a reduced unitized table. This is used as a starting ICCAD’18, November 5–9, 2018, San Diego, CA, USA Amarù, Testa, Couceiro, Zografos, De Micheli, Soeken point to derive various different majority expressions: i) canonical f f majority expressions, ii) canonical majority-3 expressions, and iii) possibly small (but not guaranteed optimal) majority-3 expressions. AOIG _ hi MIG f f A lot of synthesis algorithms for majority expressions have been ^ ^ hi 0 hi AOIG ^ hi MIG presented in the field of quantum-dot cellular automata (QCA,14 [ , x3 _ x3 x3 0 hi 0 x3 x1 _ x1 0 hi 15]). The basic blocks in QCA are the identity, negation, and majority- 3, and therefore QCA circuits inherently realize majority-3 expres- ^ ^ hi 0 hi x2 ^ x2 0 hi sions [16]. Initial research [17–19] targeted the realization of 3- x2 x1 x2 x2 0 x1 0 x2 x3 x4 x3 0 x4 variable functions as majority-3 expressions based on the methods (a) f = x1 ⊕ x2 ⊕ x3 (b) f = x1¹x2 _ x3x4º from Miiller and Winder [9] and Akers [11]. Several groups [20–22] have then extended this method to synthesize multi-level multi- Figure 2: Examples of MIG representations (right) for (a) output Boolean functions. Their techniques start from a minimized f = x ⊕y ⊕z and (b) д = x¹y _uvº derived by transposing their algebraically factored circuit [23]. The circuit is then decomposed AOIG representations (left). Complement attributes are rep- into nodes that have at most three inputs; if a node represents the resented by dashed edges. majority function it is directly mapped, otherwise the previous mentioned techniques are used to find a good majority-3 expres- sion. The various algorithms differ mainly in how the initial circuit is preprocessed and decomposed and in how nodes are translated Ω:C: Commutativity hxyzi = hyxzi = hzyxi into majority expressions. The algorithms have been further ex- Ω:M: Majority hxxzi = x hxxz¯ i = z tended [24] to consider technology-aware cost metrics [25, 26] or Ω:A: Associativity hxuhyuzii = hzuhyuxii (6) to consider four inputs in the decomposed nodes [27] and have Ω:D: Distributivity hxyhuvzii = hhxyuihxyvizi been optimized using genetic algorithms [28, 29]. In this tutorial we review the state-of-the-art in several topics of Ω:I: Inverter propagation hx¯y¯z¯i = hxyzi majority logic synthesis. The next section discusses how practical By using Ω, it is possible to optimize an MIG with respect to a algorithms can be implemented for optimizing majority-inverter desired metric. For example, majority Ω:M enables size and depth graphs based on majority-3 gates. Section 3 reviews the theory of reduction when applied from left to right. Also, distributivity Ω:D decomposing majority-n gates into smaller ones and illustrates a enables depth reduction when applied from left to right and z is practical algorithm based on binary decision diagrams. Section 4 a critical variable. On the other hand, distributivity Ω:D applied discusses the effect of the majority operation in normal forms to from right to left enables size reduction. In a similar fashion, the express Boolean functions. Finally, Section 5 concludes with show- remaining transformations in Ω are also useful in MIG optimization. ing applications in nanoemerging technologies using devices that operate based on the majority function. 2.3 MIG Boolean Algebra Derived Theorems Several other complex rules are derivable from Ω. Among the ones 2 PRACTICAL MAJORITY LOGIC SYNTHESIS we encountered, three rules derived from Ω are of particular inter- In this part of the tutorial, we present practical data structures and est to logic optimization. We refer to them as Ψ and are described manipulation frameworks for majority logic synthesis. We intro- hereafter. In the following, the symbol fx/y represents a replace- duce Majority-Inverter Graphs (MIGs), as natural representation ment operation, i.e., it replaces x with y in all its appearence in form for majority logic, and a dedicated Boolean algebra to per- f . form optimization and reasoning taks with MIGs. We discuss how primitive axioms of the MIG Boolean algebra can be used, alone or Ψ:R: Relevence hxyz i = hxyz ix/y¯ combined together, to run efficient majority logic synthesis. Ψ:C: Compl. assoc. hxy hyuz¯ ii = hxu hyxz ii Ψ:S: Substitution hxyz i = hv hv¯ hxyz iv/u u i hv¯ hxyz iv/u¯ u¯ ii; 2.1 Majority-Inverter Graphs (7) MIGs are a logic representation form based on majority and inverter The first rule, relevance Ψ:R, replaces reconvergent variables operators [5].
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]
  • A Logic Synthesis Toolbox for Reducing the Multiplicative Complexity in Logic Networks
    A Logic Synthesis Toolbox for Reducing the Multiplicative Complexity in Logic Networks Eleonora Testa∗, Mathias Soekeny, Heinz Riener∗, Luca Amaruz and Giovanni De Micheli∗ ∗Integrated Systems Laboratory, EPFL, Lausanne, Switzerland yMicrosoft, Switzerland zSynopsys Inc., Design Group, Sunnyvale, California, USA Abstract—Logic synthesis is a fundamental step in the real- correlates to the resistance of the function against algebraic ization of modern integrated circuits. It has traditionally been attacks [10], while the multiplicative complexity of a logic employed for the optimization of CMOS-based designs, as well network implementing that function only provides an upper as for emerging technologies and quantum computing. Recently, bound. Consequently, minimizing the multiplicative complexity it found application in minimizing the number of AND gates in of a network is important to assess the real multiplicative cryptography benchmarks represented as xor-and graphs (XAGs). complexity of the function, and therefore its vulnerability. The number of AND gates in an XAG, which is called the logic net- work’s multiplicative complexity, plays a critical role in various Second, the number of AND gates plays an important role cryptography and security protocols such as fully homomorphic in high-level cryptography protocols such as zero-knowledge encryption (FHE) and secure multi-party computation (MPC). protocols, fully homomorphic encryption (FHE), and secure Further, the number of AND gates is also important to assess multi-party computation (MPC) [11], [12], [6]. For example, the the degree of vulnerability of a Boolean function, and influences size of the signature in post-quantum zero-knowledge signatures the cost of techniques to protect against side-channel attacks.
    [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]
  • Challenges and Solutions for Large-Scale Integration of Emerging
    CHALLENGES AND SOLUTIONS FOR LARGE-SCALE INTEGRATION OF EMERGING TECHNOLOGIES A Dissertation IN Electrical and Computer Engineering and Physics Presented to the Faculty of the University of Missouri–Kansas City in partial fulfillment of the requirements for the degree DOCTOR OF PHILOSOPHY by Md Arif Iqbal B.Sc., Khulna University of Engineering and Technology, Khulna, Bangladesh, 2010 Kansas City, Missouri 2021 © 2021 MD ARIF IQBAL ALL RIGHTS RESERVED CHALLENGES AND SOLUTIONS FOR LARGE-SCALE INTEGRATION OF EMERGING TECHNOLOGIES Md Arif Iqbal, Candidate for the Doctor of Philosophy Degree University of Missouri–Kansas City, 2021 ABSTRACT The semiconductor revolution so far has been primarily driven by the ability to shrink devices and interconnects proportionally (Moore's law) while achieving incremental benefits. In sub-10nm nodes, device scaling reaches its fundamental limits, and the interconnect bottleneck is dominating power and performance. As the traditional way of CMOS scaling comes to an end, it is essential to find an alternative to continue this progress. However, an alternative technology for general-purpose computing remains elusive; currently pursued research directions face adoption challenges in all aspects from materials, devices to architecture, thermal management, integration, and manufacturing. Crosstalk Computing, a novel emerging computing technique, addresses some of the challenges and proposes a new paradigm for circuit design, scaling, and security. However, like other emerging technologies, Crosstalk Computing also faces challenges like designing large-scale circuits using existing CAD tools, scalability, evaluation and benchmarking of large-scale designs, experimentation through commercial foundry processes to compete/co- exist with CMOS for digital logic implementations. This dissertation addresses these issues by providing a methodology for circuit synthesis customizing the existing EDA tool flow, evaluating and benchmarking against state- of-the-art CMOS for large-scale circuits designed at 7nm from MCNC benchmark suits.
    [Show full text]
  • Majority Logic Synthesis Luca Amarù, Eleonora Testa, Miguel Couceiro, Odysseas Zografos, Giovanni De Micheli, Mathias Soeken
    Majority logic synthesis Luca Amarù, Eleonora Testa, Miguel Couceiro, Odysseas Zografos, Giovanni de Micheli, Mathias Soeken To cite this version: Luca Amarù, Eleonora Testa, Miguel Couceiro, Odysseas Zografos, Giovanni de Micheli, et al.. Major- ity logic synthesis. ICCAD 2018 - IEEE/ACM International Conference on Computer-Aided Design, Nov 2018, San Diego, United States. 10.1145/3240765.3267501. hal-01925946 HAL Id: hal-01925946 https://hal.inria.fr/hal-01925946 Submitted on 2 Dec 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Majority logic synthesis (Embedded tutorial) Luca Amarù1 Eleonora Testa2 Miguel Couceiro3 Odysseas Zografos4 Giovanni De Micheli2 Mathias Soeken2 1Synopsys Inc., USA 2 EPFL, Switzerland 3Université de Lorraine, France 4imec, Belgium Abstract—The majority function hxyzi evaluates to true, if at s least two of its Boolean inputs evaluate to true. The majority function has frequently been studied as a central primitive in logic synthesis applications for many decades. Knuth refers to cout the majority function in the last volume of his seminal The Art of Computer Programming as “probably the most impor- tant ternary operation in the entire universe.” Majority logic sythesis has recently regained signficant interest in the design automation community due to nanoemerging technologies which a b cin operate based on the majority function.
    [Show full text]
  • Design of a High Reliability Self Diagnosing Computer Using Bit Slice Microprocessors
    North-Holland 325 Microprocessing and Microprogramming 22 (1 988) 325-331 Design of a High Reliability Self Diagnosing Computer Using Bit Slice Microprocessors S. Sanyal and P.V.S. Rao 2. Design Options Computer Systems & Communications Group, Tata Institute of FundamentalResearch, Bombay-400005, India 2.1 Functional Design This paper describes a processor built to meet the require- ments for a highly reliable and ruggedised digital computer. To achieve the desirable level of reliability and Innovative techniques were used to achieve high performance speed, several design options were considered: without using very high reliability components or redundancy at the circuit level. The processor therefore was designed us- (a) In a standard design using very high reliability ing moderately reliable components (mil B standard) with mi- components (MIL A Standard), the cost factor is croprogrammed control logic and powerful built-in microdi- prohibitive. Also a standard design using MIL A agnostic capabilities. It was successfully used for two major applications: a digital switching system and a data acquisition standard components still presupposes continuous and processing system for a weather radar. functioning of the components. The probability of failure is reduced, but the time required for repair Keywords: Reliability, Microprogramming, Microdiagnostics. does not decrease. 1. Introduction (b) Using moderately reliable components (MIL B Standard) in a design which provides for automatic A need arose for the development of a rugged digit- fault identification permits quick replacement of the al computer to form the nucleus of complex online faulty submodule. A high Mean Time Between systems required for two major applications: a gen- Failures and a low Mean Time to Repair can both eral purpose medium-size digital switching system be achieved.
    [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]
  • FAULT DETECTION in LOGICAL CIRCUITS by SAMPRAKASH MAJUMDAR, B.Sc.Engr
    FAULT DETECTION IN LOGICAL CIRCUITS by SAMPRAKASH MAJUMDAR, B.Sc.Engr. A THESIS IN ELECTRICAL ENGINEERING Submitted to the Graduate Faculty of Texas Tech University in Partial Fulfillment of the Requirements for the Degree of MASTER OF SCIENCE IN ELECTRICAL ENGINEERING Approved c/ Accepted May, 1975 T3 ACKNOWLEDGMENTS I am deeply indebted to Dr. Jagadish C. Prabhakar for his continuous direction and encouragement, for his valuable hours of discussion, and for his serving as the chairman of my committee. I am also very thankful to Dr. Marion Hagler and Dr. Charles N. Kellogg for their constructive criticism and for serving on my committee. 11 TABLE OF CONTENTS ACKNOWLEDGMENTS ii LIST OF TABLES iv LIST OF FIGURES v Chapter I. INTRODUCTION 1 II. METHODS OF FAULT DETECTION 8 Path Sensitization 8 D-Algorithm 12 Fault Matrix 19 Boolean Difference 20 Partitioning 27 State-Table Analysis 28 III. GRAPH THEORETIC TECHNIQUES OF FAULT DETECTION 31 Graphical Representation 31 Structural Representation 32 Behavioral Description 39 Terminology and Notations 40 IV. CONCLUSIONS 61 REFERENCES 63 111 LIST OF TABLES Table Page I. Summary of Fault Detection Techniques 30 IV LIST OF FIGURES Figure Page 2.1. Example of path sensitization 9 2.2. Example of d-algorithm 14 2.3. D-Algorithm in sequential network 17 2.4. Breaking of sequential circuit 18 2.5. Example of Boolean difference 26 3.1. Serial binary adder 34 3.2. Partitioning of figure 3.1 35 3.2a. Graphical representation of figure 3.2 ... 36 3.2b. Graphical representation of figure 3.2 showing vertex 1 (adder) and vertex 2 (JK flip-flop) 36 3.3.
    [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]