Image Map Image Map
View RSS Feed


Cloning a PAL/HAL (Part 1)

Rate this Entry
I'll be posting this in pieces because I want to take the time to make it understandable.

So, what's a PAL?

PAL stands for Programmable Array Logic and is a type of integrated circuit that consists some simple logic that can be connected via a programming procedure, much like a PROM. Connections are made by "fuses" in a metal overlay that can be "blown" by a device programmer.

A variation of the PAL is the "HAL", which is Hard Array Logic, which is programmed at the factory and cannot be reprogrammed.

You'll find these things in a lot of post 1980 gear, including Apple systems and IBM systems after the 5160.

So, if a PAL can be programmed, it must be possible to read the programming, right? Well, not always, since there is a cute little fuse called the "privacy" or "security" fuse which disables any attempts to read the fuse map. Needless to say, it was standard practice of most manufacturers to "blow" this fuse.

There are several common PAL part types, but basically they're all similar in that they consist of two or more AND arrays combined in one or more OR gates. The output of these can also have flip-flops (called "registered" PALs) and inverters.

The topic of this blog series is how to duplicate the operation of the PAL10L8, whose datasheet can be found here.

Note that the PAL10L8 consists of 10 input lines and 8 output lines. Each output line is connected to a 2-input NOR gate, each of whose inputs can be the AND of any of the inputs or their complements. Basically each of the 8 outputs takes the following form:

Out = NOT((In1 AND In2...) OR (In1 AND In2..))

And of course, on the PAL we'd like to duplicate, the privacy fuse is blown. All is not lost, however, as we'll see...

Click here to go to part 2...

Submit "Cloning a PAL/HAL (Part 1)" to Digg Submit "Cloning a PAL/HAL (Part 1)" to Submit "Cloning a PAL/HAL (Part 1)" to StumbleUpon Submit "Cloning a PAL/HAL (Part 1)" to Google

Updated October 3rd, 2011 at 07:39 PM by Chuck(G)

Tags: None Add / Edit Tags


  1. cr1901's Avatar
    I sometimes wish PALs were used today to let me do address decoding of multiple peripherals with a single chip... without me having to buy a programmer which costs an arm and a leg. Well, I know address comparator ICs and a microcontroller can accomplish the same thing nowadays, but it seems like SSI 'custom logic' is taboo in this day and age.
  2. Chuck(G)'s Avatar
    5V CPLD's are still around--and even offered in PLCC. Take the Atmel 15F series for example. You can do a heckuva lot with the smallest 44-pin member and 32 macrocells (ATF1500A).

    Some spot sources still carry the Xilinx XC9500 devices in 5V versions as well.

    Parallel port programmers for both are very easy to throw together.

    However, the market on "jellybean" 5V logic is sunsetting, particularly as device geometries get smaller. The small 90 nm processes being used today just won't support 5V operation.