Digital Circuit Projects: An Overview of Digital Circuits Through Implementing Integrated Circuits
Charles Kann, Gettysburg College
Pub Date: 2014
Read This Book
Conditions of Use
Basic combinatorial coverage is pretty solid. Kann mentions NAND-only design, but not NOR-only which is also important, and doesn’t show how to map read more
Basic combinatorial coverage is pretty solid. Kann mentions NAND-only design, but not NOR-only which is also important, and doesn’t show how to map a minimized function into NANDs. I would have also liked to have seen a section on Quine-McCluskey for the academics, and/or a section with recommendations (I usually recommend LogicFriday) on free programs for minimization for the hobbyists. Sequential coverage is less well-developed. The basics are here, but in my opinion Kann spends too much time developing the DFF (D latch, then D with enable, then finally D Flip-Flop) and too little on State Machines. He shows three ways to implement a 2-bit counter (Gates/FFs, ROM/FFs, and MUX/FFs), but doesn’t extend to state machines with additional inputs (such as, in the case of a counter, an Enable input or a Synchronous Clear input). This is probably the most serious omission. The development of the CPU in Chapter 11 is very quick and doesn’t really build up from the other chapters well, in my opinion. More background on the parts of the CPU is needed to really understand this design.
The content is accurate. Kann’s approach is very pragmatic, so he glosses over some of the reasons why you do one thing or another, but what he says is correct and he has obviously helped students build all these experiments, which proves it again. The only questionable item that I found was that he says LS and ALVC won’t work - ALVC is a non-compatible low-voltage series, so it won’t work, but I’ve mixed LS with CMOS and non-LS TTL with no problems (you do have to watch the fan-out). Not a major problem.
The basics of digital design are pretty timeless as far as technology goes. Discrete chips such as the 74XX series have been obsolete except for teaching and some hobby purposes for decades already but are very useful for learning the basics and will be used for this for a long time. The arrangement of sections/chapters should make it easy e.g. to add a section on FPGAs in each section showing how one could use modern EDA tools to do the same thing.
Kann does a good job, as a relative “outsider” to digital engineering, to introducing technical terminology before using it. Given the desired audience of hobbyists, he has paid more attention to this than most authors.
I didn’t notice any inconsistency in terminology.
This books uses sections and subsections effectively. Indeed, the course that I’m evaluating this for would use Chapter 1, 2, 4, 5, 9, and 10, since we’ll implement everything on FPGAs. It is easy to read through the text to see what builds on other material and what stands alone.
The progression of topics is clear. The only real flaw in this is the jump from Ch10 (sequential circuits presented as a 2-bit counter) to Ch11 (a stripped down CPU). There are a few times when digression into practical matters is a bit jarring (e.g. 10.2 Debouncing), but it serves to put the stuff you need at the place you need it, so it’s a good compromise.
The consistent use of numbered headings and subheadings, and numbered figures/tables, makes this a non-issue. Navigation is quite easy. There are a few tables are are broken across pages in unfortunate places, and a few widows/orphans, that I wouldn’t expect in a truly professional publication.
Generally very grammatical and easy to read, with only a few odd turns of phrase.
Hard to imagine a text on this topic that had these issues.
The text is readable in black-and-white, but benefits from color considerably. Using dashes or dots for circles in the K-maps for example would help readability.
This book covers a very basic understanding of Boolean logic, how Boolean logic can be used to build a computational machine (computer), and read more
This book covers a very basic understanding of Boolean logic, how Boolean logic can be used to build a computational machine (computer), and demonstrates in both software and hardware how to build a simple computer.The book very effectively builds up from a simple on/off switch to increasingly complex electrical gates that can be arranged to form logic circuits. The beauty of this book is that it seamlessly mixes the theoretical and the physical so that a student is not left with only abstractions. Like building blocks, logical reasoning is explained and then students are to get their hands dirty and actually build the circuits that enable automated Boolean logic, as in 'this combination of switches turn on the light, or this combination, but not that combination'. The basic components of a CPU are explained and demonstrated including memory and state machines. The only thing that I found to be a little bit awkward is that the student assignments seemed to jump a little bit too high in their complexity and might leave many scratching their heads. A bit more explanation within the assignments would be very useful.
As far as I can tell, the book is accurate, but I do not have a PhD in computer science nor electrical engineering.
This book explains the basic logic circuits of computers and likely will not need updating for quite some time. Had this book been written 70 years ago it would have just used vacuum tubes in the lab exercises. Seventy years from now it may need some updating on the electrical components, but the underlying logic will likely remain the same. The basic logic functions and mathematical proofs explained have been relevant for a long time and will likely continue to hold relevance for many years to come.
The book is explained very clearly with overall very fluid and easy to follow explanations. There are a few occasions where things would benefit from being explained in a couple of different ways to make sure that a novice can really grasp the concepts. It is a good book but certainly does not negate the usefulness of a good teacher.
This book is very consistent in its language, complexity, scope, and terminology. There is no point where something seems out of place or where on is completely left in the dark.
The book clearly and consistently moves from one section to another, steadily building in complexity. Each section takes approximately the same amount of time to complete, allowing for the increased learning of the students, i.e. it is assumed that students will get better at simple tasks so less time and explanation will be needed as one exercise builds upon the last. It would be very easy to assign chapters into weekly assignments.
he book is very logically laid out and easy to follow. Some of the math could use greater explanation, but depending upon the assumed background of the students using this text, greater explanation may or may not be necessary. A good teacher could of course explain or further explain any area that seems hard to grasp. Luckily, it is possible to just continue reading and doing the assignments even if certain concepts are not perfectly understood. There are no areas where one would simply get stuck.
The images and charts are clear, sharp, and concise. The table of contents has a good logical flow without errors (that I could see) and the overall chapters and subheadings make this an easily navigable text.
I did catch about five or so typos and grammatical errors (including one in the book abstract), but nothing to make any part of the text unclear. It would be terrific if open textbooks had a way to be corrected by readers so that proofreading could be crowd sourced.
There is no point where obvious cultural references exist within this text. It focuses consistently of math, logic, and electronics.
This book accomplishes what it sets out to do.
This textbook thoroughly covers the very basics of digital circuits, and what is required to implement a basic CPU. read more
This textbook thoroughly covers the very basics of digital circuits, and what is required to implement a basic CPU.
Content is accurate, some typos were observed, but overall information is very accurate
This book covers the very basics of digital electronics, and this information is and will continue to be extremely relevant to anyone studying computers/electronics.
The language used in the book is very easy to read, and extremely detailed and thorough. When any new topic is introduced, special care is taken to explain and and all details or possible points of confusion. For a more advanced reader, this may feel tedious, but to a beginner it is excellent to have.
The facts presented in this book are very consistent with each other, no inconsistencies were noted.
Each topic in this book builds on previous topics, as this is the nature of the subject matter. However, each chapter does feel individually accessible to someone who is already familiar with the material.
The concepts in this book ramp nicely from very simple, to moderately complex. Special care is given to ensure the reader is given the necessary tools to understand a topic before it is presented.
The interface of the book is clean and easy to read. Some of the Logisism diagrams seem low quality, but this is more the fault of the Logisism software itself.
The grammer used in this book is excellent, no grammatical errors were noted.
As the subject material is technical in nature, there are no uses of race/ethnicity in this book.
This book is an excellent choice for a very basic digital electronics course. It makes use of the CPU model to illustrate how specific circuits are used in practice, which helps to engage the reader, as the material is not purely presented in theoretical terms. I would strongly consider using this textbook for an introductory digital electronics course.
As a book that includes a fair amount of circuitry for the student to build, the author is very good in presenting the appropriate theory involved, read more
As a book that includes a fair amount of circuitry for the student to build, the author is very good in presenting the appropriate theory involved, explaining how the hardware works and identifying common wiring pitfalls. Regarding the components used, the author does not go into much detail on the specifications of the devices but rather focuses on functionality. This puts it at the right level for the hobbyist, which was part of his intended audience, but might serve better as a lab manual than a textbook for college level courses. It does not include an index or glossary but does have a comprehensive table of contents.
The author was not afraid to include his personality into the text so there are a few comments that may be considered more opinion than fact. When he does this, though, it doesn't detract from the technical aspects of the project and actually adds a little charm. I did notice a few typos but did not detect any inaccuracies.
The author presents the building blocks of computer technology which are not likely to change anytime soon.
The author introduces each convention and explains it before using it. However, on some of the wiring intensive lab projects, his wiring instructions might do well to reduce the number of words and add some diagrams.
The material is evenly divided and presented in a uniform manner. Information is presented in a logical order and at a consistent pace.
This book is structured quite well. The chapters are broken into sections that are neither too long or too short. Each chapter and section is well defined in the table of contents which would make it very adaptable for use in a class.
The first 2 chapters did not incorporate any lab work which seemed somewhat aside from the spirit of the book. By chapter 3, however, the book reaches a very nice rhythm. Ideas are presented in a clear and logical order.
Overall, the book is easily navigable but I did notice a couple of items. The author shows several photographs of wiring prototype boards with labels edited on to the images. The labels partially cover some of the wire connections which is a little distracting but still workable. Some of the other images are a little confusing. For example, Figure 7.3 shows an input at the bottom of the diagram where the wires are blurred together.
I didn't notice any specific grammar errors.
This book is about computers and circuits rather than people. In the few times that people were mentioned, it was in very general terms where race, ethnicity and backgrounds were not addressed in any way.
I was considering the use of this book for a digital theory class but decided against it. I can see where the authors functional approach would be good for a hobbyist and perhaps a computer technology class, but it lacks the detail that is needed in an electronic technology course.
Table of Contents
Chapter 1 Before you start
Chapter 2 Overview of a Central Processing
Chapter 3 Getting started
Chapter 4 Gates
Chapter 5 Associative Boolean operators
Chapter 6 Adders
Chapter 7 Decoders
Chapter 8 Multiplexers
Chapter 9 Memory basics - flip-flops and latches
Chapter 10 Sequential circuits
About the Book
Digital circuits, often called Integrated Circuits or ICs, are the central building blocks of a Central Processing Unit (CPU). To understand how a computer works, it is essential to understand the digital circuits which make up the CPU. This text introduces the most important of these digital circuits; adders, decoders, multiplexers, D flip-flops, and simple state machines.
What makes this textbook unique is that it puts the ability to understand these circuits into the hands of anyone, from hobbyists to students studying Computer Science. This text is designed to teach digital circuits using simple projects the reader can implement. But unlike most lab manuals used in classes in Digital Circuits or Computer Organization classes, this textbook is designed to remove the barrier of a laboratory infrastructure needed in a face-to-face environment at a college or university. This textbook is designed to be used by the reader to create the circuits in their own homes. The textbook is free. The cost of the kits needed to do the labs is reasonable. And the projects are well documented and can be implemented by even novices to electronic projects.
This text allows professors to add laboratory projects in digital circuits to students in online classes in Computer Organization. This enhances these classes with interesting and fun exercises that reinforce the classroom topics.
This text can also be used by a hobbyist who wants to learn more about digital circuits and how computers work. The material is presented at a level that someone with no experience in digital circuits and electronics can successfully complete the projects, and gain an understanding of the circuits which go into making up a computer.
About the Contributors
Charles W. Kann, Adjunct Professor, Computer Science, Gettysburg College.