I started this project to understand how real CPUs work. After making my first 4-bit CPU I started reading about the 8085, z80, and the 6052. I wanted to design a faster CPU than those. Right now my CPU can run instructions in less cycles, but it can't run on a super fast clock and doesn't have some of the powerful block transfers that the z80 has. I designed the CPU from scratch using TTL chips and a ROM for the instruction decoder.
The CPU has a custom instruction set with over 60 instructions. Its ALU can do over 8 operations including: ADD, SUB, Complement, compare, shift, etc. It has 4 general purpose registers and 4 for special purposes. The CPU can address 128 kilobytes of RAM and ROM. Its stack can store sixteen 16 bit wide data so it can call 16 times and be able to return.
If you want more hardware info, check out my github link and my youtube channel. This project is still in progress as I am making the ALU part. Logic designs simulated using Digital by H. Neemann.
Details
I have a Youtube video about this project and this is the Intro, Part 1: Program Counters, and Part 2: Registers
YES! The FPGA works! It didn't work because I used one of the MODE pins as a normal I/O and when I would boot it it would not boot my program. I also changed the switches to just wires because that way I wouldn't have to worry about pull-down resistors.
So the ALUI doesn't exactly work. I took the FPGA I was using and put it into a testing circuit. I'm testing it and it doesn't work. Trying to fix it hopefully I will find a solution sometime soon! If you have anything to say please comment! Thanks! Here's a picture:
I finally finished building the ALU part! Here's a picture. The FPGA in the middle does addition, subtraction, complement, and, or, xor, and shifts. The rest off the chips are buffers, comparaters, registers, and the A register. The eight LEDs are connected to the data bus. If you have any suggestions please comment! Thanks!
That’s absolutely amazing for your age!