Issue No. 01 - January/February (2005 vol. 22)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MDT.2005.3
Sachin Sapatnekar , University of Minnesota
In the tangled jungle of EDA, it's sometimes difficult to see the forest for the trees. The Electronic Design Automation Handbook by Dirk Jansen (Kluwer Academic Publishers, 2003, ISBN 1-402-07502-2, 244 pp., $148) endeavors to create a compendium that integrates basic knowledge from a variety of areas in EDA, providing a "one-stop shop" that overviews the field. Such a task is indeed ambitious and difficult, even in 675 pages, but this volume makes an excellent attempt at that goal. The book, directed toward an audience of design and CAD practitioners and students, is a joint effort by several researchers from the Universities of Applied Sciences in Germany who have been working together in this field for many years.
Overall, they structure this handbook into segments (overview of EDA, symbolic design, high-level language design, modeling and verification, and implementation), with each segment delving into specifics in further detail.
The book begins by presenting an overall context for the field and a brief history. The next segment on high-level language design is possibly the strongest part of this book; it provides a detailed introduction to VHDL that will be useful to practitioners who want a quick and ready reference to the language. (The handbook appears to have made a conscious choice of selecting depth over breadth by leaving out the presentation of alternatives, such as Verilog or SystemC, that might be ideal for some readers but not so for others.) Following this introduction to VHDL is a lucid description of the various steps in transforming an RTL description into a netlist of logic gates. The last part of this segment is a chapter entitled "Hardware-Software Codesign," which is perhaps too humbly named, considering that it covers SoC design issues as well.
The modeling and verification segment provides a sufficiently detailed treatment of circuit verification (including cycle-accurate simulation, Spice, and logic simulation) and system-level simulation, the latter as applied to case studies of a communication system and a microelectromechanical systems (MEMS) design. A discussion of formal verification follows; I wish that this chapter were longer, given the increasing importance of verification in design methodologies. I can't make such a complaint about the succeeding chapter on DFT, though: this chapter contains comprehensive coverage of test basics and makes for a very good introductory tutorial on the subject.
The last substantial segment of the book relates to circuit- and layout-level design automation issues. Beginning with an introductory overview of various design styles ranging from full custom to programmable logic, this segment takes the reader through a quick overview of fabrication processes, transistor-level circuit design issues for digital and analog circuits, layout issues (which tie in well with the discussion on fabrication), and then extraction and verification. The segment ends with a description of chip assembly and packaging, and printed circuit board design.
Throughout the book, there is a conscious effort to engage issues related to design entry, and to formats that are of practical importance to the designer or CAD engineer. For example, there are chapters that describe graphical input descriptions at the RTL, schematic inputs, standard netlist formats, delay formats, and data formats for describing circuits at the logic and layout levels.
It is clear that the editors of this volume have taken pains to do justice to all parts of the design process. At the same time, there are a few issues that a reader might find less than satisfactory. Topic coverage ranges from very good (for VHDL and DFT) to patchy and not quite integrated into the overall framework (for design automation for analog circuits), perhaps as a natural consequence of the choice of contributors and their areas of expertise. In addition, I see two significant matters that the handbook doesn't address. First, the book doesn't pay adequate attention to circuit performance issues: Although it addresses delay to some extent, there is an insufficient discussion of power analysis and optimization. Second, instead of looking forward into new technologies (for example, sub-100-nm technologies), the book spends most of its energies on existing paradigms. Given the changing nature of the field, any handbook has a limited half-life; hopefully, the authors will update theirs by publishing a new edition in the next couple of years. In spite of these issues, the book has many aspects that provide good value to the reader. Most significantly, it provides a sound exposition of some underlying EDA fundamentals, many of which will remain valid for at least as long as CMOS lives.
The assemblage of EDA handbooks and encyclopedias appears to be in fashion this season: At least two others are currently in production—one by CRC Press, and one by Kluwer Academic Publishers. Each of these efforts is more ambitious than this book in terms of scale and the number of authors involved, but it seems unlikely that either will be published in the next year or two. Moreover, in terms of compactness, physical portability, and cost, it's likely that this book will come out ahead. In conclusion, it must be said that this book covers a great deal of ground, and makes a sincere effort in doing so. It's a very good source for design and EDA practitioners, and students: It provides them with a first look at aspects of the field they might be curious about, but don't deal with on a daily basis. When all is said and done, the positives of this book far outweigh the negatives, and I commend it to the reader's attention.