Hilfe Warenkorb Konto Anmelden
 
 
   Schnellsuche   
     zur Expertensuche                      
SystemC: From the Ground Up, Second Edition
  Großes Bild
 
SystemC: From the Ground Up, Second Edition
von: David C. Black, Jack Donovan, Bill Bunton, Anna Keist
Springer-Verlag, 2009
ISBN: 9780387699585
291 Seiten, Download: 20527 KB
 
Format:  PDF
geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop

Typ: B (paralleler Zugriff)

 

 
eBook anfordern
Inhaltsverzeichnis

  Black_Frontmatter_O.pdf 2  
     Anchor 1 6  
     Anchor 3 8  
     Anchor 4 8  
     Anchor 5 9  
     Anchor 6 10  
     Anchor 7 11  
     Anchor 8 12  
     Anchor 9 12  
     Anchor 10 13  
  Black_Ch01_O.pdf 23  
     Chapter 1 23  
        Why SYSTEMC: ESL and TLM 23  
           1.1 .Introduction 23  
           1.2 .ESL Overview 24  
              1.2.1 .Design Complexity 24  
              1.2.2 .Shortened Design Cycle = Need For Concurrent Design 25  
                 1.2.2.1 .Traditional System Design Approach 26  
           1.3 .Transaction-Level Modeling 29  
              1.3.1 .Abstraction Models 29  
              1.3.2 .An Informal Look at TLM 30  
              1.3.3 .TLM Methodology 32  
                 1.3.3.1 .Algorithmic Modeling 33  
                 1.3.3.2 .Architectural Modeling 34  
                 1.3.3.3 .Virtual Software Development Platform 34  
                 1.3.3.4 .Hardware Refinement 35  
                 1.3.3.5 .Functional and Architectural Verification 35  
           1.4 .A Language for ESL and TLM: SystemC 36  
              1.4.1 .Language Comparisons and Levels of Abstraction 37  
              1.4.2 .SystemC: IEEE 1666 38  
              1.4.3 .Common Skill Set 38  
              1.4.4 .Proper Simulation Performance and Features 38  
              1.4.5 .Productivity Tool Support 39  
              1.4.6 .TLM Concept Support 39  
           1.5 .Conclusion 40  
  Black_Ch02_O.pdf 41  
     Chapter 2 41  
        Overview of SystemC 41  
           2.1 .C++ Mechanics for SystemC 42  
           2.2 .SystemC Class Concepts for Hardware 44  
              2.2.1 .Time Model 44  
              2.2.2 .Hardware Data Types 45  
              2.2.3 .Hierarchy and Structure 45  
              2.2.4 .Communications Management 45  
              2.2.5 .Concurrency 46  
              2.2.6 .Summary of SystemC Features for Hardware Modeling 46  
           2.3 .Overview of SystemC Components 47  
              2.3.1 .Modules and Hierarchy 47  
              2.3.2 .SystemC Threads and Methods 47  
              2.3.3 .Events, Sensitivity, and Notification 48  
              2.3.4 .SystemC Data Types 49  
              2.3.5 .Ports, Interfaces, and Channels 49  
              2.3.6 .Summary of SystemC Components 50  
           2.4 .SystemC Simulation Kernel 51  
  Black_Ch03_O.pdf 53  
     Chapter 3 53  
        Data Types 53  
           3.1 .Native C++ Data Types 53  
           3.2 .SystemC Data Types Overview 54  
           3.3 .SystemC Logic Vector Data Types 55  
              3.3.1 .sc_bv. 55  
              3.3.2 .sc_logic and sc_lv. 56  
           3.4 .SystemC Integer Types 57  
              3.4.1 .sc_int.. and sc_uint. 57  
              3.4.2 .sc_bigint.. and sc_biguint. 57  
           3.5 .SystemC Fixed-Point Types 58  
           3.6 .SystemC Literal and String 61  
              3.6.1 .SystemC String Literals Representations 61  
              3.6.2 .String Input and Output 62  
           3.7 .Operators for SystemC Data Types 63  
           3.8 .Higher Levels of Abstraction and the STL 65  
           3.9 .Choosing the Right Data Type 66  
           3.10 .Exercises 66  
  Black_Ch04_O.pdf 68  
     Chapter 4 68  
        Modules 68  
           4.1 .A Starting Point: sc_main 68  
           4.2 . The Basic Unit of Design: SC_MODULE 70  
           4.3 .The SC_MODULE Class Constructor: SC_CTOR 71  
           4.4 .The Basic Unit of Execution: Simulation Process 72  
           4.5 .Registering the Basic Process: SC_THREAD 73  
           4.6 .Completing the Simple Design: main.cpp 74  
           4.7 .Alternative Constructors: SC_HAS_PROCESS 74  
           4.8 .Two Styles Using SystemC Macros 76  
              4.8.1 .The Traditional Coding Style 76  
              4.8.2 .Recommended Alternate Style 77  
           4.9 .Exercises 78  
  Black_Ch05_O.pdf 80  
     Chapter 5 80  
        A Notion of Time 80  
           5.1 .sc_time 80  
              5.1.1 .SystemC Time Resolution 81  
              5.1.2 .Working with sc_time 82  
           5.2 .sc_time_stamp() 82  
           5.3 .sc_start() 83  
           5.4 .wait(sc_time) 84  
           5.5 .Exercises 85  
  Black_Ch06_O.pdf 86  
     Chapter 6 86  
        Concurrency 86  
           6.1 .Understanding Concurrency 86  
           6.2 .Simplified Simulation Engine 89  
           6.3 .Another Look at Concurrency and Time 91  
           6.4 .The SystemC Thread Process 92  
           6.5 .SystemC Events 93  
              6.5.1 Causing Events 94  
           6.6 .Catching Events for Thread Processes 95  
           6.7 .Zero-Time and Immediate Notifications 96  
           6.8 .Understanding Events by Way of Example 99  
           6.9 .The SystemC Method Process 102  
           6.10 .Catching Events for Method Processes 104  
           6.11 .Static Sensitivity for Processes 104  
           6.12 .Altering Initialization 107  
           6.13 .The SystemC Event Queue 108  
           6.14 .Exercises 109  
  Black_Ch07_O.pdf 110  
     Chapter 7 110  
        Dynamic Processes 110  
           7.1 .Introduction 110  
           7.2 .sc_spawn 110  
           7.3 .Spawn Options 112  
           7.4 .A Spawned Process Example 113  
           7.5 .SC_FORK/SC_JOIN 114  
           7.6 .Process Control Methods 117  
           7.7 . Exercises 118  
  Black_Ch08_O.pdf 119  
     Chapter 8 119  
        Basic Channels 119  
           8.1 .Primitive Channels 120  
           8.2 .sc_mutex 120  
           8.3 .sc_semaphore 122  
           8.4 .sc_fifo 124  
           8.5 .Exercises 126  
  Black_Ch09_O.pdf 127  
     Chapter 9 127  
        Evaluate-Update Channels 127  
           9.1 .Completed Simulation Engine 128  
           9.2 .SystemC Signal Channels 130  
           9.3 .Resolved Signal Channels 133  
           9.4 .Template Specializations of sc_signal Channels 135  
           9.5 .Exercises 136  
  Black_Ch10_O.pdf 137  
     Chapter 10 137  
        Structure 137  
           10.1 .Module Hierarchy 137  
           10.2 .Direct Top-Level Implementation 139  
           10.3 .Indirect Top-Level Implementation 139  
           10.4 .Direct Submodule Header-Only Implementation 140  
           10.5 .Direct Submodule Implementation 140  
           10.6 .Indirect Submodule Header-Only Implementation 141  
           10.7 .Indirect Submodule Implementation 142  
           10.8 .Contrasting Implementation Approaches 143  
           10.9 .Exercises 143  
  Black_Ch11_O.pdf 144  
     Chapter 11 144  
        Communication 144  
           11.1 .Communication: The Need for Ports 144  
           11.2 .Interfaces: C++ and SystemC 145  
           11.3 .Simple SystemC Port Declarations 148  
           11.4 .Many Ways to Connect 149  
           11.5 .Port Connection Mechanics 151  
           11.6 .Accessing Ports From Within a Process 153  
           11.7 .Exercises 154  
  Black_Ch12_O.pdf 155  
     Chapter 12 155  
        More on Ports & Interfaces 155  
           12.1 .Standard Interfaces 155  
              12.1.1 .SystemC FIFO Interfaces 155  
              12.1.2 SystemC Signal Interfaces 157  
              12.1.3 sc_mutex and sc_semaphore Interfaces 158  
           12.2 .Sensitivity Revisited: Event Finders and Default Events 158  
           12.3 .Specialized Ports 160  
           12.4 .The SystemC Port Array and Port Policy 163  
           12.5 .SystemC Exports 166  
           12.6 .Connectivity Revisited 171  
           12.7 .Exercises 173  
  Black_Ch13_O.pdf 174  
     Chapter 13 174  
        Custom Channels and Data 174  
           13.1 .A Review of SystemC Channels and Interfaces 174  
           13.2 .The Interrupt, a Custom Primitive Channel 175  
           13.3 .The Packet, a Custom Data Type for SystemC 176  
           13.4 .The Heartbeat, a Custom Hierarchical Channel 179  
           13.5 .The Adaptor, a Custom Primitive Channel 181  
           13.6 .The Transactor, a Custom Hierarchical Channel 183  
           13.7 .Exercises 187  
  Black_Ch14_O.pdf 188  
     Chapter 14 188  
        Additional Topics 188  
           14.1 .Error and Message Reporting 188  
           14.2 .Elaboration and Simulation Callbacks 191  
           14.3 .Configuration 192  
           14.4 .Programmable Structure 194  
           14.5 .sc_clock, Predefined Processes 198  
           14.6 .Clocked Threads, the SC_CTHREAD 199  
           14.7 .Debugging and Signal Tracing 202  
           14.8 .Other Libraries: SCV, ArchC, and Boost 204  
           14.9 .Exercises 204  
  Black_Ch15_O.pdf 205  
     Chapter 15 205  
        SCV 205  
           15.1 .Introduction 205  
           15.2 . Data Introspection 205  
              15.2.1 .Components for scv_extension Interface 206  
              15.2.2 .Built-In scv_extensions 208  
              15.2.3 .User-Defined Extensions 209  
           15.3 .scv_smart_ptr Template 209  
              15.4.1 .Global Configuration 210  
              15.4.2 .Basic Randomization 212  
              15.4.3 .Constrained Randomization 213  
           15.5 .Callbacks 216  
           15.6 .Sparse Arrays 217  
           15.7 .Transaction Sequences 218  
           15.8 .Transaction Recording 219  
           15.9 .SCV Tips 220  
           15.10 .Exercises 220  
  Black_Ch16_O.pdf 222  
     Chapter 16 222  
        OSCI TLM 222  
           16.1 .Introduction 222  
           16.2 .Architecture 223  
           16.3 .TLM Interfaces 225  
              16.3.1 .Unidirectional Blocking Interfaces 226  
              16.3.2 .Unidirectional Non-Blocking Interfaces 226  
              16.3.3 .Bidirectional Blocking Interface 228  
           16.4 .TLM Channels 228  
           16.5 .Auxiliary Components 229  
              16.5.1 .TLM Master 230  
              16.5.2 .TLM Slave 230  
              16.5.3 .Router and Arbiter 231  
           16.6 .A TLM Example 232  
           16.7 .Summary 235  
           16.8 .Exercises 235  
  Black_Ch17_O.pdf 237  
     Chapter 17 237  
        Odds & Ends 237  
           17.1 .Determinants in Simulation Performance 237  
              17.1.1 .Saving Time and Clocks 238  
              17.1.2 .Moving Large Amounts of Data 239  
              17.1.3 .Too Many Channels 240  
              17.1.4 .Effects of Over Specification 241  
              17.1.5 .Keep it Native 241  
              17.1.6 . C++ Compiler Optimizations 241  
              17.1.7 .C++ Compilers 241  
              17.1.8 .Better Libraries 241  
              17.1.9 .Better and More Simulation Computers 242  
           17.2 .Features of the SystemC Landscape 242  
              17.2.1 .Things You Wish Would Just Go Away 242  
              17.2.2 .Development Environment 244  
              17.2.3 .Conventions and Coding Style 244  
           17.3 .Next Steps 245  
              17.3.1 .Guidelines for Adopting SystemC 245  
              There are a number of companies supporting SystemC methodologies. A quick visit to the OSCI web site www.systemc.org can 245  
  Black_Backmatter_O.pdf 248  
     Appendix A 248  
        C++ Basics 248  
           A.1 Background of C++ 249  
           A.2 Structure of a C Program 249  
           A.3 Comments 250  
           A.4 Streams (I/O) 250  
              A.4.1 Streaming vs. printf 251  
           A.5 Basic C Statements 251  
              A.5.1 Expressions and Operators 251  
              A.5.2 Conditional 253  
              A.5.3 Looping 254  
              A.5.4 Altering Flow 255  
           A.6 Data Types 255  
              A.6.1 Built-In Data Types 256  
              A.6.2 User-Defined Data Types 256  
                 A.6.2.1 Pointers, Arrays, and References 256  
                 A.6.2.2 Structures 257  
                 A.6.2.3 STL 259  
              A.6.3 Constants 259  
              A.6.4 Declaration vs. Definition 259  
           A.7 Functions 260  
              A.7.1 Pass By Value and Return 261  
              A.7.2 Pass by Reference 261  
              A.7.3 Overloading 262  
              A.7.4 Constant Arguments 262  
              A.7.5 Defaults for Arguments 263  
              A.7.6 Operators as Functions 263  
           A.8 Classes 264  
              A.8.1 Member Data and Member Functions 264  
              A.8.2 Constructors and Destructors 265  
                 A.8.2.1 Initialization 267  
              A.8.3 Destructors 268  
              A.8.4 Inheritance 269  
                 A.8.4.1 Adding Members 269  
                 A.8.4.2 Initialization of a Base Class 269  
                 A.8.4.3 Overriding Inherited Member Functions 270  
                 A.8.4.4 Multiple Inheritance 270  
              A.8.5 Public, Private and Protected Access 271  
                 A.8.5.1 Friends 271  
              A.8.6 Polymorphism 271  
                 A.8.6.1 Virtual 272  
                 A.8.6.2 Abstract and Interface Classes 272  
              A.8.7 Constant Members 273  
              A.8.8 Static Members 273  
           A.9 Templates 274  
              A.9.1 Defining Template Functions 274  
              A.9.2 Using Template Functions 274  
              A.9.3 Defining Template Classes 275  
              A.9.4 Using Template Classes 275  
              A.9.5 Template Considerations 275  
           A.10 Names and Namespaces 276  
              A.10.1 Meaningful Names 276  
              A.10.2 Ordinary Scope 276  
              A.10.3 Defining Namespaces 277  
              A.10.4 Using Names and Namespaces 277  
              A.10.5 Anonymous Namespaces 277  
           A.11 Exceptions 278  
              A.11.1 Watching for and Catching Exceptions 278  
              A.11.2 Throwing Exceptions 279  
              A.11.3 Functions that Throw 280  
           A.12 Standard Library Tidbits 281  
              A.12.1 Strings 281  
              A.12.2 File I/O 281  
              A.12.3 Standard Template Library 283  
           A.13 Closing Thoughts 283  
           A.14 References 284  
  Black_Index_O.pdf 285  


nach oben


  Mehr zum Inhalt
Kapitelübersicht
Kurzinformation
Inhaltsverzeichnis
Leseprobe
Blick ins Buch
Fragen zu eBooks?

  Navigation
Belletristik / Romane
Computer
Geschichte
Kultur
Medizin / Gesundheit
Philosophie / Religion
Politik
Psychologie / Pädagogik
Ratgeber
Recht
Reise / Hobbys
Sexualität / Erotik
Technik / Wissen
Wirtschaft

  Info
Hier gelangen Sie wieder zum Online-Auftritt Ihrer Bibliothek
© 2008-2024 ciando GmbH | Impressum | Kontakt | F.A.Q. | Datenschutz