November 25, 2022

Programmable devices: the gal16v8

This is a 20 pin device and is capable of replacing a myriad of 20 pin PAL devices like the 16L8. The part number "16V8" tells you that 16 pins can act as inputs to the logic array, and 8 pins can act as outputs. So, there are 4 "special" pins to be accounted for. Two are power and ground naturally, the other 2 special pins are:

The logic array

Each of the 16 possible inputs is presented to the logic array as an inverted and non-inverted form, so the logic array has 32 inputs. Each output cell gets 8 inputs, so with 8 cells (one per output), the logic array will need to have 64 outputs. So, the logic matrix must have 32*64 "fuses", i.e. 2048. These are fuses 0-2047.

So each cell has 8 AND rows coming from the logic array. These go to an OR gate to combine them all together. The output of this OR gate goes to an XOR gate with a signal (named "XOR") that allows the output to be inverted or not.

Each cell also has 8 fuses called "PTD", which is "product term disable". These are used to "turn off" an entire AND row from the logic array. So there are 64 of these and they are fuses 2128 to 2191.

The output cells

The output cells (each one drives an output) are called OLMCs. This is "Output Logic Macro Cell" and indicates that there are a variety of ways the output can be configured. For example the output can contain a register, or just be a simple combinatorial output.

There are two "fuses" that affect all of the OLMCs. These are:

Fuse 2192 -- SYN
Fuse 2193 -- AC0
The SYN bit, when set to 1 indicates a pure combinatorial configuration; when set to 0, it says that the device has registers and pin 1 is clock and pin 11 in output enable. When SYN is 1, those pins are ordinary inputs. (I am in the dark as to how these fit into the 2048 bit logic array).

The AC0 bit, switches between "small PAL mode" and "medium/large PAL mode".

Each OLMC has its own pair of bits, AC1 and XOR. The XOR bit has already been mentioned above and allows the final output signal to be inverted.
The XOR bits are fuses 2048 to 2055.

The AC1 bit does different things depending on AC0. The AC1 bits are fuses 2120 to 2127

Fuses 2056 to 2119 provide 64 bits (8 bytes) of programmable "signature" which can be programmed and then used by the user in any way he sees fit.


Have any comments? Questions? Drop me a line!

Programmable devices / tom@mmto.org