Retrieving code from an old PAL

Jun 19, 2005 2 Replies

Dear All, I have to duplicate a board that was designed by our company 18 years ago. It has a PLS101 PLA on it. Unfortunately the old codes are lost. Is it possible to recover code from the PAL by applying inputs and getting the outputs? The PLS101 PLA is 16x48x8, 16 inputs and 8 outputs. What would be the time complexity for retrieving all the equations? If I connect the PLA to a PC to get the equations, are ther any SW tools to check the outputs and retrieve the equations?



All kind of help will be appreciated. Thanks



I just checked and the TopMAX programmer from eetools can read a PLS101, and shows no Secure option. It will also vector test this device. Other device programmers will be similar.

Thus you can probably get the fuse info, directly, and simply program new devices. JDR still show stock ;)

If you need to move to a new device, you could work from this fuse into, with an old PLS101 data sheet, and your circuit diagrams. The vector test feature allows you to confirm, as far as your test coverage goes :)

Candidate replacement devices ( assumes you want to keep ~package, and 5V ) can be found at

formatting link
or you could look at ATF1502ASL from Atmel, different package, but lower power.

-jg

No non-ouput registers (no registers at all in that device) means no hidden state. So you can just read it out as eight 64k x 1 roms. And "compress" the data. First by eliminating any inputs that don't effect a given output. Then by identifying all local areas where changing one or several inputs does not change the output. Write a product term for each such group anding the state of the inputs that do mattter, then or all such product terms together to create that output. It's a fun undegrad exercise for 4-input devices, circling the product terms on a little grid of two bits by two bits counted in grey code - but for 16 inputs and 8 outputs you want software...

Of course the tools exist as the Jim mentioned. But you could also do it in a long afternoon with a pc printer port, an 8255 for I/O expansion, and the programming language of your choice.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required