A fellow named Ben Eater did a remarkable job of building (and documenting) an 8-bit computer from scratch using simple logic gates and integrated circuits. You can find his full documentation here:
https://eater.net/8bit
Here's an interview with Ben related to his work at the Khan Academy :
https://www.youtube.com/watch?v=MAtQe5zpNsw
Here are links to the videos from Ben's site about his home built computer:
Introduction and Background Material
Post YouTube - Overview and Plans
Post YouTube - Programming and Architecture
Post YouTube - Single Stepping through a Program
Post YouTube - Programming C to Assembly to Machine
Post YouTube - Fibonacci Program Example
Post YouTube - How Semiconductors Work
Post YouTube - How Transistors Work
Post YouTube - Transistors as Logic Gates
Post YouTube - Logic Gates and Flip Flops for Memory
Post YouTube - Turning an SR Latch into a D Latch
Post YouTube - Edge Triggering to get a D Flip-Flop
Post YouTube - Programming and Architecture
Post YouTube - Single Stepping through a Program
Post YouTube - Programming C to Assembly to Machine
Post YouTube - Fibonacci Program Example
Post YouTube - How Semiconductors Work
Post YouTube - How Transistors Work
Post YouTube - Transistors as Logic Gates
Post YouTube - Logic Gates and Flip Flops for Memory
Post YouTube - Turning an SR Latch into a D Latch
Post YouTube - Edge Triggering to get a D Flip-Flop
Clock
Post YouTube - Clock 555 Timer in Astable Mode
Post YouTube - Clock 555 Timer in Monostable Mode
Post YouTube - Clocking, Single-Stepping, Debouncing
Post YouTube - Completed Clock Module
Post YouTube - Clock 555 Timer in Monostable Mode
Post YouTube - Clocking, Single-Stepping, Debouncing
Post YouTube - Completed Clock Module
Registers
Post YouTube - Registers using Tri-State Buffers
Post YouTube - Description of 74LS245 Tri-State Buffer
Post YouTube - Simple 1-Bit Register
Post YouTube - Use of 74LS173 Registers to Store/Display
Post YouTube - Registers A, B, and Inst. Interface via Bus
Post YouTube - Description of 74LS245 Tri-State Buffer
Post YouTube - Simple 1-Bit Register
Post YouTube - Use of 74LS173 Registers to Store/Display
Post YouTube - Registers A, B, and Inst. Interface via Bus
ALU
Post YouTube - Using Logic Gates to Add 4-bit Numbers
Post YouTube - Negative Numbers and 2's Complement
Post YouTube - Description of Arithmetic Logic Unit (ALU)
Post YouTube - Building the Arithmetic Logic Unit (ALU)
Post YouTube - Diagnosing Problems in the ALU
Post YouTube - Operation of the ALU to add and subtract
Post YouTube - Negative Numbers and 2's Complement
Post YouTube - Description of Arithmetic Logic Unit (ALU)
Post YouTube - Building the Arithmetic Logic Unit (ALU)
Post YouTube - Diagnosing Problems in the ALU
Post YouTube - Operation of the ALU to add and subtract
RAM
Post YouTube - Random Access Memory (RAM) Design
Post YouTube - Construction of the RAM Module
Post YouTube - Addressing RAM Manually and with Control Logic
Post YouTube - Completed RAM Module with Address, Data, Control
Post YouTube - Testing the RAM Module
Post YouTube - Construction of the RAM Module
Post YouTube - Addressing RAM Manually and with Control Logic
Post YouTube - Completed RAM Module with Address, Data, Control
Post YouTube - Testing the RAM Module
Program Counter
Post YouTube - Description of a J-K Flip-Flop
Post YouTube - Exploring race conditions in the J-K Flip-Flop
Post YouTube - Master-Slave J-K Flip-Flop to eliminate racing
Post YouTube - Exploring the 74LS76 J-K Flip-Flop for Counting
Post YouTube - Program Counter Design with the 74LS161
Post YouTube - Building the Program Counter
Post YouTube - Exploring race conditions in the J-K Flip-Flop
Post YouTube - Master-Slave J-K Flip-Flop to eliminate racing
Post YouTube - Exploring the 74LS76 J-K Flip-Flop for Counting
Post YouTube - Program Counter Design with the 74LS161
Post YouTube - Building the Program Counter
Output register
Post YouTube - Using Logic Gates to Build 7-Segment Displays
Post YouTube - Using an EEPROM to Build 7-Segment Displays
Post YouTube - Building an EEPROM Programmer using an Arduino
Post YouTube - Building the Computer Display Module
Post YouTube - Using an EEPROM to Build 7-Segment Displays
Post YouTube - Building an EEPROM Programmer using an Arduino
Post YouTube - Building the Computer Display Module
Bringing it all together
Post YouTube - Building and Connecting Modules via the Bus
Post YouTube - Connecting Control Signals to all Modules
Post YouTube - Connecting Control Signals to all Modules
CPU control logic
Post YouTube - Initial Design of the Control Logic
Post YouTube - Microcoding the Control Logic
Post YouTube - Using an EEPROM for Microcoding (LDA,ADD,OUT,HLT)
Post YouTube - Reset Button, Power Supply, and Hardware Review
Post YouTube - Expanding the Instruction Set for Subtraction
Post YouTube - Expanding the Instruction Set with STA, LDI, JMP
Post YouTube - Computing Everything? Turing Complete and Branching
Post YouTube - Adding Hardware to support Jumps on Zero and Carry
Post YouTube - Updating the Microcode for JZ and JC instructions used in multiply program
Post YouTube - Microcoding the Control Logic
Post YouTube - Using an EEPROM for Microcoding (LDA,ADD,OUT,HLT)
Post YouTube - Reset Button, Power Supply, and Hardware Review
Post YouTube - Expanding the Instruction Set for Subtraction
Post YouTube - Expanding the Instruction Set with STA, LDI, JMP
Post YouTube - Computing Everything? Turing Complete and Branching
Post YouTube - Adding Hardware to support Jumps on Zero and Carry
Post YouTube - Updating the Microcode for JZ and JC instructions used in multiply program
These videos are available through these links and on the following pages.