: Brian Bailey, Grant Martin
: ESL Models and their Application Electronic System Level Design and Verification in Practice
: Springer-Verlag
: 9781441909657
: 1
: CHF 85.50
:
: Elektronik, Elektrotechnik, Nachrichtentechnik
: English
: 446
: Wasserzeichen/DRM
: PC/MAC/eReader/Tablet
: PDF

This book arises from experience the authors have gained from years of work as industry practitioners in the field of Electronic System Level design (ESL). At the heart of all things related to Electronic Design Automation (EDA), the core issue is one of models: what are the models used for, what should the models contain, and how should they be written and distributed. Issues such as interoperability and tool transportability become central factors that may decide which ones are successful and those that cannot get sufficient traction in the industry to survive.

Through a set of real examples taken from recent industry experience, this book will distill the state of the art in terms of System-Level Design models and provide practical guidance to readers that can be put into use. This book is an invaluable tool that will aid readers in their own designs, reduce risk in development projects, expand the scope of design projects, and improve developmental processes and project planning.

Preface4
Who Should Read This Book5
Structure of the Book6
Chapter Listing7
Relationship to First Book9
Companion Web Site9
Reference10
Acknowledgments11
Contents12
About the Authors18
About the Contributors20
1 Introduction22
1.1 A Definition of a Model22
1.2 A Day in the Life of a Model5
1.3 Types of Model6
1.4 Models of Computation7
1.5 Simplification9
1.5.1 Abstraction31
1.5.2 Structure31
1.6 Models and Languages33
1.6.1 Imperative Languages33
1.6.2 Declarative Languages34
1.6.3 Functional35
1.6.4 Non-functional36
1.6.5 Meta37
1.6.6 Testbench38
1.7 The Desire for a New Language39
1.8 Big Shoes to Fill40
1.8.1 Ptolemy Simulator41
1.8.2 SystemC42
1.8.3 Function and Interface43
1.9 Taxonomy43
1.9.1 Three New Axes44
1.9.1.1 Concurrency44
1.9.1.2 Communications45
1.9.1.3 Configurability45
1.9.2 Application to Models and Languages46
1.9.3 Transformation of Models48
1.10 Definitions49
References52
2 IP Meta-Models for SoC Assembly and HW/SW Interfaces54
2.1 Introduction54
2.2 IP Databases54
2.3 SPIRIT/IP-XACT55
2.3.1 History of SPIRIT55
2.3.2 RTL Assembly Level58
2.3.3 System Modeling Level62
2.4 Register Definition Languages62
2.4.1 Motivation: Modeling the HW/SW Interface63
2.4.1.1 What Is the HW/SW Interface?63
2.4.1.2 Hardware Configuration and Control Using Software64
2.4.1.3 Software Perspective65
2.4.1.4 Interrupts67
2.4.1.5 Software API67
2.4.1.6 Hardware Perspective68
2.4.1.7 Transaction Bus Protocol69
2.4.1.8 Protocol Translation70
2.4.1.9 Registers and Bitfields72
2.4.2 HW/SW Design Flow for HW/SW Interfaces77
2.4.2.1 Example IP Design -- The Requirements78
2.4.2.2 Specification -- Documentation79
2.4.2.3 IP-XACT (SPIRIT)79
2.4.2.4 SystemRDL81
2.4.2.5 IP Hardware Design81
2.4.2.6 IP Verification84
2.4.2.7 HDL Verification Environments85
2.4.2.8 HVL Environments85
2.4.2.9 VMM -- Verification Methodology Manual86
2.4.2.10 OVM -- Open Verification Methodology87
2.4.2.11 eRM '' Specman ''e'' Reuse Methodology88
2.4.2.12 OVM vs. VMM Interoperability88
2.4.2.13 Chip-Level Verification88
2.4.2.14 Software Development -- Firmware91
2.4.2.15 Firmware Verification93
2.4.2.16 RTL Models94
2.4.2.17 Virtual Models94
2.4.2.18 Earlier Software Development94
2.4.3 Emerging HW/SW Interface Tools and Design Flows95
2.4.3.1 Register Management Tools96
2.4.3.2 Case Study of a Register Management Solution: Bitwise98
2.5 Conclusions101
References102
3 Functional Models104
3.1 Dynamic Models and Languages104
3.1.1 Algorithmic Languages105
3.1.1.1 Mathematical Modeling Languages105
3.1.1.2 Example of MATLAB106
3.1.1.3 Example of C/C++ Reference Model108
3.1.1.4 Dataflow Modeling Languages109
3.1.1.5 Example of Simulink110
3.1.2 Architectural Modeling Languages: SystemC112
3.1.2.1 Scope of SystemC: Design Problems112
3.1.2.2 SystemC 2.0114
3.1.2.3 SystemC Language Basics114
3.1.2.4 SystemC in Real Systems122
3.1.2.5 Software System Specification134
3.1.2.6 TLM 2.0138
3.1.2.7 TLM Compliance Checking149
3.1.3 Architectural Models155
3.1.3.1 Modeling IP155
3.1.3.2 System Models for Architectural Exploration156
3.1.3.3 System Models for Software Development158
3.2 Formal Models158
3.2.1 Property Languages158
3.2.1.1 Uses of Declarative Languages159
3.2.1.2 Completeness160
References162
4 Testbench Models163
4.1 Testbench Basics164
4.1.1 Testbench C