Artifact - Making a Computer

In my Junior year, I took a 3-class series that focused on designing digital circuits using FPGAs (Field Programmable Gate Arrays). To explain it simply, a FPGA is like a circuit that you can digitally program and modify. Rather than a CPU, which executes instructions, when you program an FPGA, you are physically altering the inner circuits. When it "processes" data, the data flows through the circuit.

Throughout this 3 course series, we built up our skills from the bottom. In the first class, EE 271, we learned how to program FPGAs and applied this to basic tasks like blinking a light. In the next class, EE 371, we scaled this up a bit to more advanced projects, like simulating a traffic light controller. And finally, in EE 469, we "built" and simulated a CPU which could do basic operations like addition and subtraction (see code here).

This article was updated on May 29, 2024