backing up PAL chips

Tony Duell ard at p850ug1.demon.co.uk
Sun Jun 25 17:53:03 CDT 2006


> > what's the most sensible format for backing up PAL chips such that 
> > they can be  recreated on a different system to that which they were 
> > backed up on?
[...]

> >   jedec
> 
> both jdec and fusemaps are likely to be of most use. 

The jedec format is the normal one for PALs/GALs. Any reasonable PAL 
programmer would be able to make use of that (provided, of course, your 
programmer outputs a standard jedec file :-))

> While you have possible access to a functional device, or
> perhaps schematics and the like you might want to be sure
> you decompile the pals back to equations so that you could
> use an equivalent in a future design.

It is _very_ easy (given the data sheet on the PAL) to turn a fuse map or 
jedec file (which contain the same information) back into the equations. 
Of course you won't be able to give the right names to the signals, but 
you can produce equations.

Basically, a PAL is a programmable AND matrix followed by a fixed OR 
matrix. A (fictional?, but it's close to the 10L8) example might have 10 
input pins and 8 output pins. Each output is the logical NOR (OR followed 
by inverter) of 8 internal 'product terms'. Each product term is the 
logical AND of some of the inputs and their inverses, that 'some' is what 
you select when you program the PAL.

There are 2 'fuses' (progammable bits, originally, they really were fuses 
that you burnt when you programmed the PAL) associated with each 
input/product term combination (so in this example, since we have 10 
inputs, and a total of 64 product terms (8 for each of 8 outputs), there 
are a total of 64*2*10 = 1280 fuses). The 4 combinations of the fuses 
select the following 4 possibilities : 

That input is not used in that product term

That input is ANDed into that product term

That input is inverted and ANDed into that product term

That product term is forced to 0 (basically, the input and its inverse 
are ANDed into the product term).

So, given the fuse map, you can easily recreate the product terms. Since 
you know the fixed part of the chip (The OR matrix, inverters, etc), you 
can recreate the equations, albeit in a non-minimised form. 

At least free [1] version of PALASM came with a program to do this, 
called JED2EQN IIRC. It was supposed to accept a file giving the signal 
names for the pins which it would then substitute into the equations, I 
could never get this to work. I used to feed the output through sed(1)....

[1] That's free as in beer, alas. It didn't cost anything, but was an 
MS-DOS executable only.

-tony




More information about the cctalk mailing list