Majority Logic Synthesis (Invited Paper)

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].

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us