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