8-bits general purpuse Micro-controller design including ALU, flags, program counter and support for conditional jumps. I created this project after learning about the makeup of a cpu from one of my hardware courses.
- Logisim (logic circuit design application)
- Download Logisim http://www.cburch.com/logisim/ and install it on your pc
- Clone the repository:
> git clone https://github.com/Ron-Ash/MicroControllerProject
- Open
MicrocontrollerProjectFinalCircuit.circ
in Logisim - Within the circuit find
- Press the "clear program memory" button on and off to clear the program memory
- To write a new program into the cpu: (upto 8 assembly instructions)
For each assembly instruction:
- Set the "Program location" buttons to the desired binary number (0-7) and then press the "SET" button
- Look in the
MicrocontrollerOpCodeLibrary.xlsx
file to find the desired assembly instructions and set the matching buttons accordingly (if the value in teh excel file is not 0 or 1 it means that its user input) - Press the "write to program memory" button on and off to write the instruction into the program memory
- Click on Simulate > Ticks Enabled (change ticks frequency to see how the cpu works better) to start the simulation (click again to stop)
- Either look at the RAM or the console outputs to visually see what instructions and values are in the cpu: