• Please review our updated Terms and Rules here

Cloning a PAL/HAL (Part 4)

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
44,529
Location
Pacific Northwest, USA
You can find Part 3 of this series here.

Recap thus far: We have a PAL10L8 that we need to duplicate. We've constructed a simple circuit, that driven by a PC parallel port and a bit of software will iterate through all 1,024 input possibilities and record the output.

We need to get a series of logic equations, one for each output pin that will produce the same results from the input pins as our original PAL.

We can do this the easy way or the hard way. The hard way is far more instructive, but less convenient, so we'll describe it first.

Note that the device that we're trying to duplicate is the complement of the OR summary of up to two AND combinations of any of the 10 input pins or their complement. Let's simplify things by looking at the outputs as if they weren't inverted.

So, as an example, let's go through and select all of the input combinations that result in a 0 output for bit 3:
Code:
Bit 3 (08):
000 001 008 009 020 021 028 029 040 041 048 049 060 061 068 069
080 081 088 089 0a0 0a1 0a8 0a9 0c0 0c1 0c8 0c9 0e0 0e1 0e8 0e9
100 101 108 109 120 121 128 129 140 141 148 149 160 161 168 169
180 181 188 189 1a0 1a1 1a8 1a9 1c0 1c1 1c8 1c9 1e0 1e1 1e8 1e9
200 201 208 209 220 221 228 229 240 241 248 249 260 261 268 269
280 281 288 289 2a0 2a1 2a8 2a9 2c0 2c1 2c8 2c9 2e0 2e1 2e8 2e9
300 301 308 309 320 321 328 329 340 341 348 349 360 361 368 369
380 381 388 389 3a0 3a1 3a8 3a9 3c0 3c1 3c8 3c9 3e0 3e1 3e8 3e9

That's 128 values, out of the 1,024. However, clearly some of these are logical duplicates, because there are inputs with a bit and its complement resulting in the same output. So, we need to separate out the important bits from the "don't care" ones.

Let's go through each of the 10 input bits and scan the table above. If a given input bit and its complement, with all other input bits being the same result in a output bit 3 value of 0, then the bit must be a "don't care" bit and can be eliminated from the list of input terms that are significant for this output.

If we scan the above table in this manner, we wind up with a mask of significant input bits of 016 (hex), or that this bit is formed by some sum-of-products of only 3 input bits!

A bit of head scratching shows that the sum-of-products logic equation for this result must be:

NOT Bit 1 AND NOT Bit 2 AND NOT Bit 4

Just repeat 7 more times and you've got it.

If part of your morning coffee is doing the daily Cryptoquote, then this will be child's play.

Otherwise, we'd like something easier--and preferably something a bit more automatic...

Click here to go to part 5
 
Back
Top