Close

Programmable Logic Device Primer

darrin-bDarrin B wrote 08/13/2021 at 15:39 • 2 min read • Like

This page started as a real world test of an idea sprang from a thread on Stack. I'll be adding bits of content here, for many months.

The focus of the content will be GAL type devices, since I see them as a good starting point in the wide world of PLDs. Within limitations the info here can be applied to older PAL devices, or be expanded to make use of newer devices.

If you've never used one of these gadgets, the place to start is simple boolean logic. AND, OR, NOT and their friends. Karnaugh maps (K-Map) are nice to know, as are DeMorgan's Theorms, but mastery of these principles are not required, just learn them as you need to.

Got a handle on boolean? Great! Now grab any old TTL chip in the 7450 to 7465 range, most of those are "AND-OR-Invert" devices. Build a circuit and you have a hard-wired version of a K-map.

The next step would be in to PAL family of devices, but they're one-time programmable. One tiny logic error and you have an unusable chip.

Here we go! The part numbers of a GAL device (PAL also) describes the maximum number of inputs and outputs available, as well as the internal post-processing function. A GAL16V8 can make up to 16 of the pins function as inputs, and up to 8 of the pins can be used as outputs. The 8 also describes the total number of "cells". Think of each cell as being a 7450-type device, a 7474 flip-flop, a tri-state buffer and an inverter. All outputs have an internal connection that can be used as a logic input to another cell. However, if you need more than 8 external inputs you will have to either reassign an output to be one of the inputs or you could use the clock and output enable inputs as global inputs but lose the flip-flop and tri-state ability. Unless you're making a Signetics 25120 WOM, you'll want to save at least one of the cells for output duty.

A question you may be asking now is "How many chips does this device replace?" Well, a 16V8 contains 4x 7474 dual D-type flip flops, 8x 8-ish input OR gates, 2x 7486 quad 2-input XOR gates, and a small mountain of 7400s. Your ability to wrestle logic equations (DeMorgan-ize) plays a big role in the answer. My current best wedges (mostly) an 8 bit up/down counter with clear in to a 16V8, requiring a pair of 3 input AND gates and a pair of 3 input OR gates to function.

That's quite a lot to grasp all at once, and there's more to come. Stay tuned...

Like

Discussions