If any of you wondered what 3+ months of my time crystalized into a few images would be, see below.

Here is the end product of a semester of ECE474, done with help of partners Wade and Arbi.

The design is a simple 8-bit cpu with an 8-bit address bus (hence it can only deal with 256 bytes of memory. It has 7 genereal purpose registers, an accumulator, and 1 register that is always zero. It can do most of the standard simple integer operations.

It works in simulation. Sadly we didn't get to fab it. Each instruction takes 4 cycles of 8ns each. So you could clock it at 100MHz or so but you'd only get instructions done every 4th cycle (no pipelining here!)

u474 CPU

Quick explanation for the curious and non Electrical-Engineers:

Each color does represent a different layer of metal, silicon, or doped silicon. Blue and purple are metal wires. Green is N silicon, Brown is P silicon. Red is highly conductive polysilicon. Where red crosses brown or green you have a P or N MOSFET (transistor) respectively. And where you have a P and N mosfet connected by polysilicon, you probably have an inverter...

If you build a billion dollar lab with toxic chemicals you too could create chips from this design...

Detail of part of the ALU (Arithmatic Logic Unit).

The far left is a one bit right/left shifter. The middle is an adder/subtractor. To the right is a "function block" that does all of the boolean logic. The smaller block next to each unit is a latch that lets the values out onto the bus when we need them.


Detail of part of some registers.

Left and center are 2 bits of the register file. To the right is our "zero" register which is actually a latch connected to ground.

We reuse the registers for the Instruction register (which holds the instruction we are executing). We also have a Program Counter register, which along with an adder goes either to the next instruction or else if we are branching adds in the branch offset.


On the main design you'll notice a super-dense mass of circuitry near the center. No, this is not cache. It's a PLA that is the brain of the chip and tells all the parts what to do.

The square pads around the edges are where wires to the outside world would come down.


Too Much Fun (or not enough sleep):

You'll notice the smiley face to the upper right. No, that's not some sort of fancy new logic device. It's just a picture we drew. We had so much extra room after optimizing for size we had room for pictures. There are two other things along that row you can't make out.

First, a poem by partner Wade:

It says, if you can't make it out:

Ode To Magic

You give me the metal1 blues
And make me green with ndiff
You like everything neat and tidy
But get cross at the thought of being PC
I try day after day for a perfect LVS
But too often you complain it's wrong how I pull you down
Maybe someday I can fill in the missing staticizers and end this timeless struggle.

And yes, the last little blob on the left is yours truly:

I don't want to hear ANY comments about having too much free time. You have no idea.