×

Hardware/ software co-design for data flow dominated embedded systems. (English) Zbl 0927.68003

Boston: Kluwer Academic Publishers. xviii, 223‘p. Dfl 275.00; $ 120.00; £82.00 (1998).
In order to optimize the design of the embedded digital systems it is necessary to consider various partitions of the system functions onto hardware and software. This book is a research monograph addressing the optimization of this partition. In the approach presented hardware and software are designed cooperatively from the beginning of the design process. Main phases of this process are the following: Specification of embedded system, Process of hardware/software partitioning, Synthesis.
Design is supported by the software tool called COOL.
Specification. The requirements for modelling are formulated. Also a survey of computation models and languages is given. The functionality of the system may be specified using either homogeneous modelling in one language or heterogeneous modelling with different language for hardware part and different language for software part. In COOL systems are specified using homogeneous modelling in a hierarchical manner using an integrated graphical interface based on VHDL language. COOL is integrated with commercial VHDL simulator VANTAGE.
Partitioning. In the partitioning phase strong emphasis is put on mathematical formulation of the problem. The partitioning phase starts with computing a partitioning graph for the system specification. During this step the nodes are weighted with costs for implementing them using components of the chosen target architecture. The problem formulation supports target architectures consisting of multiple processors, multiple ASICs and memory blocks. The partitioning graph consists of computation and communication nodes. The purpose of the H/S partitioning is to map computation nodes of the partitioning graph to processing units and communication nodes to communication channels. Solving the partitioning problem requires to take constraints into account. Three algorithms are examined in the book – MILP (Mixed Linear Integer Programming), heuristic and genetic algorithms.
Co-synthesis. The first step in synthesis is the communication synthesis (selection of protocol, topology and memory allocation). The second step is transformation of the original independent system specification into a set of synthesizable hardware descriptions for the ASICs and a set of compilable software descriptions. Co-synthesis is exemplified by the design of fuzzy controller for traffic lights. Traffic lights are controlled depending on the number and the waiting time of cars in the lanes.
To summarize this book is a valuable contribution to the methodology of embedded systems design and optimization.

MSC:

68M07 Mathematical problems of computer architecture
68-02 Research exposition (monographs, survey articles) pertaining to computer science

Software:

COOL; PGAPack