Professional Documents
Culture Documents
Hardware/Software Co-Design: Principles and Practice
Hardware/Software Co-Design: Principles and Practice
edited by
J0 rgen Staunstrup
Technical University,
Lyngby, Denmark
and
Wayne Wolf
Princeton University,
Princeton, NJ, U.S.A.
All RightsReserved
Contributing Authors xi
Preface xvii
1
Essential Issues in Codesign 1
Daniel D. Gajski, Jianwen Zhu, and Rainer Domer
1.1 Models 1
1.1.1 Models and Architectures 2
1.1.2 Finite-State Machines 3
1.1.3 Dataflow Graph 5
1.1.4 Finite-State Machine with Datapath 6
1.1.5 Hierarchical Concurrent Finite-State Machines 8
1.1.6 Programming Languages 10
1.1.7 Program-State Machines 11
1.2 Architectures 13
1.2.1 Controller Architecture 13
1.2.2 Datapath Architecture 13
1.2.3 FSMD Architecture 17
1.2.4 C1SC Architecture 18
1.2.5 RISC Architecture 20
1.2.6 VLlW Architecture 21
1.2.7 Parallel Architecture 22
1.3 Languages 24
1.3.1 Concurrency 24
1.3.2 State Transitions 26
1.3.3 Hierarchy 27
1.3.4 Programming Constructs 29
1.3.5 Behavioral Completion 30
1.3.6 Exception Handling 30
1.3.7 Timing 31
v
vi HARDWARE/SOFTWARE CO-DESIGN: PRINCIPLES AND PRACTICE
1.3.8 Communication 32
1.3.9 Process Synchronization 34
1.4 A Generic Co-Design Methodology 36
1.4.1 System Specification 36
1.4.2 Allocation and Partitioning 38
1.4.3 Scheduling 40
1.4.4 Communication Synthesis 41
1.4.5 Analysis and Validation Flow 43
1.4.6 Backend 44
1.5 Conclusions 44
2
Hardware/Software Co-Synthesis Algorithms 47
Wayne Wolf
2.1 Introduction 47
2.2 Preliminaries 51
2.3 Architectural Models 53
2.4 Hardware/Software Partitioning 56
2.4.1 Architectural Models 57
2.4.2 Performance Estimation 57
2.4.3 Vulcan 58
2.4.4 Cosyma 61
2.4.5 Other Partitioning Systems 62
2.5 Distributed System Co-Synthesis 62
2.5.1 An Integer Linear Programming Model 63
2.5.2 Performance Analysis 65
2.5.3 Heuristic Algorithms 66
2.5.4 System Partitioning 70
2.5.5 Reactive System Co-Synthesis 71
2.5.6 Communication Modeling and Co-Synthesis 72
2.6 Conclusions 73
3
Prototyping and Emulation 75
Wolfgang Rosenstiel
3.1 Introduction 75
3.2 Prototyping and Emulation Techniques 78
3.3 Prototyping and Emulation Environments 83
3.3.1 The Weaver Prototyping Environment 85
3.3.2 Quickturn Emulation Systems 90
3.3.3 Mentor SimExpress Emulation System 93
3.3.4 Zycad Paradigm RP and XP 94
3.3.5 Aptix Prototyping System 97
3.3.6 Arkos (Synopsys) and CoBalt (Quickturn) Emulation Systems 100
3.4 Future Developments in Emulation and Prototyping 101
3.4.1 Target Architecture 103
3.5 Example 106
Contents vii
References 359
Index 387
Contributing Authors
Thomas Benner
Institut fiir Datenverarbeitungsanlagen
Hans-Sommer-Strafie 66
D-38106 Braunschweig
Germany
A . Changuel
System-Level Synthesis Group
TIMA/INPG
46, ave Felix Viallet
F-38031 Grenoble cedex
France
J. M. Daveau
System-Level Synthesis Group
TIMAjINPG
46, ave Felix Viallet
F-38031 Grenoble cedex
France
Rainer Domer
Department of Information and Computer Science
University of California at Irvine
Irvine CA 92691-3425
doemer@ics.uci.edu
Rolf Ernst
xi
xii HARDWARE/SOFTWARE CO-DESIGN: PRINCIPLES AND PRACTICE
Dirk Hermann
Institut fiir Datenverarbeitungsanlagen
Hans-Sommer-StraBe 66
D-38106 Braunschweig
Germany
F. Hessel
System-Level Synthesis Group
TIMA/INPG
46, ave Felix Viallet
F-38031 Grenoble cedex
France
Daniel D. Gajski
Department of Information and Computer Science
University of California at Irvine
Irvine CA 92691-3425
gajski@ics.ucLedu
Jesper Grode
Department of Information Technology
Technical University of Denmark
DK-2800, Lyngby
Denmark
Peter V. Knudsen
Department of Information Technology
Technical University of Denmark
DK-2800, Lyngby
Denmark
Ph. Le Marrec
System-Level Synthesis Group
TIMA/INPG
46, ave Felix Viallet
CONTRIBUTING AUTHORS xiii
Clifford Liem
Laboratorie TIMA
Institut National Polytechnique de Grenoble
46, ave Felix Viallet
F-38031 Grenoble cedex
France
liem@tima.inpg.fr
Jan Madsen
Department of Information Technology
Technical University of Denmark
DK-2800, Lyngby
Denmark
jan@it.dtu.dk
G. F. Marchioro
System-Level Synthesis Group
TIMA/INPG
46, ave Felix Viallet
F-38031 Grenoble cedex
France
Achim Osterling
Institut fiir Datenverarbeitungsanlagen
Hans-Sommer-StraBe 66
D-38106 Braunschweig
Germany
Pierre Paulin
SGS- Thomson Microelectronics
xiv HARDWARE/SOFTWARE CO-DESIGN: PRINCIPLES AND PRACTICE
M. Romdhani
System-Level Synthesis Group
TIMA/INPG
46, ave Felix Viallet
F-38031 Grenoble cedex
France
Wolfgang Rosenstiel
Universitat Tiibingen
Technische Informatik
Sand 13
72076 Tiibingen
Germany
rosenstiel@informatik .uni-tuebingen.de
Thomas Scholz
Institut fiir Datenverarbeitungsanlagen
Hans-Sommer-StraJ3e 66
D-38106 Braunschweig
Germany
J¢rgen Staunstrup
Department of Information Technology
Technical University of Denmark
DK-2800, Lyngby
Denmark
jst@it.dtu.edu
C. A . Valderrama
System-Level Synthesis Group
TIMA/INPG
46, ave Felix Viallet
F-38031 Grenoble cedex
France
Wayne Wolf
CONTRIBUTING AUTHORS xv
Wei Ye
Institut fiir Datenverarbeitungsanlagen
Hans-Sommer-StraBe 66
D-38106 Braunschweig
Germany
Jianwen Zhu
Department of Information and Computer Science
University of California at Irvine
Irvine CA 92691-3425
jzhu@ics.uci.edu
Preface
This book presents a number of issues of fundamental importance for the design
of integrated hardware software products such as embedded, communication,
and multimedia systems. Co-design is still a new field but one which has
substantially matured over the past few years. The book is inteded to provide:
would like to thank the sponsors of these courses for their generous support.
We would also like to thank the students for their patience and insight.