FPGARelated.com
Books

Build Your Own Computer: From Scratch

RICHARD WHIPPLE 2019

In this book, I begin with first principles (AND, OR, and NOT logic) and carry out a basic computer design finishing with a working computer using a Field Programmable Gate Array. A knowledge of computer science or electronics is not needed to follow along. Each step will rely on supplied information and simple reasoning. Whether novice or computer professional, knowing how a computer works allows you to take full advantage of its capabilities.


Why Read This Book

You will follow a clear, hands-on path from basic AND/OR/NOT gates to a complete, working computer implemented on an FPGA, so you learn by building rather than by abstract theory alone. The book's step‑by‑step explanations and emphasis on simple reasoning make FPGA design, Verilog/VHDL, and computer architecture accessible even if you've never studied electronics.

Who Will Benefit

A curious beginner or hobbyist (or professional seeking a gentle refresher) who wants to understand how computers work at the gate and HDL level and to build a functioning FPGA‑based CPU.

Level: Beginner — Prerequisites: None — suitable for complete beginners; no prior computer science or electronics background required.

Get This Book

Key Takeaways

  • Build a simple CPU from first principles, starting with gates and progressing to an FPGA implementation
  • Explain combinational and sequential logic, registers, ALUs, and control units in practical terms
  • Write basic Verilog and VHDL modules to describe and simulate digital hardware
  • Synthesize and load a hardware design onto common FPGA toolchains (Xilinx/Intel) and debug it
  • Apply high‑level design thinking to map algorithms into reconfigurable hardware
  • Integrate simple I/O and memory subsystems to run real instructions on your homemade computer

Topics Covered

  1. 1. Introduction: What You’ll Build and Why
  2. 2. Boolean Logic and Basic Gates (AND, OR, NOT)
  3. 3. Building Blocks: Combinational Logic and Arithmetic
  4. 4. Sequential Logic: Flip‑Flops, Registers, and Clocks
  5. 5. Designing an ALU and Register File
  6. 6. Instruction Sets and Simple CPU Architecture
  7. 7. Control Unit Design and State Machines
  8. 8. Introduction to Hardware Description Languages (Verilog, VHDL, SystemVerilog)
  9. 9. Simulation and Testbenches
  10. 10. Synthesis, Timing, and Constraints
  11. 11. FPGA Platforms: Xilinx and Intel/Altera Overview
  12. 12. Implementing the Computer on an FPGA
  13. 13. Basic I/O, Memory Interfaces, and Simple Peripherals
  14. 14. Debugging, Optimization, and Next Steps (DSP & HLS)
  15. 15. Appendix: Tools, Example Code, and Further Reading

Languages, Platforms & Tools

VerilogVHDLSystemVerilogC/C++ (for HLS examples and integrations)Xilinx (Spartan/Artix/Zynq families)Intel/Altera (Cyclone/Arria/Stratix families)Generic FPGA development boardsXilinx VivadoIntel QuartusModelSim/VerilatorCommon vendor device programmers and on‑board debuggers

How It Compares

More project‑oriented and beginner‑friendly than Harris & Harris's Digital Design and Computer Architecture, and broader in FPGA implementation detail than more conceptual books like But How Do It Know?.

Related Books