Digital Design and Computer Architecture: ARM Edition
Digital Design and Computer Architecture: ARM Edition covers the fundamentals of digital logic design and reinforces logic concepts through the design of an ARM microprocessor. Combining an engaging and humorous writing style with an updated and hands-on approach to digital design, this book takes the reader from the fundamentals of digital logic to the actual design of an ARM processor. By the end of this book, readers will be able to build their own microprocessor and will have a top-to-bottom understanding of how it works.
Beginning with digital logic gates and progressing to the design of combinational and sequential circuits, this book uses these fundamental building blocks as the basis for designing an ARM processor. SystemVerilog and VHDL are integrated throughout the text in examples illustrating the methods and techniques for CAD-based circuit design. The companion website includes a chapter on I/O systems with practical examples that show how to use the Raspberry Pi computer to communicate with peripheral devices such as LCDs, Bluetooth radios, and motors.
This book will be a valuable resource for students taking a course that combines digital logic and computer architecture or students taking a two-quarter sequence in digital logic and computer organization/architecture.
- Covers the fundamentals of digital logic design and reinforces logic concepts through the design of an ARM microprocessor.
- Features side-by-side examples of the two most prominent Hardware Description Languages (HDLs)―SystemVerilog and VHDL―which illustrate and compare the ways each can be used in the design of digital systems.
- Includes examples throughout the text that enhance the reader’s understanding and retention of key concepts and techniques.
- The Companion website includes a chapter on I/O systems with practical examples that show how to use the Raspberry Pi computer to communicate with peripheral devices such as LCDs, Bluetooth radios, and motors.
- The Companion website also includes appendices covering practical digital design issues and C programming as well as links to CAD tools, lecture slides, laboratory projects, and solutions to exercises.
Why Read This Book
You will get a hands-on, top-to-bottom tour of digital logic and microarchitecture by actually building an ARM processor: the book teaches fundamentals and immediately applies them to real RTL and FPGA workflows. You will learn both the theory (gates, timing, pipelining) and practical skills (SystemVerilog/VHDL coding, simulation, synthesis, and FPGA implementation) that bridge classroom concepts to deployable hardware.
Who Will Benefit
Undergraduate students and practicing engineers who know basic programming and math and want to move from digital-logic fundamentals to designing, coding, simulating, and implementing an ARM-based CPU on FPGAs.
Level: Intermediate — Prerequisites: Basic algebra and binary/boolean number concepts, comfort with programming (e.g., C or Python); no prior HDL experience required but helpful to have some exposure to digital logic.
Key Takeaways
- Design combinational and sequential digital circuits from first principles and reason about timing and hazards.
- Write synthesizable SystemVerilog and VHDL modules and create testbenches for simulation-driven development.
- Assemble a datapath and control logic to implement an ARM-like processor, including pipelining and hazard resolution.
- Run simulation and synthesis flows and implement designs on commercial FPGAs using mainstream toolchains.
- Analyze performance trade-offs in microarchitecture (pipelining, forwarding, stalls) and apply them to real designs.
- Apply high-level concepts for FPGA-based DSP and reconfigurable computing, and integrate peripherals and memory subsystems.
Topics Covered
- Introduction to Digital Systems and Number Representation
- Combinational Logic Design and Simplification
- Sequential Logic: Registers, FSMs, and Timing
- Hardware Description Languages: Verilog, SystemVerilog, and VHDL Basics
- Synthesis, Technology Mapping, and FPGA Implementation
- Datapath Components: ALU, Shifters, and Multipliers (FPGA DSP considerations)
- Register-Transfer Level Design and Control Implementation
- ARM Instruction Set Introduction and Encoding
- Designing an ARM Datapath and Control Unit
- Pipelining the ARM Processor: Hazards and Forwarding
- Memory Systems, Caches, and I/O/Peripherals
- Verification, Testbenches, and Debugging on FPGA
- Putting It Together: Building and Running an ARM Processor on an FPGA
- Advanced Topics: High-Level Synthesis, Reconfigurable Computing, and Design Optimization
- Appendices: Toolchains, Simulation Tips, and Reference Material
Languages, Platforms & Tools
How It Compares
Compared with Patterson & Hennessy's Computer Organization (which is ISA- and performance-focused using MIPS), Harris's ARM Edition emphasizes RTL design, HDLs, and FPGA implementation; compared to Pong Chu's FPGA Prototyping books, it covers more microarchitecture and processor design rather than purely FPGA-centric labs.












