On Sunday 20 January 2008 21:08:51 Chris M wrote:
16L8ACN. This is the PAL aboard the Acculogic
sIDE-1/16 XT-IDE controller I mentioned. Someone asked :)
... and here's a datasheet.
http://noel.feld.cvut.cz/hw/philips/acrobat/6052.pdf
Now, correct me if I'm wrong, but that seems to suggest that some of the pins
are always inputs, and some may be configured as inputs or outputs.
Correct. The 16L8 (IIRC) has 10 pins that are always inputs, 2 pins that
are always outputs amd 6 pins that can be configured as either. And note
that you can take feedback from those 6 (if configured as outputs) into
the logic array, thus meaning you can make sequentioal circuits
(flip-flops, etc).
That last can really complicate things. It means, for example, the
concept of a truth table may not be valid (it's a 'sequence table', and
that just cylcing through all the inputs and seeing what the outputs do
is not enough. However, note there is no 'hidden state'. If the chip is
programemd to make flip-flops, etc, then the output of each flip-flop
appears on a pin (this is not true of more complex programmable logic
chips). So there is some hope in cracking it.
I reckon it would be possible to work out what's configured as input and
what's configured as output, and from that determine the truth table of the
PAL by brute-force methods (just try all the inputs in turn). From there you
can start looking at how to reproduce it.
I would start by tracing scheamtics of the board if you;ve not already
done so. That should tell you which pins are inputs and which are outputs
(and which, if any, are bidirectional). It may also indicate if the
device is possibly sequetional (if, for example, it's just an address
decoder, then it's very likely to be purely combinatorial).
-tony