: Luiz Santos, Rodolfo Azevedo, Sandro Rigo
: Sandro Rigo, Rodolfo Azevedo, Luiz Santos
: Electronic System Level Design An Open-Source Approach
: Springer-Verlag
: 9781402099403
: 1
: CHF 85.40
:
: Elektronik, Elektrotechnik, Nachrichtentechnik
: English
: 146
: Wasserzeichen
: PC/MAC/eReader/Tablet
: PDF

Electronic System Level Design: an Open-Source Approach is based on the successful experience acquired with the conception of the ADL ArchC, the development of its underlying tool suite, and the building of its platform modeling infrastructure. With more than 10000 accesses per year since 2004, the dissemination of ArchC models reached not only students in quest of proper infrastructure to develop their research projects but also some companies in need of processor models to build virtual platforms using SystemC.

The need to anticipate the development of hardware-dependent software and to build virtual prototypes gave rise to Transaction Level Modeling (TLM). Since SystemC provided the elements and the adequate abstraction level for supporting TLM, their relation has grown so strong that OSCI created a TLM Working Group whose effort resulted in the recently released TLM 2.0 standard, which is also covered in this book.

Preface5
Contents7
Contributors8
Part I: System Design Representation9
Chapter 1: Electronic System Level Design10
1.1 The ESL Concept10
1.2 Requirements of an ESL Representation11
1.3 ESL Design Flow12
1.4 Target Audience, Scope and Organization15
References16
Chapter 2: Open-Source Languages18
2.1 Basic SystemC Concepts18
2.2 Introduction to ArchC23
2.2.1 Architecture Resources Description25
2.2.2 Instruction Set Architecture Description26
ISA Specification26
Instruction Behavior Description28
2.2.3 The Evolution of ArchC Towards Platform Modeling30
References31
Chapter 3: Transaction Level Modeling32
3.1 Introduction32
3.2 The Evolution Towards the OSCI TLM 2.0 Standard34
3.3 Main Features in the TLM 2.0 Standard35
3.4 A Small TLM Platform Example38
References43
Part II: Open-Source Models and Tools44
Chapter 4: ArchC Model Design Handbook45
4.1 What Is a Model?45
4.2 Start Modeling-Architectural Information46
4.3 Declaring Instructions49
4.4 Implementing Instructions53
4.5 Running the Simulator58
4.6 Debugging the Model-First Steps60
4.6.1 Using the GDB Interface60
4.6.2 Implementing the GDB Interface61
4.7 Compiler and Operating System Support69
4.7.1 The Helper Methods70
4.7.2 ABI Stub Library72
4.7.3 Startup File73
4.8 Refining the Model73
4.9 Going Faster-How to Improve Your Simulator Performance74
References75
Chapter 5: Building Platform Models with SystemC77
5.1 ArchC and TLM Interface78
5.2 Platforms with ArchC80
5.3 Platform Examples81
5.3.1 A Processor-Memory Platform81
5.3.2 Dual Core Platform84
5.4 The MP3 Example90
5.4.1 Profiling90
5.4.2 Moving the Code to the Platform93
5.4.3 Building the Hardware/Software Interface93
5.4.4 The Next Steps Towards Parallel Software101
Chapter 6: Retargetable Binary Tools105
6.1 Introduction105
6.2 Language Support for Binary Tools107
6.2.1 Assembly Language Symbols108
6.2.2 Instruction Syntax and Operand Encoding108
6.2.3 Instruction Encoding and Modifiers109
6.2.4 Pseudo Instructions112
6.3 Binary Tools Retargeting113
6.3.1 GNU Binutils Package113
6.3.2 Automatic Binutils Retargeting114
6.3.3 Opcodes Library Generation115
6.3.4 BFD Library Generation115
6.3.5 Assembler Generation116
6.3.6 Link Editor Generation116
6.3.7 Summary of Generated Files118
6.4 Putting it to Work118
References120
Part III: Advanced Topics121
Chapter 7: Debugging SystemC Platform Models122
7.1 Introduction122
7.2 Model Debugging and Verification in SystemC123
7.3 Why Computational Reflection?124
7.4 Enabling Data Introspection in SystemC125
7.5 Debugging a Platform Simulation Model127
References133
Chapter 8: SystemC-Based Power Evaluation with PowerSC134
8.1 SystemC Extensions for Power Modeling134
8.1.1 The Extended Design Flow135
8.1.2 The SystemC Extensions136
8.2 Instrumentation of a SystemC Description137
8.3 Support for Characterization at the Gate Level138
8.3.1 Integration of Macromodels in PowerSC139
8.4 Putting PowerSC to Work145
8.4.1 Downloading145
8.4.2 Checking Requirements146
8.4.3 Building the Packages146
Building PowerSC146
Building PSCLibTools147
Building Lib2PSCLib147
8.4.4 Running PowerSC148
References149
Index150