Chapter 4 Low-Power VLSI Design

Total Page:16

File Type:pdf, Size:1020Kb

Chapter 4 Low-Power VLSI Design Chapter 4 Low-Power VLSI Design Jin-Fu Li Advanced Reliable Systems (ARES) Lab. Department of Electrical Engineering National Central University Jhongli, Taiwan Outline • Introduction • Low-Power Gate-Level Design • Low-Power Architecture-Level Design • Algorithmic-Level Power Reduction • RTL Techniques for Optimizing Power National Central University EE4012VLSI Design 2 Introduction • Most SOC design teams now regard power as one of their top design concerns • Why low-power design? Battery lifetime (especially for portable devices) Reliability • Power consumption Peak power Average power National Central University EE4012VLSI Design 3 Overview of Power Consumption • Average power consumption Dynamic power consumption Short-circuit power consumption Leakage power consumption Static power consumption • Dynamic power dissipation during switching Cinput interconnect C Cdrain input National Central University EE4012VLSI Design 4 Overview of Power Consumption • Generic representation of a CMOS logic gate for switching power calculation V A pMOS VB network Vout V A nMOS Cdrain Cint erconnect Cinput network VB TT/ 2 1 dVout dVout Pavg [ Vout (Cload )dt (VDD Vout )(Cload )dt] T 02dt T / dt National Central University EE4012VLSI Design 5 Overview of Power Consumption • The average power consumption can be expressed as 1 P C V 2 C V 2 f avg T load DD load DD CLK • The node transition rate can be slower than the clock rate. To better represent this behavior, a node transition factor ( T ) should be introduced 2 Pavg T C load V DD f CLK • The switching power expressed above are derived by taking into account the output node load capacitance National Central University EE4012VLSI Design 6 Overview of Power Consumption V VA A V internal VB VB C internal Vinternal Vout C Vout VA VB load The generalized expression for the average power dissipation can be rewritten as # ofnodes Pavg Ti C iV i V DD f CLK i 1 National Central University EE4012VLSI Design 7 Gate-Level Design – Technology Mapping • The objective of logic minimization is to reduce the boolean function. • For low-power design, the signal switching activity is minimized by restructuring a logic circuit • The power minimization is constrained by the delay, however, the area may increase. • During this phase of logic minimization, the function to be minimized is Pi (1 Pi ) C i i National Central University EE4012VLSI Design 8 Gate-Level Design – Technology Mapping • The first step in technology mapping is to decompose each logic function into two-input gates • The objective of this decomposition is to minimize the total power dissipation by reducing the total switching activity A 0.2 0.0384 0.0196 B 0.2 0.0099 C 0.5 D 0.5 A B C D A 0.2 0.0384 B 0.2 C 0.5 0.0099 D 0.5 0.1875 National Central University EE4012VLSI Design 9 Gate-Level Design – Phase Assignment High activity node High activity node A A B B C C National Central University EE4012VLSI Design 10 Gate-Level Design – Pin Swapping adb c adb c d a Switching activity Switching activity c b b c a d d c a b b c a d National Central University EE4012VLSI Design 11 Gate-Level Design – Glitching Power • Glitches spurious transitions due to imbalanced path delays • A design has more balanced delay paths has fewer glitches, and thus has less power dissipation • Note that there will be no glitches in a dynamic CMOS logic A A B B D C E D C E National Central University EE4012VLSI Design 12 Gate-Level Design – Glitching Power • A chain structure has more glitches • A tree structure has fewer glitches A B C Chain structure D A B Tree structure C D National Central University EE4012VLSI Design 13 Gate-Level Design – Precomputation REG REG Combinational Logic R1 R2 REG REG Combinational Logic R1 R2 Precomputation Logic National Central University EE4012VLSI Design 14 Gate-Level Design – Precomputation A<n-1> REG 1-bit Comparator B<n-1> R1 (MSB) REG A<n-2:0> R2 (n-1)-bit REG Enable Comparator R4 Precomputation logic F REG B<n-2:0> R3 National Central University EE4012VLSI Design 15 Gate-Level Design – Gating Clock D Q D Q D Q D Q Fail DFT rule clk checking T Add control pin D Q D Q D Q D Q to solve DFT violation problem clk National Central University EE4012VLSI Design 16 Gate-Level Design – Input Gating f1 clk + select f2 National Central University EE4012VLSI Design 17 Clock-Gating in Low-Power Flip-Flop D D Q CK Source: Prof. V. D. Agrawal National Central University EE4012VLSI Design 18 Reduced-Power Shift Register D D Q D Q D Q D Q Output multiplexer D Q D Q D Q D Q CK(f/2) Flip-flops are operated at full voltage and half the clock frequency. Source: Prof. V. D. Agrawal National Central University EE4012VLSI Design 19 Power Consumption of Shift Register 16-bit shift register, 2μ CMOS 2 P = C’VDD f/n Deg. Of Freq Power 1.0 parallelism (MHz) (μW) 1 33.0 1535 2 16.5 887 4 8.25 738 0.5 0.25 Normalized power C. Piguet, “Circuit and Logic Level Design,” pages 103-133 in W. Nebel 0.0 and J. Mermet (ed.), Low Power 1 2 4 Design in Deep Submicron Degree of parallelism, n Electronics, Springer, 1997. Source: Prof. V. D. Agrawal National Central University EE4012VLSI Design 20 Architecture-Level Design – Parallelism 16 16 A R A R 32 16 32 16x16 16x16 f fref/2 ref multiplier multiplier 16 R B R M 32 U f fref ref/2 X Assume that With the same 16x16 R multiplier, the power supply can fref be reduced from V to V /1.83. ref ref 16x16 fref/2 Vref 2 fref multiplier P 2.2C ( ) 0.33P 16 32 parallel ref 1.83 2 ref B R 16 fref/2 National Central University EE4012VLSI Design 21 Architecture-Level Design – Pipelining The hardware between the pipeline stages is reduced then the reference voltage Vref can be reduced to Vnew to maintain the same worst case delay. For example, let a 50MHz multiplier is broken into two equal parts as shown below. The delay between the pipeline stages can be remained at 50MHz when the voltage Vnew is equal to Vref/1.83 32 Half Half 32 (A ,B) REG REG multiplier multiplier fref V P 1.2C ( ref ) 2 f 0.36 P pipeline ref 1.83 ref ref National Central University EE4012VLSI Design 22 Architecture-Level Design – Retiming Retiming is a transformation technique used to change the locations of delay elements in a circuit without affecting the input/output characteristics of the circuit. Two versions of an IIR filter. (1) (1) x(n) y(n) x(n) y(n) D D D2Da a w(n) D (2) 2D (1) (2) (1) w1(n) b retiming D b w2(n) (2) (2) National Central University EE4012VLSI Design 23 Architecture-Level Design – Retiming Retiming for pipeline design REG C1 C2 REG C3 (6ns) (2ns) (4ns) fref C1 C2 REG REG C3 (6ns) (2ns) (4ns) fref National Central University EE4012VLSI Design 24 Architecture-Level Design – Retiming Clock cycle is 4 gate delays Clock cycle is 2 gate delays National Central University EE4012VLSI Design 25 Architecture-Level Design – Power Management C2 C1 C1_FREEZE C2_FREEZE C2 C1 C1_FREEZE C2_FREEZE National Central University EE4012VLSI Design 26 Architecture-Level Design – Bus Segmentation • Avoid the sharing of resources Reduce the switched capacitance • For example: a global system bus A single shared bus is connected to all modules, this structure results in a large bus capacitance due to The large number of drivers and receivers sharing the same bus The parasitic capacitance of the long bus line • A segmented bus structure Switched capacitance during each bus access is significantly reduced Overall routing area may be increased National Central University EE4012VLSI Design 27 Architecture-Level Design – Bus Segmentation Cbus Cbus1 Bus Interface Cbus1 National Central University EE4012VLSI Design 28 Algorithmic-Level Design – factivity Reduction Minimization of the switching activity, at high level, is one way to reduce the power dissipation of digital processors. One method to minimize the switching signals, at the algorithmic level, is to use an appropriate coding for the signals rather than straight binary code. The table shown below shows a comparison of 3-bit representation of the binary and Gray codes. Binary Code Gray Code Decimal Equivalent 000 000 0 001 001 1 010 011 2 011 010 3 100 110 4 101 111 5 110 101 6 111 100 7 National Central University EE4012VLSI Design 29 State Encoding for a Counter • Two-bit binary counter: State sequence, 00 → 01 → 10 → 11 → 00 Six bit transitions in four clock cycles 6/4 = 1.5 transitions per clock • Two-bit Gray-code counter State sequence, 00 → 01 → 11 → 10 → 00 Four bit transitions in four clock cycles 4/4 = 1.0 transition per clock • Gray-code counter is more power efficient. G. K. Yeap, Practical Low Power Digital VLSI Design, Boston: Kluwer Academic Publishers (now Springer), 1998. Source: Prof. V. D. Agrawal National Central University EE4012VLSI Design 30 Binary Counter: Original Encoding a Present Next state state A b abAB B 0001 0110 1011 1100 A = a’b + ab’ CK B = a’b’ + ab’ CLR Source: Prof. V. D. Agrawal National Central University EE4012VLSI Design 31 Binary Counter: Gray Encoding Present a Next state state A abAB B 0001 b 0111 1000 1110 A = a’b + ab CK B = a’b’ + a’b CLR Source: Prof. V. D. Agrawal National Central University EE4012VLSI Design 32 Three-Bit Counters Binary Gray-code State No.
Recommended publications
  • Final-Del-Lab-Manual-2018-19
    LAB MANUAL DIGITAL ELECTRONICS LABORATORY Subject Code: 210246 2018 - 19 INDEX Batch : - Page Date of Date of Signature of Sr.No Title No Conduction Submission Staff GROUP - A Realize Full Adder and Subtractor using 1 a) Basic Gates and b) Universal Gates Design and implement Code converters-Binary to Gray and BCD to 2 Excess-3 Design of n-bit Carry Save Adder (CSA) and Carry Propagation Adder (CPA). Design and Realization of BCD 3 Adder using 4-bit Binary Adder (IC 7483). Realization of Boolean Expression for suitable combination logic using MUX 4 74151 / DMUX 74154 Verify the truth table of one bit and two bit comparators using logic gates and 5 comparator IC Design & Implement Parity Generator 6 using EX-OR. GROUP - B Flip Flop Conversion: Design and 7 Realization Design of Ripple Counter using suitable 8 Flip Flops a. Realization of 3 bit Up/Down Counter using MS JK Flip Flop / D-FF 9 b. Realization of Mod -N counter using ( 7490 and 74193 ) Design and Realization of Ring Counter 10 and Johnson Ring counter Design and implement Sequence 11 generator using JK flip-flop INDEX Batch : - Design and implement pseudo random 12 sequence generator. Design and implement Sequence 13 detector using JK flip-flop Design of ASM chart using MUX 14 controller Method. GROUP - C Design and Implementation of 15 Combinational Logic using PLAs. Design and simulation of - Full adder , 16 Flip flop, MUX using VHDL (Any 2) Use different modeling styles. Design & simulate asynchronous 3- bit 17 counter using VHDL. Design and Implementation of 18 Combinational Logic using PALs GROUP - D Study of Shift Registers ( SISO,SIPO, 19 PISO,PIPO ) Study of TTL Logic Family: Feature, 20 Characteristics and Comparison with CMOS Family Study of Microcontroller 8051 : 21 Features, Architecture and Programming Model ` Digital Electronics Lab (Pattern 2015) GROUP - A Digital Electronics Lab (Pattern 2015) Assignment: 1 Title: Adder and Subtractor Objective: 1.
    [Show full text]
  • A New Approach to the Snake-In-The-Box Problem
    462 ECAI 2012 Luc De Raedt et al. (Eds.) © 2012 The Author(s). This article is published online with Open Access by IOS Press and distributed under the terms of the Creative Commons Attribution Non-Commercial License. doi:10.3233/978-1-61499-098-7-462 A New Approach to the Snake-In-The-Box Problem David Kinny1 Abstract. The “Snake-In-The-Box” problem, first described more Research on the SIB problem initially focused on applications in than 50 years ago, is a hard combinatorial search problem whose coding [14]. Coils are spread-k circuit codes for k =2, in which solutions have many practical applications. Until recently, techniques n-words k or more positions apart in the code differ in at least k based on Evolutionary Computation have been considered the state- bit positions [12]. (The well-known Gray codes are spread-1 circuit of-the-art for solving this deterministic maximization problem, and codes.) Longest snakes and coils provide the maximum number of held most significant records. This paper reviews the problem and code words for a given word size (i.e., hypercube dimension). prior solution techniques, then presents a new technique, based on A related application is in encoding schemes for analogue-to- Monte-Carlo Tree Search, which finds significantly better solutions digital converters including shaft (rotation) encoders. Longest SIB than prior techniques, is considerably faster, and requires no tuning. codes provide greatest resolution, and single bit errors are either recognised as such or map to an adjacent codeword causing an off- 1 INTRODUCTION by-one error.
    [Show full text]
  • NOTE on GRAY CODES for PERMUTATION LISTS Seymour
    PUBLICATIONS DE L’INSTITUT MATHEMATIQUE´ Nouvelle s´erie,tome 78(92) (2005), 87–92 NOTE ON GRAY CODES FOR PERMUTATION LISTS Seymour Lipschutz, Jie Gao, and Dianjun Wang Communicated by Slobodan Simi´c Abstract. Robert Sedgewick [5] lists various Gray codes for the permutations in Sn including the classical algorithm by Johnson and Trotter. Here we give an algorithm which constructs many families of Gray codes for Sn, which closely follows the construction of the Binary Reflexive Gray Code for the n-cube Qn. 1. Introduction There are (n!)! ways to list the n! permutations in Sn. Some such permutation lists have been generated by a computer, and some such permutation lists are Gray codes (where successive permutations differ by a transposition). One such famous Gray code for Sn is by Johnson [4] and Trotter [6]. In fact, each new permutation in the Johnson–Trotter (JT ) list for Sn is obtained from the preceding permutation by an adjacent transposition. Sedgewick [5] gave a survey of various Gray codes for Sn in 1977. Subsequently, Conway, Sloane and Wilks [1] gave a new Gray code CSW for Sn in 1989 while proving the existence of Gray codes for the reflection groups. Recently, Gao and Wang [2] gave simple algorithms, each with an efficient implementation, for two new permutation lists GW1 and GW2 for Sn, where the second such list is a Gray code for Sn. The four lists, JT , CSW , GW1 and GW2, for n = 4, are pictured in Figure 1. This paper gives an algorithm for constructing many families of Gray codes for Sn which uses an idea from the construction of the Binary Reflected Gray Code (BRGC) of the n-cube Qn.
    [Show full text]
  • Other Binary Codes (3A)
    Other Binary Codes (3A) Young Won Lim 1/3/14 Copyright (c) 2011-2013 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Please send corrections (or suggestions) to [email protected]. This document was produced by using OpenOffice and Octave. Young Won Lim 1/3/14 Coding A code is a rule for converting a piece of information (for example, a letter, word, phrase, or gesture) into another form or representation (one sign into another sign), not necessarily of the same type. In communications and information processing, encoding is the process by which information from a source is converted into symbols to be communicated. Decoding is the reverse process, converting these code symbols back into information understandable by a receiver. Young Won Lim Other Binary Codes (4A) 3 1/3/14 Character Coding ASCII code BCD (Binary Coded Decimal) definitions for 128 characters: Number characters (0-9) 33 non-printing control characters (many now obsolete) 95 printable charactersi Young Won Lim Other Binary Codes (4A) 4 1/3/14 Representation of Numbers Fixed Point Number representation ● 2's complement +1234 ● 1's complement 0 -582978 coding ● sign-magnitude Floating Point Number representation +23.84380 ● IEEE 754 -1.388E+08
    [Show full text]
  • Loopless Gray Code Enumeration and the Tower of Bucharest
    Loopless Gray Code Enumeration and the Tower of Bucharest Felix Herter1 and Günter Rote1 1 Institut für Informatik, Freie Universität Berlin Takustr. 9, 14195 Berlin, Germany [email protected], [email protected] Abstract We give new algorithms for generating all n-tuples over an alphabet of m letters, changing only one letter at a time (Gray codes). These algorithms are based on the connection with variations of the Towers of Hanoi game. Our algorithms are loopless, in the sense that the next change can be determined in a constant number of steps, and they can be implemented in hardware. We also give another family of loopless algorithms that is based on the idea of working ahead and saving the work in a buffer. 1998 ACM Subject Classification F.2.2 Nonnumerical Algorithms and Problems Keywords and phrases Tower of Hanoi, Gray code, enumeration, loopless generation Contents 1 Introduction: the binary reflected Gray code and the Towers of Hanoi 2 1.1 The Gray code . .2 1.2 Loopless algorithms . .2 1.3 The Tower of Hanoi . .3 1.4 Connections between the Towers of Hanoi and Gray codes . .4 1.5 Loopless Tower of Hanoi and binary Gray code . .4 1.6 Overview . .4 2 Ternary Gray codes and the Towers of Bucharest 5 3 Gray codes with general radixes 7 4 Generating the m-ary Gray code with odd m 7 5 Generating the m-ary Gray code with even m 9 arXiv:1604.06707v1 [cs.DM] 22 Apr 2016 6 The Towers of Bucharest++ 9 7 Simulation 11 8 Working ahead 11 8.1 An alternative STEP procedure .
    [Show full text]
  • Algorithms for Generating Binary Reflected Gray Code Sequence: Time Efficient Approaches
    2009 International Conference on Future Computer and Communication Algorithms for Generating Binary Reflected Gray Code Sequence: Time Efficient Approaches Md. Mohsin Ali, Muhammad Nazrul Islam, and A. B. M. Foysal Dept. of Computer Science and Engineering Khulna University of Engineering & Technology Khulna – 9203, Bangladesh e-mail: [email protected], [email protected], and [email protected] Abstract—In this paper, we propose two algorithms for Coxeter groups [4], capanology (the study of bell-ringing) generating a complete n-bit binary reflected Gray code [5], continuous space-filling curves [6], classification of sequence. The first one is called Backtracking. It generates a Venn diagrams [7]. Today, Gray codes are widely used to complete n-bit binary reflected Gray code sequence by facilitate error correction in digital communications such as generating only a sub-tree instead of the complete tree. In this digital terrestrial television and some cable TV systems. approach, both the sequence and its reflection for n-bit is In this paper, we present the derivation and generated by concatenating a “0” and a “1” to the most implementation of two algorithms for generating the significant bit position of the n-1 bit result generated at each complete binary reflected Gray code sequence leaf node of the sub-tree. The second one is called MOptimal. It () ≤ ≤ n − is the modification of a Space and time optimal approach [8] G i ,0 i 2 1 , for a given number of bits n. We by considering the minimization of the total number of outer evaluate the performance of these algorithms and other and inner loop execution for this purpose.
    [Show full text]
  • GRAPHS INDUCED by GRAY CODES 1. Introduction an N-Bit
    GRAPHS INDUCED BY GRAY CODES ELIZABETH L. WILMER AND MICHAEL D. ERNST Abstract. We disprove a conjecture of Bultena and Ruskey [1], that all trees which are cyclic graphs of cyclic Gray codes have diameter 2 or 4, by producing codes whose cyclic graphs are trees of arbitrarily large diameter. We answer affirmatively two other questions from [1], showing that strongly Pn Pn- compatible codes exist and that it is possible for a cyclic code to induce× a cyclic digraph with no bidirectional edge. A major tool in these proofs is our introduction of supercomposite Gray codes; these generalize the standard reflected Gray code by allowing shifts. We find supercomposite Gray codes which induce large diameter trees, but also show that many trees are not induced by supercomposite Gray codes. We also find the first infinite family of connected graphs known not to be induced by any Gray code | trees of diameter 3 with no vertices of degree 2. 1. Introduction n An n-bit Gray code B = (b1; b2;:::; bN ), N = 2 , lists all the binary n-tuples (\codewords") so that consecutive n-tuples differ in one bit. In a cyclic code, the first and last n-tuples also differ in one bit. Gray codes can be viewed as Hamiltonian paths on the hypercube graph; cyclic codes correspond to Hamiltonian cycles. Two Gray codes are isomorphic when one is carried to the other by a hypercube isomorphism. The transition sequence τ(B) = (τ1; τ2; : : : ; τN 1) of an n-bit Gray code B lists − the bit positions τi [n] = 1; 2; : : : ; n where bi and bi+1 differ.
    [Show full text]
  • Lab Manual Exp Code Converter.Pdf
    Hybrid Electronics Laboratory Design and Simulation of Various Code Converters Aim: To Design and Simulate Binary to Gray, Gray to Binary , BCD to Excess 3, Excess 3 to BCD code converters. Objectives: 1. To understand different codes 2. To design various Code converters using logic gates 3. To simulate various code converters 4. To understand the importance of code converters in real life applications Theory Binary Codes A symbolic representation of data/ information is called code. The base or radix of the binary number is 2. Hence, it has two independent symbols. The symbols used are 0 and 1. A binary digit is called as a bit. A binary number consists of sequence of bits, each of which is either a 0 or 1. Each bit carries a weight based on its position relative to the binary point. The weight of each bit position is one power of 2 greater than the weight of the position to its immediate right. e. g. of binary number is 100011 which is equivalent to decimal number 35. BCD Codes Numeric codes represent numeric information i.e. only numbers as a series of 0’s and 1’s. Numeric codes used to represent decimal digits are called Binary Coded Decimal (BCD) codes. A BCD code is one, in which the digits of a decimal number are encoded-one at a time into group of four binary digits. There are a large number of BCD codes in order to represent decimal digits0, 1, 2 …9, it is necessary to use a sequence of at least four binary digits.
    [Show full text]
  • A Review of Binary to Gray and Gray to Binary Code Conversion
    Volume 3, Issue 10, October – 2018 International Journal of Innovative Science and Research Technology ISSN No:-2456-2165 A Review of Binary to Gray and Gray to Binary Code Conversion Pratibha Soni Vimal Kumar Agarwal M. TECH. Scholar Associate Professor Apex Institute of Engineering and Technology Apex Institute of Engineering and Technology Jaipur, Rajasthan, India Jaipur, Rajasthan, India Abstract:- In today’s world of electronics industries low II. LITERATURE REVIEW power has emerged as a principal theme. Power dissipation has become an essential consideration as area One of the promising computing technologies assuring for VLSI Chip design and performance. With shrinking zero power dissipation is the Reversible Logic. Reversible technology reducing overall power management and Logic has a wide spectrum of applications like power consumption on chip are the main challenges Nanotechnology based systems, Bio Informatics optical below 100nm as a result of increased complexity. When Circuits, quantum computing, and Low Power VLSI. it comes to many designs available, power optimization is Therefore, this paper represents the 4 bit reversible essential as timing as a result to the demand to extend comparator based on classical logic circuit which uses the battery life and reduce package cost. Asto reduce the existing reversible gates. The design simply aims at power consumption we have many techniques from those reducing optimization parameters like quantum cost, techniques, lets we implement on Reverse Logic. In garbage outputs, and the number of constant inputs. The reversible logic it as greater advantage and executing in results obtained in this research work indicate that the high speed, with less power dissipation which is proposed comparator has one constant input and 4 quantum implemented by using basic logic gates in less area.
    [Show full text]
  • Gray Codes and Efficient Exhaustive Generation for Several Classes Of
    Gray codes and efficient exhaustive generation for several classes of restricted words Ahmad Sabri To cite this version: Ahmad Sabri. Gray codes and efficient exhaustive generation for several classes of restricted words. Other [cs.OH]. Université de Bourgogne, 2015. English. NNT : 2015DIJOS007. tel-01203339 HAL Id: tel-01203339 https://tel.archives-ouvertes.fr/tel-01203339 Submitted on 22 Sep 2015 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. Thèse de Doctorat école doctorale sciences pour l’ingénieur et microtechniques UNIVERSITÉ DE BOURGOGNE Gray codes and efficient exhaustive generation for several classes of restricted words n AHMAD SABRI Thèse de Doctorat école doctorale sciences pour l’ingénieur et microtechniques UNIVERSITÉ DE BOURGOGNE THESE` present´ ee´ par AHMAD SABRI pour obtenir le Grade de Docteur de l’Universite´ de Bourgogne Specialit´ e´ : Informatique Gray codes and efficient exhaustive generation for several classes of restricted words Unite´ de Recherche : Laboratoire Electronique, Informatique et Image (LE2I) Soutenue publiquement
    [Show full text]
  • A Gray Code for Combinations of a Multiset
    AGray Co de for Combinations of a Multiset y Frank Ruskey Carla Savage Department of Computer Science Department of Computer Science University of Victoria North Carolina State University Victoria BC VW P Canada Raleigh North Carolina Abstract Let Ck n n n denote the set of all k elementcombinations of the t multiset consisting of n o ccurrences of i for i tEach combination i is itself a multiset For example C ff g f g f g f gg Weshowthatmultiset combinations can b e listed so that successive combina ultaneously generalize tions dier by one element Multiset combinations sim for which minimal change listings called Gray co des are known comp ositions and combinations Research supp orted by NSERC grantA y Research supp orted by National Science Foundation GrantNo CCR and National Security Agency Grant No MDAH Intro duction By Ck n n n we denote the set of all ordered t tuples x x x t t satisfying x x x k where x n for i t t i i We assume throughout the pap er that n is a p ositiveinteger for i t i Solutions to are referred to as combinations of a multiset b ecause they can b e regarded as k subsets of the multiset consisting of n copies of i for i t i Solution x x x corresp onds to the k subset consisting of x copies of i for t i i t For example C corresp onds to ff g f g f g f gg When each n is the set Ck n n n is simply the set of all combinations of i t t elements chosen k at a time Alternatively the elements of Ck n n n can b e regarded as placements t of k identical balls into
    [Show full text]
  • Gray Codes and Puzzles on Iterated Complete Graphs
    GRAY CODES AND PUZZLES ON ITERATED COMPLETE GRAPHS ELIZABETH WEAVER ADVISOR: PAUL CULL OREGON STATE UNIVERSITY ABSTRACT. There exists an infinite family of puzzles, the SF Puzzle, that correspond to labelings on iterated complete graphs of odd dimensions, the simplest being the well-known Towers of Hanoi puzzle. There is also a puzzle, knownas Spin-Out that correspondsto the reflected binary Gray code; however, thus far there has been no family of puzzles defined that can be represented by labelings on all iterated complete graphs of even dimensions. This paper explores the properties that labelings of known puzzles possess, tries to determine the necessary labeling properties for a new puzzle, and n defines a puzzle on K4 . Unfortunately, this puzzle does not extend to labelings on all even dimension iterated complete graphs. 1. INTRODUCTION Mathematics forms the basis for many well-known and interesting puzzles. For example, the popular game the Towers of Hanoi can be represented graphically and has several applications in graph theory and in error correcting codes [2]. By mathematically generalizing the rules of the Towers of Hanoi, a new family of puzzles was created that can be easily represented by graphs [5]. In these puzzles there are an odd number of possible positions for each piece and an easily defined rule to determine the possible moves for each piece. It seems logical that a family of puzzles should exist where there are an even number d possible moves for each piece, but with the exception of d = 2 no one rule seems to describe a puzzle like that of the Towers of Hanoi.
    [Show full text]