the PAL

Tony Duell ard at
Tue Jan 22 13:58:19 CST 2008

> 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.
> 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).


More information about the cctalk mailing list