HP9816 PAL16L8

dwight dkelvey at hotmail.com
Tue Jun 11 10:17:43 CDT 2019


I realize that most are familiar with using the equations to create the PALs but I'm a circuit person more than an equation person for circuits. When I needed to create a PAL from a schematic, I first made a schematic of what the PAL was suppose to do, using the same basic model of logic that the PAL provided. Once I was done, I took the PAL map from the TI book and made red dots on each of the connections I needed. I'd then go back and add the don't care connections. You know, A*A!. I transposed them to a text file in the JEDEC format ( One needs to add on non-text character as I recall ) I then gave the file to my friend that had a PAL programmer and made the PAL. I made a simple ruler to convert dot locations to column offsets.
While, Most seem to like the algebraic formulas, I find it harder to check than a schematic.
I had one value that I wasn't sure about that require an experimental PAL blown, as the circuit didn't show if the bank select was 0 or 1 at reset.
I've used this method on both the recreation of Jef Raskin's Swyft board and the PAL I needed for my 6532 to 6530 KIM-1 fix ( the KIM took a couple more PALs because as a human, I made some logic mistakes ).
Copying a L type PAL is a little simpler but in the case of the Swyft board it was a R type PAL. Doing it from the schematic, and know what it was suppose to do was much simpler than trying every possible combination of clock and data from the pins of a PAL ( that I didn't have anyway ).
Dwight

________________________________
From: cctalk <cctalk-bounces at classiccmp.org> on behalf of Paul Berger via cctalk <cctalk at classiccmp.org>
Sent: Tuesday, June 11, 2019 5:54 AM
To: cctalk at classiccmp.org
Subject: Re: HP9816 PAL16L8


On 2019-06-11 1:19 a.m., Chuck Guzis via cctalk wrote:
> On 6/10/19 8:44 PM, Tony Duell via cctalk wrote:
>
>> You can detect sequential logic in the PAL by :
>>
>> For each combination of inputs :
>>     Read the outputs
>>       Toggle an input (change from 0 to 1 and back again or vice versa)
>>       Compare the outputs to what they were before -- if they have
>> changed then there's a sequential function on that input
>>       Check the next input
>>    Check the next combination of inputs
> For purely combinatorial PLDs, see my blog entry on the subject over at
> vcfed.org; I did the work to clone a few PALs some years ago and
> documented the process.
>
> FWIW, the setup to do this was a few TTL ICs connected to the parallel
> port of a PC.   Nowadays, I'd probably do the same with an inexpensive
> MCU--the programmable nature of MCU pins lends a certain amount of
> flexibility to the process.
>
> Basically, you separate the inputs from the outputs and then run all
> combinations of the inputs, observing the outputs.   If the tristate
> feature is used on outputs, there's a way to discover the difference
> between a tristated pin and a genuine input.
>
> There are a number of tools to perform reduction on the results, such as
> Logic Friday.   After that, you're left with a bunch of logic equations
> that can be fed into a PAL/GAL assembler and programmed.
>
> --Chuck

Old computer work too, I used a GPIO in a HP 9000-332.  Years ago I also
created general purpose I/O ports for a PC using 6821 chips since they
are way more flexible that the Intel  8255, but the HP 9000 coupled with
RMB makes for a great environment to bang out quick programs to do
things like this.

Paul.



More information about the cctech mailing list