CUSTOMIZABLE EMBEDDED PROCESSORS DESIGN TECHNOLOGIES AND APPLICATIONS Paolo lenne Ecole Polytechnique Federale de Lausanne (EPFL) Rainer Leupers RWTH Aachen University AMSTERDAM • BOSTON • HEIDELBERG • LONDON s NEWYORK • OXFORD • PARIS • SAN DIEGO SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO „ ORGAN KAUFMANN PUBLISHERS Morgan Kaufmann is an imprint of Elsevier
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Paolo lenne Ecole Polytechnique Federale de Lausanne (EPFL)
Rainer Leupers RWTH Aachen University
AMSTERDAM • BOSTON • HEIDELBERG • LONDON s
NEWYORK • OXFORD • PARIS • SAN DIEGO
SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO „ O R G A N KAUFMANN PUBLISHERS Morgan Kaufmann is an imprint of Elsevier
CONTENTS
In Praise of Customizable Embedded Processors i
List of Contributors xix
About the Editors xxvii
Part I: Opportunities and Challenges
1 From Pret-ä-Porter to Tailor-Made Paolo Ienne and Rainer Leupers 3
1.1 The Call for Flexibility 4 1.2 Cool Chips for Shallow Pockets 5 1.3 A Million Processors for the Price of One? 5 1.4 Processors Coming of Age 7 1.5 This Book 7 1.6 Travel Broadens the Mind 9
2 Opportunities for Application-Specific Processors: The Case of Wireless Communications Gerd Ascheid and Heinrich Meyr 11
2.1 Future Mobile Communication Systems 12 2.2 Heterogeneous MPSoC for Digital Receivers 14
2.2.1 The Fundamental Tradeoff between Energy Efhciency and Flexibility 14
2.2.2 How to Exploit the Huge Design Space? 17 2.2.3 Canonical Receiver Structure 19 2.2.4 Analyzing and Classifying the Functions of '
a Digital Receiver 21 2.2.5 Exploiting Parallelism 25
2.3 ASIP Design 26 2.3.1 Processor Design Flow 26
X Contents
2.3.2 Architecture Description Language Based Design 28
2.3.3 Too Much Automation Is Bad 29 2.3.4 Processor Design: The LISATek Approach . . . . 30 2.3.5 Design Competence Rules the World 33 2.3.6 Application-Specific or Domain-Specific
Processors? 35
3 Customizing Processors: Lofty Ambitions, Stark Realities Joseph A. Fisher, Paolo Faraboschi, and Cliff Young 39
3.1 The "CFP" project at HP Labs 41 3.2 Searching for the Best Architecture Is Not a
Machine-Only Endeavor 45 3.3 Designing a CPU Core Still Takes a Very
Long Time 46 3.4 Don't Underestimate Competitive Technologies 48 3.5 Software Developers Don't Always Help You 49 3.6 The Embedded World Is Not Immune to Legacy
Problems 51 i'.l Customization Can Be Trouble 52 3.8 Conclusions 53
Part II: Aspects of Processor Customization
4 Architecture Description Languages Prabhat Mishra and Nikil Dutt 59
4.1 ADLs and other languages 60" 4.2 Survey of Contemporary ADLs 62
4.2.1 Content-Oriented Classification of ADLs 62 4.2.2 Objective-Based Classification of ADLs 72
4.3 Conclusions 75
5 C Compiler Retargeting Rainer Leupers 77
5.1 Compiler Construction Background 79 5.1.1 Source Language Frontend 79 5.1.2 Intermediate Representation and
Optimization 80 5.1.3 Machine Code Generation 83
5.2 Approaches to Retargetable Compilation 91 5.2.1 MIMOLA 92 5.2.2 GNU C Compiler 94
Contents XI
5.2.3 Little C Compiler 94 5.2.4 CoSy 95
5.3 Processor Architecture Exploration 98 5.3.1 Methodology and Tools for ASIP Design 98 5.3.2 ADL-Based Approach 100
5.4 C Compiler Retargeting in the LISATek Platform 104 5.4.1 Concept 104 5.4.2 Register Allocator and Scheduler 105 5.4.3 Code Selector 107 5.4.4 Results 111
5.5 Summary and Outlook 113
Automated Processor Configuration and Instruction Extension David Goodwin, Steve Leibson, and Grant Martin 117
6.1 Automation Is Essential for ASIP Proliferation 118 6.2 The Tensilica Xtensa LX Configurable Processor 119 6.3 Generating ASIPs Using Xtensa 121 6.4 Automatic Generation of ASIP Specifications 123 6.5 Coding an Application for Automatic ASIP
13.2.1 RISC PEs 307 13.2.2 Customizable Datapaths 311 13.2.3 Synthesis Approaches 311 13.2.4 Architecture Description Languages 311
13.3 Designing TIPI Processing Elements 316 13.3.1 Building Datapath Models 317 13.3.2 Operation Extraction 318 13.3.3 Single PE Simulator Generation 318 13.3.4 TIPI Multiprocessors 319
Contents xv
13.3.5 Multiprocessor Simulation and RTL Code Generation 321
13.4 Deploying Applications with Cairn 321 13.4.1 The Cairn Application Abstraction 323 13.4.2 Model Transforms 325 13.4.3 Mapping Models 325 13.4.4 Code Generation 326
13.5 IPv4 Forwarding Design Example 327 13.5.1 Designing a PE lor Click 327 13.5.2 ClickPE Architecture 328 13.5.3 ClickPE Control Logic 329 13.5.4 LuleaPE Architecture 330
Application Specific Instruction Set Processor for UMTS-FDD Cell Search Kimmo Puusaari, Timo Yli-Pietilä, and Kim Rounioja 339
14.1 ASIP on Wireless Modem Design 340 14.1.1 The Role of ASIP 340 14.1.2 ASIP Challenges for a System House f 343 14.1.3 Potential ASIP Use Cases in Wireless
Receivers 344 14.2 Functionality of Cell Search ASIP 346
14.2.1 Cell Search-Related Channels and Codes 346 14.2.2 Cell Search Functions 347 14.2.3 Requirements for the ASIP 347
14.3 Cell Search ASIP Design and Verification 348 14.3.1 Microarchitecture 348 14.3.2 Special Function Units 350 14.3.3 Instruction Set 353 14.3.4 HDL Generation 354 14.3.5 Verification 355