Ebook: SystemC: From the Ground Up
- Tags: Circuits and Systems, Computer-Aided Engineering (CAD CAE) and Design, Software Engineering/Programming and Operating Systems, Electrical Engineering
- Year: 2010
- Publisher: Springer US
- Edition: 2
- Language: English
- pdf
SystemC provides a robust set of extensions to the C++ language that enables rapid development of complex models of hardware and software systems. The authors focus on practical use of the language for modeling real systems, showing:
- A step-by-step build-up of syntax
- Code examples for each concept
- Over 8000 lines of downloadable code examples
- Updates to reflect the SystemC standard, IEEE 1666
- Why features are as they are
- Many resource references
- How SystemC fits into an ESL methodology
This new edition of an industry best seller is updated to reflect the standardization of SystemC as IEEE 1666 and other improvements that reflect feedback from readers of the first edition. The wide ranging feedback also include suggestions from editors of the Japanese and Korean language translations, professors and students, and computer engineers from a broad industrial and geographical spectrum, all who have successfully used the first edition.
New chapters have been added on the SystemC Verification Library and the Transaction Level Modeling, and proposed changes to the current SystemC standard.
David Black and Jack Donovan, well known consultants in the EDA industry, have teamed with Bill Bunton and Anna Keist, experienced SystemC modeling engineers, to write the second edition of this highly popular classic. As a team the authors bring over 100 years of ASIC and system design experience together to make a very readable introduction to SystemC.
In a nutshell: While helpful in learning the basics of SystemC, the book leaves a lot of questions in the reader's mind. The book does a good job touching on syntax, important SystemC classes, and usage semantics (how modules are connected to other objects.) Unfortunately, like other readers have already commented, the code-listings in the book are heavily trimmed -- many leave out declarations and other critical code to actually the thing to work. It's hard to strike a balance between code-brevity and excessive verbosity. On the plus side, all code-snippets in the book are downloadable (in COMPLETE form) from the publisher's website -- it's a shame the author didn't put a complete code-listing in the book, every now and then, just to help novice C++ readers. This brings me to my major criticism of the book. The author has a habit of explaining away many topics in terms of C++ and terminology. You'll need an ADVANCED background in C++ and a working knowledge in OOP (object-oriented programming.) For readers lacking that background, the explanations and arugments sound like magical hand-waving arguments. To be fair, the inner-workings of the SystemC library use extremely advanced C++ techniques. The SystemC library hides some of this complexity, but shoehorning a concurrent/hardware-simulation language on top of the C++ programming language is no easy feat. Consequently, the book cannot avoid bringing in a lot of C++ details about SystemC's implementation.