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