
Generalized data flow graphs : theory and applications Citation for published version (APA): Jong, de, G. G. (1993). Generalized data flow graphs : theory and applications. Technische Universiteit Eindhoven. https://doi.org/10.6100/IR402436 DOI: 10.6100/IR402436 Document status and date: Published: 01/01/1993 Document Version: Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement: www.tue.nl/taverne Take down policy If you believe that this document breaches copyright please contact us at: [email protected] providing details and we will investigate your claim. Download date: 08. Oct. 2021 Generalized data flow graphs theory and applications c ____ ,._ _____ _ Gjalt Gerrit de Jong Generalized data flow graphs theory and applications Generalized data flow graphs theory and applications PROEFSCHRIFT ter verkrijging van de graad van doctor aan de Technische Universiteit Eindhoven, op gezag van de Rector Magnificus, prof. dr. J.H. van Lint, voor een commissie aangewezen door het College van Dekanen in het open­ baar te verdedigen op vrijdag 8 oktober 1993 om 16.00 uur door Gjalt Gerrit de Jong geboren te Bierum Oit proefschrift is goedgekeurd door de promotoren prof. Dr. -Ing. J.A.G. Jess en prof. dr. ir. Th. Krol en door de copromotor dr. ir. J.T.J. van Eijndhoven © Copyright 1993 Gjalt Gerrit de Jong CIP-GEGEVENS KONINKLIJKE BIBLIOTHEEK, DEN HAAG Jong, Gjalt Gerrit de Generalized data flow graphs : theory and applications I Gjalt Gerrit de Jong. - [S.I. : s.n.]. - Fig., tab. Thesis Eindhoven. - With index, ref. - With summary in Dutch ISBN 90-9006384-6 NUGI 852/ 832 Subject headings: programming theory I programming verification I formal languages Abstract The area of application for the concepts defined and the theorems and properties proved in this thesis, is the automatic generation of integrated circuits. Starting from a high level description of the specification of the function of a system, high level synthesis results in a network graph, i.e. a network or a description at the structural (register transfer) level, and a control graph, defining which modules are active at what (time) instance. The network graph is the main result of the alloca­ tion phase of high level synthesis, whereas the control graph is the main result of the scheduling phase. The high level description typically is a program or algo­ rithm describing the function of the system to be designed. The concept of data flow graphs is a well-suited formalism to start synthesis from, since it contains all the necessary details to do synthesis, without the bother by a specific syntax or the syntactic sugar of any language. It is therefore a general formalism. A data flow graph imposes also no other restriction on the execution of the system than those prescribed by the data dependencies in the high level description. In this thesis, the concept of data flow graphs is extended with so-called multi­ destination and multi-origin edges, i.e. hyper edges. Data flow graphs convention­ ally have only edges with one origin and one destination. The introduction of multi-destination edges does not lead to any additional expressiveness, but the multi-origin feature does. The multi-origin edges lead to the notion of 'choice'. In this way, networks are a special type of these generalized data flow graphs, namely those in which all nodes are defined by various kinds of hardware modules instead of by some abslract type of behavior. The multi-destination and multi-origin edges Vi ABSTRAC'T in the data flow graph are just nets in a network. Also it is shown that the control graph is an abstraction of the data flow graph under consideration. Therefore, high level synthesis is just a graph transformation on the data flow graph level. Scheduling turns out to be a partitioning of the flow graph, which is implied by the introduction of sequence edges. Sequence edges have in principle the same func­ tion as the normal data edges, namely to denote a precedence relation. Another important task of high level synthesis is to minimize the number of multiplexors and demultiplexors. These (de)multiplexors are introduced by scheduling (in which they normally are not mentioned explicitly at all), and by the control state­ ments, like if and while, in the specification. Scheduling also is just a graph trans­ formation that can be proved to be equivalence preserving. With the concepts pre­ sented here, some requirements are stated under which synthesis results in a prop­ erly and equivalently behaving network, which is only restricted in the number of execution sequences. These requirements turn out to be less restrictive than those of existing synthesis tools. This gives the opportunity to find better solutions. Nonnal data flow graphs may be viewed as marked Petri nets, while choice is included with the generalized data flow graph presented here, leading to possible non-determinism. In principle the notion of conflict is also added. Most results assume a conflict-free flow graph, since conflict is not used for the type of applica­ tion of high level synthesis. However, conflict is considered in one of the main results, namely the reduction technique to compute as little as possible of the reachable state space of a data flow graph. This technique is called anticipation. It is e.g. proved that a choice-free graph is deterministic, and that only one state sequence of the reachable state space is necessary to extract the behavior of the flow graph. When the data flow graph is not choice-free, only a few execution sequences are needed. Since conflict in normal, i.e. uninterpreted, Petri nets and choice in data flow graphs are each other's dual, the same result is valid for Petri nets. Several semantics are defined for the generalized data flow graphs: an operational semantics and two denotational semantics. One denotational semantics defines only the (input-output) behavior of a flow graph, while the other also defines the different execution sequences, i.e. the internal behavior, too. Another presented denotational semantics is based on a process algebra. All these semantics are proved to be equivalent, and they reduce to the conventional semantics as defined for normal, i.e. choice-free, data flow graphs. With these semantics, some prop­ erty preserving transformations are defined, mainly of use for hierarchical expan­ sion of nodes as well as for abstraction. ABSTRACT vii Furthermore, some examples are given to show the absence of any other restriction in the data flow graph concept, apart from the data dependencies. These examples show the power of the anticipation strategy, too, even for Petri nets, and illustrate some of the other stated theorems. It is also shown how data flow graphs can be used for specifications which at first sight violate the data flow principle, as is the case for some constructs commonly used in parallel programs and in control domi­ nated specifications. Also a technique is described which can be used to verify requirements that a sys­ tem should satisfy, and which are not part of the functional description. Examples of such additional requirements are the freedom of deadlock and the absence of starvation for a set of cooperating flow graphs. The technique is model checking of temporal logic formulae. The use of temporal logic allows for a large variety of properties to be checked, and is not restricted to the classical ones such as liveness and safeness in Petri nets. An extension to this method of model checking is pre­ sented, in which constraints are suggested under which the system under consider­ ation will satisfy certain additional requirements, if possible. These constraints are of the form of additional sequence edges, so that only the correctly behaving sub­ set of the state space is reachable. Samenvatti11g Het toepassingsgebied van de concepten die in dit proefschrift worden gedefinieerd, en van de theorema's en eigenschappen die worden bewezen, is het automatisch genereren van gefutegreerde schakelingen. Uitgaande van een hoog niveau beschrijving van de specificatie van de functie van een systeem, leidt hoog niveau syntbese tot een netwerk graaf, dat wil zeggen een beschrijving op structuur-, of register-transfer, niveau, en een controle-graaf, die definieert welke modulen actief zijn op welk moment.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages235 Page
-
File Size-