A self-guided journey inspired by George Hotz's course, this project follows a comprehensive and hands-on approach to understanding the entire modern computing stack—from the fundamental transistor to building a functional web browser! Each section involves constructing key components, using tools like Verilog, Python, C, and Haskell while focusing on both hardware and software development. 🎯
This project focuses on building a computing stack step by step, starting from hardware design, moving through processors, compilers, operating systems, and finally networking and browser technologies. To see the full roadmap and dive into each section, check out the course outline. 🛠️
➡️ UART Implementation: The Universal Asynchronous Receiver-Transmitter (UART) module in Verilog is done! It taught the fundamentals of computer communication.
Task | Progress |
---|---|
UART (Verilog) | ✅ Completed |
ARM CPU | ⏳ Upcoming |
Operating System | ⏳ Upcoming |
Web Browser | ⏳ Upcoming |
- 🧑🏭 Design hardware from the ground up, starting with logic gates.
- 🖥️ Build a custom ARM CPU and deeply understand its architecture.
- 🛠️ Develop a custom OS, C compiler, and toolchain.
- 🌐 Master networking by building a TCP stack.
- 🌍 Construct a text-based web browser.
- 🤖 Eventually run everything on an FPGA for a fully functional, real-world computing system.