Analysis and Identification of Speed-Independent Circuits on an Event Model

Total Page:16

File Type:pdf, Size:1020Kb

Analysis and Identification of Speed-Independent Circuits on an Event Model Formal Methods in System Design, 4: 33-75 (1994) © 1994 Kluwer Academic Publishers Analysis and Identification of Speed-Independent Circuits on an Event Model M. KISHINEVSKY R&D Coop TRASSA, St. Petersburg, Russia, and Technical University of Denmark, Lyngby, Denmark A. KONDRATYEV, A. TAUBIN, AND V. VARSHAVSKY R&D Coop TRASSA, St. Petersburg, Russia, and The University of Aizu, Japan Received January 17, 1992; revised June 22, 1993 Abstract. The object of this article is the analysis of asynchronous circuits for speed independence or delay insensitivity. The circuits are specified as a netlist of logic functions describing the components. The analysis is based on a derivation of an event specification of the circuit behavior in a form of a signal graph. Signal graphs can be viewed either as a formalization of timing diagrams, or as a signal interpreted version of marked graphs (a subclass of Petri nets). The main advantage of this method is that a state explosion is avoided. A restoration of an event specification of a circuit also helps to solve the behavior identification problem, i.e., to compare the obtained specification with the desired specification. We illustrate the method by means of some examples. Keywords: speed-independent circuits, delay-insensitive circuits, event models, signal graph, analysis, identification, verification 1. Introduction Speed-independent and delay-insensitive circuits seem to be very promising in a number of VLSI applications, for example, in hardware interfacing. Such circuits, which do not use clocks for the ordering of operations, have well-known advantages. They are more robust, they have self-checking properties with respect to stuck-at faults, and they are potentially faster than synchronous circuits in highly parallel and iterative computations, since their correct operation does not depend on worst-case delays of the components [1-3]. The design of these circuits appears to be an intellectual problem requiring skill and experience. In a top-down approach, we start the design from a formal specification and proceed to develop a logic circuit, which implements this specification. Such an approach requires verification of the initial specification followed by a formal method of synthesis [3-6]. Another, bottom-up, approach consists of generating standard library modules, which can be used as building blocks for large-scale circuits [2, 7]. In the top-down design, analysis methods are used for performance evaluation [8] and for dynamic modeling of the circuits. Even if methods of formal design are correct by construction, we still need tools to browse through alternative 34 KlSHINEVSKY, A. KONDRATYEV, A. TAUBIN, AND V. VARSHAVSKY solutions and to choose the best one. In the bottom-up approach, analysis is a kernel of a design method: there is no guarantee that the circuit implementation we have arrived at is correct in both the functional and dynamic sense. The purpose of this article is to present a method of analysis that can be used both in the bottom-up and the top-down design. In [9] we gave a brief discussion of this method. Objects of analysis are asynchronous circuits, specified by netlists of logic functions of components. Analysis problems can be divided in two parts: first, to test the circuit with respect to speed independence and delay insensitivity, and second, to perform behavior identification, i.e., to construct and check "all circuit behaviors" in order to recognize whether the circuit operates as requested. The problem of identification can be decomposed into two independent sub-problems: reconstructing a behavior specification from a netlist of circuit components, and matching this specification with the desired one. In the present article, we check the distributivity property to ensure the cor­ rectness of circuits. We formally define the distributivity property in section 2.3. This property is sufficient to guarantee the speed independence of a circuit behavior [10]. Distributive circuits are the most popular in a design [2, 8], since both analysis and synthesis of such circuits are much easier than in the general case of speed-independent circuits. It was proved in [2] that any distributive circuit can be implemented without hazards using the minimal basis of NAND gates or, dually, NOR gates. To implement nondistributive speed-independent circuits, one needs either a basis of complex AND-OR-NOT gates or a basis of NAND and NOR gates together. The distributivity property is a necessary but not a sufficient condition for the circuit to be delay insensitive. To test for delay insensitivity, we explicitly introduce auxiliary "WIRE"-components (Le., buffers) into all wire connections that have to be checked. The behavior of distributive circuits can be specified with an event-based model, called signal graphs, with only one type of causal relations (AND type): an event can occur only if all its predecessors have occurred. Distributive circuits do not include circuits with OR-causal relations between signal transitions. Any circuit with an OR gate (or, dually, AND gate) has an OR-causal relation, and, hence, is not distributive, if concurrent transitions of the type 0 --t 1(1 --t 0) can occur at the inputs of the gate. A small example of a circuit with an OR-causal relation is given in figure 2. The parallel compression circuit (Figures 4.6 and 11.2 in [2]) used to perform a code membership test for a double-rail 4-phase communication is a practical example of a nondistributive speed-independent circuit. Circuits with a nondeterministic choice, like the arbiters, are also excluded. In subsection 8.2 we give an example of the SELECT element, where the internal implementation of the circuit is not distributive, and not even speed independent, but its behavior at the external terminals appears distributive. This can be viewed as a useful technique for dealing with the limitations of the class of distributive circuits, based on hiding a non distributive behavior inside circuit modules. ANALYSIS AND IDENTIFICATION OF SPEED-INDEPENDENT CIRCUITS 35 The summary of the results of the article is as follows. 1. We present an efficient algorithm that, given a circuit and an initial state, verifies whether a circuit is distributive and extracts a signal graph specifying a circuit behavior. 2. The algorithm considers signal transitions instead of states. In principle, a distributivity test and an identification of a circuit behavior can be solved in a straightforward manner by derivation of the whole set of global states of a circuit. However, such a straightforward procedure is not suitable for practical use due to the exponential complexity. A partial ordering of the signal transitions leads to an. algorithm in which a state explosion is avoided. 3. The partial ordering of signal transitions is based on properties of distributive circuits that were introduced by D. Muller [10]. We show how Muller's ideas of cumulative states help in a derivation of the partial ordering of signal transitions used in our algorithm. 4. In particular, we introduce a notion of "basic cumulative states" and show that for any given signal there is a unique sequence of basic states with one state for each signal transition. In other words, for a distributive circuit the sequence of possible basic states for any particular signal is totally ordered. The ordering or concurrency of transitions of two different signals can be determined by comparing their basic cumulative states. 5. We show that there are three major factors that allow us to reduce the search space for basic states and corresponding signal transitions down to a polynomial size, namely: a real interconnection between the circuit gates, a "maximal parallelism strategy" for generation of signal transitions, and the concurrency between transitions. Unlike previous analysis techniques based on a search for all operational states of a circuit, this algorithm searches for all so-called "active sets of signal transitions." These active sets of transitions correspond to those "noninertial" states of a circuit, in which either new signal transitions or distributivity errors can be expected. The method proposed depends exponentially on the extremely small parameter-the number of concurrent signal transitions at the inputs of one circuit gate. Therefore the number of active sets and noninertial states is typically a linear function of the number of signal transitions. 6. Based on the notion of active sets we derive conditions for the generation of a new signal transition and for the simultaneous distributivity test. A criterion to halt the process of analysis and to fold an extracted acyclic signal graph into a cyclic one is given. The organization of this article is as follows. In section 2, we define the low-level model of asynchronous circuits, called the Muller model, together with the related binary state model, called a transition diagram, and the integer state model, called a cumulative transition diagram. We then define classes of semimodular and distributive circuits and show that 36 KISHINEVSKY, A. KONDRATYEV, A. TAUBIN, AND V. VARSHAVSKY for both of these a "local criterion" of correctness does exist in terms of global states of a circuit. In this section we mainly review the work of D. Muller [10] and ourselves [2]. Section 3 defines an event model called signal graphs and describes its prop­ erties. Section 4 defines basic states of a circuit and presents their unique properties. A one-to-one correspondence does exist between so-called basic states and signal transitions of a distributive circuit. The key pieces of the algorithm are derived in sections 5 and 6. In section 5 we show major factors that allow us to reduce the search space for basic states down to a polynomial size. We define active sets of signal transitions and give a criterion for the generation of signal transitions (subsection 5.3), as well as criteria to test for distributivity simultaneously with the generation of a new signal transition (subsection 5.4).
Recommended publications
  • Finite Element Analysis Of
    DEPARTMENT OF MANAGEMENT AND ENGINEERING Mechanical Behaviour of Single-Crystal Nickel-Based Superalloys Master Thesis carried out at Division of Solid Mechanics Linköping University January 2008 Daniel Leidermark LIU-IEI-TEK-A--08/00283--SE Institute of Technology, Dept. of Management and Engineering, SE-581 83 Linköping, Sweden Framläggningsdatum Avdelning, institution Presentation date Division, department 2008-01-28 Publiceringsdatum Division of Solid Mechanics Publication date Dept. of Management and Engineering 2008-02-04 SE-581 83 LINKÖPING Språk Rapporttyp ISBN: Language Report category Svenska/Swedish Licentiatavhandling ISRN: LIU-IEI-TEK-A--08/00283--SE X Engelska/English X Examensarbete C-uppsats Serietitel: D-uppsats Title of series Övrig rapport Serienummer/ISSN: Number of series URL för elektronisk version URL for electronic version http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-10722 Titel Mechanical behaviour of single-crystal nickel-based superalloys Title Författare Daniel Leidermark Author Sammanfattning Abstract In this paper the mechanical behaviour, both elastic and plastic, of single-crystal nickel-based superalloys has been investigated. A theoretic base has been established in crystal plasticity, with concern taken to the shearing rate on the slip systems. A model of the mechanical behaviour has been implemented, by using FORTRAN, as a user defined material model in three major FEM-programmes. To evaluate the model a simulated pole figure has been compared to an experimental one. These pole figures match each other very well. Yielding a realistic behaviour of the model. Nyckelord: material model, single-crystal, superalloy, crystal plasticity, LS-DYNA, ABAQUS, ANSYS, Keyword FORTRAN, pole figure V Abstract In this paper the mechanical behaviour, both elastic and plastic, of single- crystal nickel-based superalloys has been investigated.
    [Show full text]
  • THE PASSWORD AUTHENTICATION SECURITY- Draft
    THE PASSWORD AUTHENTICATION SECURITY- draft Peter Szabó and Radko ulej and Viera Mislivcová Technical University of Ko²ice, Faculty of Aeronautics, Department of Aerodynamics and Simulations, Rampová 7, 040 21 Ko²ice, Slovak Republic Abstract The simplest way of authentication into information systems is the one of made by name and password. Name is a static aspect, attention is to be paid to password. Reducing safety risk by revealing the password consists in using a sucient number of and safe combination of characters in the password. One of the ways of verifying the suciently safe password is by developing a model for the proces of simulation, through which one can nd out the time maximum time required for the computer to decode the password of a given type and length applying the method of brute force attack. Keywords: information security, authentication, password, brute force, variations with repetitions. 1. Introduction Modern transport companies information systems use in all business processes. In air transport, an example of such a system are computer reservations systems, see [6]. Here it is necessary to authenticate users. Authentication in information systems with a password is a basic way of proving users identity in the system. Brute force is the type of attack whereby the attacker tries to break the password by systematically checking all possible keys. The possible keys can be tested locally or remotely. This process involves systematically checking all possible keys until the correct key is found. In the worst case, this would involve traversing the entire search space. Dierent combinations of passwords can be checked within a very short time.
    [Show full text]
  • Sample Dissertation Format
    Towards A Novel Unified Framework for Developing Formal, Network and Validated Agent-Based Simulation Models of Complex Adaptive Systems Muaz Ahmed Khan Niazi Computing Science and Mathematics School of Natural Sciences University of Stirling Scotland UK This thesis has been submitted to the University of Stirling In partial fulfillment for the degree of Doctor of Philosophy 2011 Abstract Literature on the modeling and simulation of complex adaptive systems (cas) has pri- marily advanced vertically in different scientific domains with scientists developing a variety of domain-specific approaches and applications. However, while cas researchers are inherently interested in an interdisciplinary comparison of models, to the best of our knowledge, there is currently no single unified framework for facilitating the development, comparison, communication and validation of models across different scientific domains. In this thesis, we propose first steps towards such a unified framework using a combination of agent-based and complex network-based modeling approaches and guidelines formulat- ed in the form of a set of four levels of usage, which allow multidisciplinary researchers to adopt a suitable framework level on the basis of available data types, their research study objectives and expected outcomes, thus allowing them to better plan and conduct their re- spective research case studies. Firstly, the complex network modeling level of the proposed framework entails the de- velopment of appropriate complex network models for the case where interaction data of cas components is available, with the aim of detecting emergent patterns in the cas under study. The exploratory agent-based modeling level of the proposed framework allows for the development of proof-of-concept models for the cas system, primarily for purposes of exploring feasibility of further research.
    [Show full text]
  • Using Certification Trails to Achieve Software Fault Tolerance Abstract
    -c- The Twenteth International Symposium on Fault-Tolerant Computing (1990) Using Certification Trails to Achieve Software Fault Tolerance Gregory F. Sullivan 1 Gerald M. Masson 3 Dept. of Computer Science, Johns Hopkins Univ., Baltimore, MD 21218 Abstract | technique for software fault tolerance, we will first dis- w cuss a simpler fault tolerant software method. In this We introduce a conceptually novel sad powerful tech- method the specification of a problem is given and an nique to achieve fault tolerance in hardware and soft- [ algorithm to solve it is constructed. This algorithm is ware systems. When used for software fault tolerance, executed on an input and the output is stored. Next, this new technique uses time and software redundancy the same algorithm is executed again on the same in- and can be outlined as follows. In the initial phase, put and the output is compared to the earlier output. a program is run to solve a problem and store the re- If the outputs differ then an error is indicated, oth- suit. In addition, this program leaves behind a trail of erwise the output is accepted a.s correct. This soft- data which we call a certification trail. In the second ware fault tolerance method req,ires additional time, phase, another program is run which solves the origi- so called time redundancy [14, 22]; however, it requires nal problem again. This program, however, has access no additional software. It is particularly valuable for to the certification trail left by the first program. Be- detecting errors caused by transient fault phenomena. cause of the availability of the certification trail, the If such faults cause an error during only one of the ex- second phase can be performed by a less complex pro- ecutions then either the error will be detected or the gram and can execute more quicHy.
    [Show full text]
  • Algorithm - Wikipedia, the Free Encyclopedia
    Algorithm - Wikipedia, the free encyclopedia http://en.wikipedia.org/w/index.php?title=Algorithm&printable=yes Algorithm From Wikipedia, the free encyclopedia In mathematics, computer science, and related subjects, an algorithm is an effective method for solving a problem using a finite sequence of instructions. Algorithms are used for calculation, data processing, and many other fields. Each algorithm is a list of well-defined instructions for completing a task. Starting from an initial state, the instructions describe a computation that proceeds through a well-defined series of successive states, eventually terminating in a final ending state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as randomized algorithms, incorporate randomness. A partial formalization of the concept began with attempts to solve This is an algorithm that the Entscheidungsproblem (the "decision problem") posed by David tries to figure out why the Hilbert in 1928. Subsequent formalizations were framed as attempts lamp doesn't turn on and [1] [2] tries to fix it using the steps. to define "effective calculability" or "effective method" ; those Flowcharts are often used formalizations included the Gödel-Herbrand-Kleene recursive to graphically represent functions of 1930, 1934 and 1935, Alonzo Church's lambda calculus algorithms. of 1936, Emil Post's "Formulation 1" of 1936, and Alan Turing's Turing machines of 1936–7 and 1939. Contents 1 Etymology 2 Why algorithms are necessary: an informal definition 3 Formalization
    [Show full text]
  • Plantilla Para Proyectos En C/C++ Del RAL 1 Objetivos 2 Descripción
    RAL - Robotics and Automation Laboratory - Prof. M. Torres T. Departamento de Ingenier´ıa Electrica´ Pontificia Universidad Catolica´ de Chile Plantilla para Proyectos en C/C++ del RAL / Estructura y L´ogica del Programa . 1 Objetivos • Proveer una plantilla con la estructura y l´ogica b´asica para la implementaci´on m´as r´apida de algorit- mos en proyectos del ´area de rob´otica, como algoritmos de control, estimaci´on y otros de adquisici´on, procesamiento e interpretaci´on de datos. • Fijar un est´andar m´ınimo para los proyectos del grupo RAL que garantice: – Orden y simplicidad ⇒ claridad. – Modularidad y reusabilidad. – Portabilidad. 2 Descripci´on La estructura general de toda soluci´on de automatizaci´on requiere de tres pasos fundamentales: 1. Sensado: Medir ciertas variables que se desean controlar. 2. Procesamiento: Procesar los datos medidos para extraer informaci´on de inter´es. 3. Decisi´on/Acci´on: Verificar que las variables de inter´es cumplan un cierto objetivo fijado por el usuario, y de lo contrario, tomar acciones que ajusten las variables de inter´es del sistema. Las tres etapas anteriores se repiten una y otra vez durante la operaci´on del sistema. Cabe notar que en estas etapas est´an implicitos dos hechos. Primero, que el programa recoge o recibe datos, luego opera sobre estos y finalmente entrega ciertos resultados. Por otra parte, est´a el hecho de que existe un usuario que de alguna manera interactua con el sistema para fijar tanto objetivos como otros par´ametros deseados de operaci´on. En este sentido, la soluci´on puede descomponerse en tareas o funciones de bajo nivel, aquellas encargadas de interactuar con el hardware, y otras de m´as alto nivel encargadas de la interacci´on entre el usuario y la m´aquina.
    [Show full text]
  • Signature Redacted ----- Chairman, Epartmental Committee on Graduate Students - - - /\Rr·· ''VE"' ~~~
    A Theory of Syntactic Recognition for Natural Language by Mitchell Philip Marcus A.B., Harvard University (1972) Submitted in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy at the Massachusetts Institute of Technology February, 1978 Signature of Author Sign~ture redacted Department of Electrical int.ftteeriii.l/ Jind Computer Science, October 13, 1977 Certified by Signature redacted .., --7"--_.,.a;:..<-- ....., -J----7-..-----,.......-----77~~--~7.....,...::;»...,.... __T_h_e_si-s-Su-pe-r-vi-·-so-r Accepted Signature redacted ----- Chairman, epartmental Committee on Graduate Students - - - /\Rr·· ''VE"' ~~~ .. _ • ><~ vr1i ~ / .. '· ( f'AAY ,,, ,,1,) ; - / ' ~~--~ a A Theory of Syntactic Recognition for Natural Language by Mitchell Philip Marcus Submitted to the Department of Electrical Engineering and Computer Science on October 13, 1977 in partial fulfillment of the requirements of the Degree of Doctor of Philosophy. Abstract This dissertation investigates the hypothesis that the syntax of natural language can be parsed by a left-to-right deterministic mechanism without facilities for parallelism or backup. This determinism hypothesis, explored in the context of the grammar of English, is shown to lead to a simple mechanism, a grammar interpreter, having the following properties: -Simple rules of grammar can be written for this interpreter which capture the generalizations behind passives, yes/no questions, and other linguistic phenomena, despite the Intrinsic difficulty of capturing such generalizations in the framework of a processing model for recognition, as opposed to a competence model. -The structure of the grammar interpreter constrains its operation in such a way that, by and large, grammar rules cannot parse sentences which violate either of two constraints on rules of grammar currently proposed by Chomsky.
    [Show full text]
  • Alpha: Una Notación Algorítmica Basada En Pseudocódigo
    ALPHA: UNA NOTACIÓN ALGORÍTMICA BASADA EN PSEUDOCÓDIGO (Alpha: An algorithm notation based on pseudocode) Recibido: 12/09/2014 Aprobado: 24/10/2014 Ramírez, Esmitt Universidad Central de Venezuela, Venezuela [email protected] RESUMEN En las Ciencias de la Computación, un algoritmo es un conjunto ordenado de instrucciones que permiten realizar una tarea mediante pasos sucesivos, tomando datos de entrada sobre un estado inicial para arrojar una salida. Así, un algoritmo puede ser expresado de muchas maneras: usando lenguaje natural, algún lenguaje de programación, diagramas de flujo, pseudocódigo, entre otros. Particularmente, el nio 2015 nio pseudocódigo ofrece una descripción de alto nivel de un algoritmo mezclando el lenguaje Ju – – natural con sintaxis de uno o muchos lenguajes de programación. El pseudocódigo es ampliamente empleado en diversos libros de texto, publicaciones científicas, cátedras universitarias, y como producto intermedio durante la fase de desarrollo de software. Sin embargo, el pseudocódigo no está basado en ningún estándar o notación, presentando una gran variación entre distintos grupos de investigación y desarrollo. En este trabajo se propone una notación para la construcción de algoritmos y estructuras de datos que es dición No 1 Enero Enero 1 No dición simple, eficaz y moderna, permitiendo una rápida conversión entre el pseudocódigo y un E lenguaje de programación. Entonces, se describe de forma detallada la sintaxis y 14 convenciones empleadas en la notación propuesta ofreciendo una poderosa y útil herramienta con soporte a diversos enfoques de programación. Las pruebas realizadas demuestran su uso en la construcción de estructuras de datos complejas y al mismo . Volumen Volumen . tiempo verifican su impacto en un curso de Algoritmia.
    [Show full text]
  • Sample Dissertation Format
    Towards A Novel Unified Framework for Developing Formal, Network and Validated Agent-Based Simulation Models of Complex Adaptive Systems Muaz Ahmed Khan Niazi Computing Science and Mathematics School of Natural Sciences University of Stirling Scotland UK This thesis has been submitted to the University of Stirling In partial fulfillment for the degree of Doctor of Philosophy 2011 Abstract Literature on the modeling and simulation of complex adaptive systems (cas) has pri- marily advanced vertically in different scientific domains with scientists developing a variety of domain-specific approaches and applications. However, while cas researchers are inherently interested in an interdisciplinary comparison of models, to the best of our knowledge, there is currently no single unified framework for facilitating the development, comparison, communication and validation of models across different scientific domains. In this thesis, we propose first steps towards such a unified framework using a combination of agent-based and complex network-based modeling approaches and guidelines formulat- ed in the form of a set of four levels of usage, which allow multidisciplinary researchers to adopt a suitable framework level on the basis of available data types, their research study objectives and expected outcomes, thus allowing them to better plan and conduct their re- spective research case studies. Firstly, the complex network modeling level of the proposed framework entails the de- velopment of appropriate complex network models for the case where interaction data of cas components is available, with the aim of detecting emergent patterns in the cas under study. The exploratory agent-based modeling level of the proposed framework allows for the development of proof-of-concept models for the cas system, primarily for purposes of exploring feasibility of further research.
    [Show full text]
  • Crystal Plasticity and Crack Initiation in a Single-Crystal Nickel-Base Superalloy
    Linköping Studies in Science and Technology Dissertation No. 1410 Crystal plasticity and crack initiation in a single-crystal nickel-base superalloy Modelling, evaluation and applications Daniel Leidermark Division of Solid Mechanics Department of Management and Engineering Linköping University, SE-581 83, Linköping, Sweden Linköping, December 2011 Cover: A FE-simulation of one of the notched test specimens, showing the stress response in the loading direction due to the applied boundary conditions and load (shown in a simplistic form). Printed by: LiU-Tryck, Link¨oping, Sweden, 2011 ISBN 978-91-7393-022-2 ISSN 0345-7524 Distributed by: Link¨oping University Department of Management and Engineering SE{581 83, Link¨oping, Sweden c 2011 Daniel Leidermark This document was prepared with LATEX, November 14, 2011 No part of this publication may be reproduced, stored in a retrieval system, or be transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior permission of the author. Preface This dissertation has been compiled during the autumn of 2011 in the interdisci- plinary research group Mechanics and Materials in High Temperature Applications within the Division of Solid Mechanics at Link¨oping University. The research has been financially supported by the Swedish Energy Agency through the research consortium KME as a project in cooperation with Siemens Industrial Turboma- chinery AB. The support of these is gratefully acknowledged. I would also like to thank my supervisors, Kjell Simonsson, Johan Moverare, S¨oren Sj¨ostr¨om and Sten Johansson, for all their help and hints during the work on this dissertation. Support and interesting discussions with all the Ph.D.
    [Show full text]