Build a CPU of some sort in Logisim. It should be programmable, but the program does not need to be in RAM (it could be in a separate ROM). Prove it by implementing some program. For example:
Mad-libs
Fibonacci or hailstone sequence
Work in pairs. Split work up into separate circuits.
- Set up repositories.
- Decide on an instruction set, and document it.
- Implement an instruction decoder.
- Split up into separate components (i.e., the decoder, the ALU, bus unit, program control), and implement.
- Test with a program.