ALU designs

A project log for A 16-bit CPU in Logisim

A custom 16-bit CPU created in Logisim

MartianMartian 04/14/2018 at 06:420 Comments

After reading Yann Guidon's notes about ALU design and reading Warren Toomey's ALU tutorial here:

I took those ideas and I am testing this in my current CPU layout in Logisim.

The add/subtract unit is how Yann described, using an adder's Carry In and a XOR gate to do subtraction:


OK, briefly about the ALU.   I was starting to get too obsessed and distracted with it, I wanted more functions so I've kind of compromised:

But, importantly it IS operationally compatible with the optimised one I had.  So if I want to do the ALU at a lower level, the control line is still there to do the combined Add/Subtract circuit with the XOR.  Also it doesn't affect any the instruction set or internal microcoding.