Skip to content

Repository files navigation

Digital Design Text Cover

Orginally published in 2004 by McGraw Hill, Digital Design: A Datapath and Control is now available as an OER. This text was written for faculty and students wanting a structured approach to the design of complex digital systems. It guides students and faculty through the process by exposing critical skills gradually through the text.

Features

  • End of Chapter Problems.
  • Instructor’s Manual containing solutions to the end-of-chapter problems.
  • Laboratory Manual containing 11 projects suitable for implementation on many different FPGA development boards.
  • Numerous Examples. Many examples demonstrating application of the material are contained throughout the text.

Why?

You might be asking yourself ``Why bother writing yet another digital design text?'' While this text does cover many of the same topics you will find in other digital design texts, it distinguishes itself by presenting a systematic design process for sophisticated digital circuits. A digital design sophisticated when it needs to be described algorithmically and has the generic architecture shown in Figure 1.

Abstract Digital System

Figure 1: An abstract digital system constructed from a datapath and a control unit.

The datapath and control framework classifies the inputs and outputs of every digital logic building block as either Data inputs, Data output, Control, Status (the two special signals, clk and reset sit outside this classification). Under this framework, the datapath performs all data manipulations and the control unit sequences the control inputs for datapath. The datapath is built from combinational and sequential building blocks like multiplexers and counters. The control unit is a finite state machine.

Class Organization

The text, homework and laboratory are intended for a 4-credit course. The example timeline shown in Table 1 assumes 3 50-minute lectures per week and one 2 or 3 hour laboratory a week. While it is expected that students finish the laboratory during the scheduled time, frequently students will need additional time to complete work, so accommodations need to be in-place for them to access the hardware and software outside of course hours. I expect that students will spend about 4-hours a week working outside of class.

Example Timeline

SessionTopicReading
1Course Intro, Binary numbering, Hexadecimal1.1 -- 1.3
2Binary Addition1.4
3Logic gates / Circuit to Symbolic / Circuit to Truth Table2.1, 2.21, 2.2.2
4Symbolic to Truth Table / Symbolic to Circuit2.2.3, 2.2.4
5Symbolic to VerilogSupplemental
Lab #1Introduction to CAD tools and Verilog
6Symbolic to Symbolic2.2.5
7Symbolic to Symbolic2.2.5
8Truth Table to Symbolic SOP and POS2.2.6, 2.2.7, 2.3
Lab #2Hexadecimal to 7-segment Converter
9Karnaugh Maps, 3 variables3.1
10Combinational Logic with VerilogSupplemental
11Karnaugh Maps, 4 and 5 variables3.2, 3.3
Lab #3Rock Paper Scissors
12Don't cares3.5
13SOP and POS in Karnaugh maps
14Exam Review3.6
Lab #4Guessing Game
15Exam I
16Decoder / Multiplexers4.1, 4.2
172's complement1.5
18Adders4.3
19Adder Subtractor4.4
Lab #5Guessing Game with Hints
20Comparator4.5
21Wire Logic / Combinations4.7, 4.8
22SR Latch e5.5
23Basic memory elements -- timing5.1
24Basic memory elements -- practical considerations5.7
Lab #6Decimal Calculator
25Register6.1
26Shift Registers6.2
27Counter6.3
Lab #71 Dimensional Cellular Automata6.3
28RAM6.4
29Register Transfer6.5
30Exam ReviewSupplemental
Lab #8Mod 10 Counter
31Exam II
32Sequential Design -- Traffic Light Controller7.4
33Sequential Design -- VerilogSupplemental
Lab #9Stopwatch Datapath
34Sequential Design -- Timing7.6
35Sequential Design -- Vending Machine7.5
Lab#10Stopwatch Control
36Datapath and Control Theory8.1, 8.2, 8.3
37Datapath and Control Theory8.1, 8.2, 8.3
38Datapath and Control Practice8.4, 8.5
Lab#11Stopwatch -- Datapath and Control
39Datapath and Control Practice8.4, 8.5
40Datapath and Control Timing8.4, 8.5
41Datapath and Control Practice8.7
Lab wrap-up
42Exam ReviewSupplemental
Exam III

📫 Feadback & Support

Have ideas or find a bug?

🤝 Contributing

Contributions are welcome! If you'd like to help out:

  • Submit a pull request with improvements or fixes
  • Star the repo to show support ⭐

About

An open education resource Digital Design textbook

Topics

Resources

Stars

15 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages