This is a simple 16-bit CPU implementation built using Digital, a digital circuit simulator. The current version implements basic functionality to add two numbers and store the result in a register.
- 16-bit data bus
- 4 general-purpose registers (R0-R3)
- Basic arithmetic operations (currently only addition)
- Program counter for instruction sequencing
- 32-bit instruction format
The CPU currently supports:
- Loading values from input into registers
- Adding two register values
- Storing results back to registers
The EEPROM contains sample instructions:
3004d1- Load immediate value into register1001f- Add operation23001f- Store operation12001f- Additional operations
- Open the circuit in Digital
- Set input values:
- Port A: 16-bit input value
- Port SD: 8-bit instruction data
- Use the clock button to step through instructions
- View results in the output registers R0-R3
This project was inspired by Ben Eater's 8-bit computer and various educational CPU design videos found online. The design incorporates concepts from these resources while adapting them to the Digital environment.
- Implement more ALU operations (subtraction, logical ops)
- Add memory access instructions
- Improve instruction decoding
- Add conditional branching
