I use a program called jed2ahdl.exe to convert fuse maps ( jedec files) to
equations. It works well and I have used it for years. There is one other
that I use called Opal Jr. If anyone is in need of converting jedecs
contact me offline.
Hutch
ard at p850ug1.demon.co.uk (Tony Duell)
Sent by: cctech-bounces at
classiccmp.org
06/25/2006 06:53 PM
Please respond to
"General Discussion: On-Topic Posts Only" <cctech at classiccmp.org>
To
cctalk at
classiccmp.org
cc
Subject
Re: backing up PAL chips
> 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