By the end of the course, you are expected to be able to:
Build a CPU out of basic building blocks such as gates and flip-flops
Build the ALU using gates and Verilog
Design the CPU's datapath and control
Implement a pipeline and handle its hazards
Augment the CPU with a cache