Slashdot Mirror


Contemporary Logic Design

Contemporary Logic Design, written by Randy H. Katz, is reviewed by Deepak Saxena. The tome is a thorough introduction to the world of digital logic design. Click below to learn more about whether the book is for you or not. Contemporary Logic Design author Randy H. Katz pages 699 publisher Addison-Wesley rating 9/10 reviewer Deepak Saxena ISBN 0-8053-2703-7 summary A good, thorough introduction to the world of digital logic design. The Scenario You can code perl in your sleep, answer computer questions for all your non-geek friends, and create robust database-backed web sites for a living. The best description for you is that of software artist: You weave patterns of 1's and 0's that bring life to what would otherwise just be a hunk of silicon. However, you've always wondered how those 1's and 0's you create actually work. How does the flow of electrons through the silicon's microscopic pathways turn into the addition of two numbers? How does writing "*foo = 3;" actually put "3" into memory location foo? If you've ever asked any of these questions, you're ready to delve into the world of digital logic and computer architecture, and this book was written with you in mind.

What's Good? Contemporary Logic Design provides a thorough introduction to the world of digital logic design. The author does an excellent job of not only presenting the concepts behind hardware design, but also covers some of the common pitfalls such as timing issues and dealing with the fact that hardware is not perfect. The book is logically divided into three groups of chapters that build on each other towards the final goal: Design of a simple 16-bit processor.

The first five chapters of the book cover the concept of combinational logic. This is the creation of simple circuits that take a given input and provide a given output in which there is no feedback between output and input (for example 1 AND 0 = 0). First, the author covers the basic building blocks of digital logic: AND, OR, and NOT gates. >From here, the subject matter expands into more advanced circuits that are built from combinations of the above gates. The fifth chapter completes the first section with excellent information on the representation of numbers in hardware and implementation of basic add, subtract, and multiply circuits.

Chapters six through ten teach the reader about the world of sequential logic design. Sequential logic is that in which the previous state of the system affects the next given output. Sequential operation is at the heart of computer systems, and this is where the book excels. The basic theory of sequential logic is covered, and several useful examples such as binary counters, a simple DRAM chip, and a vending machine controller are used to demonstrate the principles.

The final two chapters provide and introduction to computer architecture and implementation. An excellent overview of computer organization is provided, and a 16 bit CPU is used as a case study of implementation issues.

While the book covers hardware, the author does an excellent job of keeping from getting too low level by delving into issues such as resistance, capacitance, and transistors. In a few places, the circuit design issues are brought up, but the are generally explained in enough detail that someone with no experience in electronics can understand. For those that are interested in the lowest level details, an appendix provides information on how digital gates are built up from basic analog components.

What to Watch Out For? This is not a book that you can causally read. While the information covered is well presented, it is difficult material and you will often need to re-read a section several times before you clearly understand it, so plan to spend a few months with this book.

In addition, many of concepts that are in the book cannot really be completely understood without seeing them in action. For this reason, I suggest that if you are interested in this material and get this book, you should do one of the following: a) Go to your local Radio Shack or your local electronics store and pick up one of those "101 digital logic projects" kits or b) pick up some digital logic simulation software (see this page on Freshmeat for a list of Linux offerings). Either option will allow you to actually build the circuits that are described and see how changing certain aspects will change their behavior.

In Summary If you want to learn about computer hardware design, this is the book for you. It provides a thorough introduction to the subject without requiring much previous knowledge of electronics. The only warning is that you should have plenty of time in which to digest the information contained within this tome and that you should get some real digital hardware with which to experiment as you learn the material.

Pick this book up at Amazon.

Table of Contents
  1. Introduction
  2. Two-Level Combinational Logic
  3. Multilevel Combinational Logic
  4. Programmable and Steering Logic
  5. Arithmetic Circuits
  6. Sequential Logic Design
  7. Sequential Logic Case Studies
  8. Finite State Machine Design
  9. Finite State Machine Optimization
  10. Finite State Machine Implementation
  11. Computer Organization
  12. Computer Implementation
  13. Appendix A: Number Systems
  14. Appendix B: Basic Electronic Components

1 of 69 comments (clear)

  1. The entire book is available online! by Why2K · · Score: 4
    The author's site at Berkeley has the complete text of the book.

    http://http.cs.berkeley.edu/~randy/ CLD/CLD.html