GALU - A Gate Array Logic based ALU IC.


Introduction

A little while back I found that it was getting hard to source Dil-based ALUs, for example the 74LS181, or 74LS381 integrated circuits. So, I decided to implement my own on the simplest PAL chip I possibly could, a GAL20V8. The GALU426 is thus a 4-bit ALU with carry in and carry out.

GALU426 supports 2 arithmetic functions: Cout:Res = A+B+Cin and Cout:Res = A-B-Cin.
GALU426 supports 6 logical functions: Cout:Res = 0; Cout:Res = ~B; Cout:Res = A XOR B; Cout:Res = A XNOR B; Cout:Res = A NOR B; Cout:Res = A AND B.

GALU426 is suitable for hobby electronics projects, such as a home-brew TTL CPU.

I'll quite happily sell you a pre-programmed GALU426 for £5 (ex P&P) as of 11/12/09!

Description

GALU426 is implemented on a 20V8 GAL device using 12 inputs and 8 outputs.

The 12 inputs are A3..A0, B3..B0, Cin, F2..F0.
The 8-outputs are Cout3..Cout0, Sum3..Sum0.

 Cin:F2\F1:F0 00 (+C/-C)
 01 (0/~B)
 10 (XOR/XNOR)
 11 (AND/NOR)
 0:0 A+B+0 0 A XOR B
 A AND B
 0:1 A-B-0 0 A XOR B
 A AND B
 1:0 A+B+1 ~B A XNOR B
 A NOR B
 1:1 A-B-1 ~B A XNOR B
 A NOR B

Note, the subtract with carry is a Z80-style subtract with carry (a-b-cy) not a subtract with borrow (a+~b+cy).

More details to follow!

Comments