Thursday, March 17, 2011

SystemC: From the Ground Up (The Kluwer International Series in Engineering & Computer Science)



SystemC: From the Ground Up (The Kluwer International Series in Engineering & Computer Science)
| 2004-05-31 00:00:00 | | 0 | C


SystemC provides a robust set of extensions to C++ that enables rapid development of complex hardware/software systems. This book focuses on the practical uses of the language for modeling real systems. The wealth of examples and downloadable code methodically guide the reader through the finer points of the SystemC language. This book will show you: Well known consultants in the EDA industry, both David Black and Jack Donovan have been involved in the adoption and teaching of new technologies and methodologies for a combined total of 42+ years. Recently, they jointly founded a consultancy, Eklectic Ally, focused on helping companies adopt SystemC methodologies.

User review
solid background in C++ needed, or you'll be lost!
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.

User review
Good SystemC Introduction
This is a good SystemC introduction. The examples are clear and concepts are explained well. My only complaint (other than a syntax error in the `HelloWorld` example) is that I would really like to see a section on SystemC's macro system in general, since a truly conscientions C++ programmer will be using the SystemC library without the macros. But, I haven't seen any book address this topic. So, my review is otherwise all positive.





User review
Very good insights into SystemC Modeling and Simulation
This is an extremely USEFUL addition to SystemC books that are out there. I have been using system C for modeling for about an year and still had some gaps in my understanding of SystemC simulation. This book does a fairly good job of filling this gap. Highly recommended.

User review
Still the best way to start with SystemC
As some of the other reviewers have noted, this book is not perfect. But having reviewed it in 2004 in IEEE Design and Test, soon after it came out, it is still the best starting point for anyone wanting to learn SystemC and apply it. The other books available are useful, the primers and guides are handy, and the IEEE 1666 LRM is definitive, but as a collection of practical discussed examples and explanations of various issues in building models, this is the best starting point. I have recommended it to colleagues and they have all found it very useful in getting started with SystemC. The presentations that the authors have made at North American SystemC User Group meetings (NASCUG) are also a valuable extra learning resource, and these are worth checking out (,,), along with many of the other presentations.

User review
SystemC from a software perspective
I have been working as an firmware engineer for many years. As a new advernture, I am involved in investigating various algorithm modeling technique which can provide a good performance for firmware development. Obvioously, SystemC is a good candidate because of its ability to do transaction level based modelling. The question is how to pick up the language. First I tried the technical reference manual and white papers provided by the official system C website. It is quite an eye-openning experience but I think I need more. So I went to Amazon to see what was avaliable. I came across this book and the `System C Primer` book. I bought both.


The major difference between these two books is in the author's perspective. The author in this book approaches from a software background. He visualizes the whole systemC environment as a multi-threaded kernel. To learn the language is to become familiar with the different `API's` and `system calls`. It is great for engineers who come from a fw/sw background. However, for engineers coming from the hw background, this book does not spend much time covering the topic on how to write SystemC model that is close to the hardware implementation (RTL or gates). They will be disappointed if this is their goal. I would recommend them to try the other book.


After saying that, I believe the safest bet probably is to get both books so you can have a full spectrum of knowledge of what the language can do for you. Then you will not get stuck knowing only one aspect of the language and you can decide which `hat` to wear according to your need.


Download this book!

Free Ebooks Download