Skip to main content
Top

2017 | Book

Prototyping of Concurrent Control Systems Implemented in FPGA Devices

insite
SEARCH

About this book

This book focuses on prototyping aspects of concurrent control systems and their further implementation and partial reconfiguration in programmable devices. Further, it lays out a full prototyping flow for concurrent control systems. Based on a given primary specification, a system is described with an interpreted Petri net, which naturally reflects the concurrent and sequential relationships of the design.

The book shows that, apart from the traditional option of static configuration of the entire system, the latest programmable devices (especially FPGAs) offer far more sophistication. Partial reconfiguration allows selected parts of the system to be replaced without having to reprogram the entire structure of the device. Approaches to dynamic and static partial reconfiguration of concurrent control systems are presented and described in detail.<

The theoretical work is illustrated by examples drawn from various applications, with a milling machine and a traffic-light controller highlighted as representative interpreted Petri nets.

Given the ubiquity of concurrent control systems in a huge variety of technological areas including transportation, medicine, artificial intelligence, manufacturing, security and safety and planetary exploration, the innovative software and hardware design methods described here will be of considerable interest to control engineers and systems and circuits researchers in many areas of industry and academia.

Table of Contents

Frontmatter
Chapter 1. Introduction
Abstract
Control systems surround us everywhere. They can be found in almost all areas of human life, such as medical care [4, 24, 26], transportation and automotive [19, 122, 129], artificial intelligence and robotics [36, 37, 83, 93], manufacturing [25, 64, 77], data and process mining [23, 53, 82, 134], digital devices and embedded systems [2, 34, 56, 80, 89, 106, 117, 142, 151], banking [6, 40, 115, 130], security and safety [49, 90, 91, 105].
Remigiusz Wiśniewski
Chapter 2. Related Work
Abstract
This chapter introduces formal notations and definitions used in the book. We describe a concurrent control system by an interpreted Petri net. The presented notations are illustrated by real-life examples of concurrent control systems. Furthermore, the basic notations and definitions related to the computational complexity of algorithms are shown.
Remigiusz Wiśniewski
Chapter 3. Perfect Graphs and Comparability Graphs
Abstract
The first use of graph theory is dated to 1735. Swiss mathematician and physicist, Leonhard Euler, formulated theorems and definitions related to graphs. Euler was inspired by a real problem regarding crossing bridges in Königsberg (east Prussia, also known as Królewiec, Kaliningrad). He tried to take a walk around the city in such a way that each of the seven bridges was crossed only once. Finally, Euler proved that it was impossible, simultaneously solving the puzzles with the application of graph theory. Nowadays, such a theory is used in numerous fields of science and practical approaches. This chapter presents notations and definitions related to the graph theory. Furthermore, perfect graphs and comparability graphs are introduced. New theorems, lemmas, and algorithms regarding recognition and coloring of comparability graphs are proposed.
Remigiusz Wiśniewski
Chapter 4. Hypergraphs and Exact Transversals
Abstract
The notion of a hypergraph was first used in the second half of the previous century. In 1973, a French mathematician, Claude Berge, published a monograph, in which a knowledge of hypergraphs was formalized and uniformed. This chapter deals with the hypergraph theory. At the beginning, well-known notations are presented. The remaining two sections of this chapter introduce new definitions, properties, algorithms, and theorems regarding hypergraphs and c-exact hypergraphs.
Remigiusz Wiśniewski
Chapter 5. Analysis of Concurrent Control Systems
Abstract
This section introduces the analysis algorithms of concurrent control systems described by interpreted Petri nets. Such a process is applied to the net in order to c heck its dynamic and structural properties. First, we shall review the most popular analysis method of the dynamic behavior of the net, based on the integer linear algebra (p-invariants computation). Next, concurrency and sequentiality aspects of Petri nets will be discussed in details. We shall present novel analysis methods that apply graph and hypergraph theories.
Remigiusz Wiśniewski
Chapter 6. Decomposition of Concurrent Control Systems
Abstract
This chapter deals with decomposition of concurrent control systems. The main aim of such a process is to split the control algorithm into sequential subsystems. Each of decomposed modules can be implemented separately, even with application of various devices. Furthermore, the functionality of the particular sequential subsystem can be reconfigured without touching the rest of the device. Three SM-decomposition methods are shown in the chapter. All of them refer to the concurrent control systems described by an interpreted Petri net. The first one is based on the classical linear algebra and place invariants computation. The second method uses perfect graph theory, while the remaining one applies calculation of exact transversals.
Remigiusz Wiśniewski
Chapter 7. Prototyping of Concurrent Control Systems
Abstract
This section introduces to prototyping techniques of concurrent control systems. At the beginning the general prototyping concept is shown. The technique is common for both types of concurrent control systems: integrated and distributed. Next, the prototyping flow oriented on the integrated concurrent control systems is presented. Such a method is a base for implementation of the controller in programable devices (namely FPGAs) enabling further partial reconfiguration of the system (cf. Chap. 9).
Remigiusz Wiśniewski
Chapter 8. Modelling of Concurrent Systems in Hardware Languages
Abstract
The modelling techniques of the concurrent control systems in hardware description languages (HDLs) are presented in this chapter. Two modelling approaches are shown. The first one includes the traditional modelling concept of the concurrent system specified by an interpreted Petri net. The controller is simply described according to its behavior. Particular states (markings) of the system change due to the transitions firings. There is no decomposition nor division of the system into sub-modules. Therefore, there is no possibility of further partial reconfiguration of the prototyped controller. The second technique involves decomposition of the concurrent control system. Each of the achieved components is modelled separately as a sequential automaton (such as an FSM), however proper synchronization ought to be assured. The modular concept benefits in the possibility of the further partial reconfiguration (either static or dynamic) of the system (cf. Chap. 9).
Remigiusz Wiśniewski
Chapter 9. Implementation of Concurrent Control Systems in FPGA
Abstract
This chapter deals with the implementation of the integrated concurrent control systems in an FPGA. At the beginning, an overview of the programmable devices is given including the structure and functionality of such systems. Next, the implementation rules of the concurrent systems in the FPGA are introduced. Furthermore, the possibility of partial reconfiguration of the controller implemented in reconfigurable device is discussed. Two reconfiguration approaches are proposed: static (the device is stopped during the configuration process) and dynamic (the device is running during the configuration process). The presented ideas are illustrated by examples of concurrent control systems shown in previous chapters. Please note, that general descriptions regarding structure of the FPGA and its reconfiguration possibility refer to the Xilinx Virtex-5 family.
Remigiusz Wiśniewski
Chapter 10. Conclusions
Abstract
Prototyping of control systems is almost always related to concurrency. For example, execution of tasks in traditional computers, phones, or tablets are usually split into multi-threads, computed by several microprocessors. However, proper designing of controllers oriented on concurrency involves application of advanced algorithms and techniques in order to prepare the system.
Remigiusz Wiśniewski
Backmatter
Metadata
Title
Prototyping of Concurrent Control Systems Implemented in FPGA Devices
Author
Remigiusz Wiśniewski
Copyright Year
2017
Electronic ISBN
978-3-319-45811-3
Print ISBN
978-3-319-45810-6
DOI
https://doi.org/10.1007/978-3-319-45811-3