HW/SW Codesign: Forth on Custom Silicon


This is a very unique course. Forth is a pretty amazing little language. We're going to sidestep gcc/LLVM entirely and build everything from scratch. All the way down to the silicon in fact. I am looking into using a 65nm process, but the details may change.


- Design a custom ISA and assembly language

- Get a PCB with custom silicon chip based on your ISA design

- Bring your own language - Write a CPU emulator in your language of choice

- Add I/O for a simple PC with screen and keyboard

- Bring up your emulated machine by writing a Forth for it (see jonesforth)

- Use formal verification tools to prove the CPU will work

- Instructor will use commercial EDA tools to complete the designs and submit them for fabrication

- Course split into multiple chunks so that the chips and PCBs can be fabricated

- Hands-on Post-Silicon Debug (We'll find out if the CPU works!)

- Get Forth running on the real hardware (If we can't get the custom chip working, we'll use an FPGA instead)

- Write a small text adventure game in Forth

- Add a disk operating system

- Optimize the ISA based on profiling running SW (optimizations will have to be limited in scope)

Contact about the Course

If you have any questions about the course, please do not hesitate to contact me.