COMP 273 CPU Project Redo
What is it?
A classic CPU design, stimulated on Logisim. Last semester, I took the course COMP 273 Introduction to Computer Systems. It was an interesting course that would “remove all fantasies you have about computers…”. The final project was to build a toy CPU and write a piece of machine code that performs multiplications on that CPU. And thanks to my teammates Robert and Jingxian, our CPU got 20.5/20 points! Later, I redid the whole project on June.
Though the grade was high, there’s space for improvement.
I am a little obsessive about neatness.
For the final project, I only worked on RAM, part of CU, and multiplication circuit. I would like to try out the rest as well.
To enjoy the joy of design.
No more buggy wires.
No delay issue.
First byte of RAM no longer inaccessible.
Clearer layout on all level of circuits.
CU now let each instruction has its own counter. No more wasted ticks.
All registers united to the same word size of 8 bits. Expandability improved.
When ticks enabled (system starts), the process of loading ROM to RAM is now fully automatic.
Natural way of input. The inputting of value to register and the starting of computation is now automatic.
Build in automatic reset feature. The CPU will be ready for the next task without any reconfigurations.
Overall, the philosophy of my design is to make the CPU more concise, expandable, and automated.
My attemps to solve it
Understand the cause of delay issue
Make the design as simple as possible
Though this project is more about the circuit design, during the development, two software development methodologies were strictly followed. They are:
And they greatly facilitated the overall development process. These two design techniques are just fundamental yet powerful. Great guidelines to follow.
CPU Demo, running at tick frequency 4.1KHz
Loading ROM to RAM, tick frequency 32Hz
ALU, tick frequency 32Hz
8B RAM, tick frequency 32Hz
CU, tick frequency 32Hz
Once again, thanks to my teammates Robert and Jingxian. They did a ton of work on the final project, and brought up some brilliant designs. Without the proto design, this redesign won’t go far.