This text is intended for an introductory digital design course for students at the freshman level; it also is intended for an introductory computer design course with assembly language programming for students at the sophomore level. This text uses a spiral teaching approach by introducing a design problem and then, in the same chapter or a later chapter, either (1) reemphasizing the same concepts when a different design is presented, or (2) working the same problem using a different technique. This is done to increase the likelihood of retention.
Chapter 1: Boolean Algebra, Boolean Functions, VHDL, and Gates
Chapter 2: Number Conversions, Codes, and Function Minimization
Chapter 3: Introduction to Logic Circuit Analysis and Design
Chapter 4: Combinational Logic Circuit Design with VHDL
Chapter 5: Bistable Memory Device Design with VHDL
Chapter 6: Simple Finite State Machine Design with VHDL
Chapter 7: Computer Circuits
Chapter 8: Circuit Implementation Techniques
Chapter 9: Complex Finite State Machine Design with VHDL
Chapter 10: Basic Computer Architectures
Chapter 11: Assembly Language Programming for VBC1
Chapter 12: Designing Input/Output Circuits
Chapter 13: Designing Instruction Memory, Loading Program Counter, and Debounced Circuit
Chapter 14: Designing Multiplexed Display Systems
Chapter 15: Designing Instruction Decoders
Chapter 16: Designing Arithmetic Logic Units
Chapter 17: Completing the Design for VBC1
Chapter 18: Assembly Language Programming for VBC1-E
Chapter 19: Designing Input/Output Circuits for VBC1-E
Chapter 20: Designing the Data Memory Circuit for VBC1-E
Chapter 21: Designing the Arithmetic, Logic, Shift, Rotate, and Unconditional Jump Circuits for VBC1-E
Chapter 22: Designing a Circuit to Prevent Program Execution During Manual Loading for VBC1-E
Chapter 23: Designing Extented Instruction Memory for VBC1-E
Chapter 24: Designing the Software Interrupt Circuits for VBC1-E
Chapter 25: Completing the Design for VBC1-E
Appendices