Ah, ABEL! They were still teaching it at U-M EECS ca. 2004-2005 in the
introductory digital design course. We must have been one of the last
groups of students to use it. I found it always very easy to work with,
sort of the BASIC of HDLs. Does anything still support it? IIRC ABEL was
removed from Xilinx ISE some time ago.
Interesting post.
Best,
Sean
On Tue, Sep 30, 2014 at 6:40 PM, Michael Holley <swtpc6800 at comcast.net>
wrote:
The early 20/24 pin PALs had a security fuse to
prevent unauthorized
duplication. I worked at Data I/O, the device programmer company, in the
1980s and figured out a way to determine the contents. I did a few
experiments to prove the concept but never created a complete package.
PAL programmers like the Data I/O LogicPak could apply test vectors to a
PAL
and check the output state of each pin. For a purely combinatorial device
like a PAL16H8 you just need to apply all possible inputs and read the
outputs. This will create a large truth table in inputs and outputs that
can
be minimized with PLD software like ABEL.
Registered devices like PAL 16R8 require the bank of registers to cycle
through all starting points with all inputs. Most of these devices
supported
pre-load, the programmer could force the internal registers to a known
state. You could force a desired register state and inputs then apply the
clock. These early registered PALs had a tri-state output buffer controlled
by a dedicated pin so you could always read the register output. Later
parts
had the output buffer controlled by an internal logic function.
I am sure that by now someone has developed a high speed tester that
applies
every combination of inputs then minimized the output to generate a
programming file.
I have copies of the early DOS based ABEL software; it runs in a DOS box on
Windows 98. I believe that Xilinx now owns the copyright. I have donated
copies of the software and source code to the Computer History Museum.
Michael Holley