TECH : Logic equations......

M

Mark (UK)

Guest
Hi all!

This may be slightly OT for this group, but as it's to do with
programmable logic devices, I thought I'd ask - you all seem like a
clever bunch!

I'm working on a software algorithm to reduce the number of product
terms in a PALs equations. I've almost got it, but I've been staring at
one set of equations for ages, and i'm not sure if they're the same.
Basically, the original Equation from pin 12 of this device (a 10L8) is:

!o12 = !i2 & !i3 & !i4 & !i5 & i6 & !i11
# !i1 & !i2 & !i3 & !i4 & !i5 & i6 & i11

If we disregard the pins that are common across the logic terms, because
I know about those, and I just keep the two pins inputs that are
worrying me, we're left with

!o12 = !i11
# !i1 & i11

Now, my algorithm seems to get every other pin right in the device, but
for this pin, it gives me (again, excluding the other pins)

!o12 = !i11
# !i1

and misses out the last "& i11". Is this correct? I've drawn logic
tables by the dozen, and as far as I can see I'm 90% sure it is.

Both equations seem to satisfy the truth table:

P1 P11 !o12
L L L
L H L
H L L
H H H

(looks like a simple AND device!)

but I would like someone else to just look at it and tell me either to
stop worrying, or my algorithm is up the spout.

All help appreciated.

Yours, Mark.
 
!o12 = !i11
# !i1 & i11

Now, my algorithm seems to get every other pin right in the device, but
for this pin, it gives me (again, excluding the other pins)

!o12 = !i11
# !i1
Consider the two cases of i11 being low and high.

If it's low, the first term is true and you don't need to check
the second line.

If it's high, then the first term is false and you have to look at the
second line. Since you (now) know that i11 is high, you can drop it from
the logic.

--
The suespammers.org mail server is located in California. So are all my
other mailboxes. Please do not send unsolicited bulk e-mail or unsolicited
commercial e-mail to my suespammers.org address or any of my other addresses.
These are my opinions, not necessarily my employer's. I hate spam.
 
On Sat, 10 Jul 2004 14:42:08 +0000 (UTC), "Mark (UK)"
<jumbos.bazzar@btopenworld.com> wrote:

Hi all!

This may be slightly OT for this group, but as it's to do with
programmable logic devices, I thought I'd ask - you all seem like a
clever bunch!

I'm working on a software algorithm to reduce the number of product
terms in a PALs equations. I've almost got it, but I've been staring at
one set of equations for ages, and i'm not sure if they're the same.
Basically, the original Equation from pin 12 of this device (a 10L8) is:

!o12 = !i2 & !i3 & !i4 & !i5 & i6 & !i11
# !i1 & !i2 & !i3 & !i4 & !i5 & i6 & i11

If we disregard the pins that are common across the logic terms, because
I know about those, and I just keep the two pins inputs that are
worrying me, we're left with

!o12 = !i11
# !i1 & i11

Now, my algorithm seems to get every other pin right in the device, but
for this pin, it gives me (again, excluding the other pins)

!o12 = !i11
# !i1

and misses out the last "& i11". Is this correct? I've drawn logic
tables by the dozen, and as far as I can see I'm 90% sure it is.

Both equations seem to satisfy the truth table:

P1 P11 !o12
L L L
L H L
H L L
H H H

(looks like a simple AND device!)

but I would like someone else to just look at it and tell me either to
stop worrying, or my algorithm is up the spout.

All help appreciated.

Yours, Mark.
From Introduction to Switching Theory and Logical Design, Fredrick J.
Hill & Gerald R. Peterson, John Wiley & Sons, Inc. 1968:

THEOREM 4.10: For any pair of elements a and b in K, a + a'b = a + b;
a(a' + b) = ab.

proof:

a + a'b = (a +a')(a + b) Distributive law, postulate Va
a + a'b = 1(a + b) Postulate VI, a + a' = 1
a + a'b = a + b Postulate IIIb, a & 1 = a

Substituting the elements from your equations:

!i11 + (i11 & !i1) = !i11 + !i1


--
Thaas
 
Hi!

Thankyou. You've now completely confused me!!

However, I got my answer. I programmed it up in a GAL, stuck it ontop of
the original device, and it didn't fight - so it seems to be happy. It
also works fine in the board, so I'll go with it as is.

Yours, Mark.

Thaas wrote:

On Sat, 10 Jul 2004 14:42:08 +0000 (UTC), "Mark (UK)"
jumbos.bazzar@btopenworld.com> wrote:


Hi all!

This may be slightly OT for this group, but as it's to do with
programmable logic devices, I thought I'd ask - you all seem like a
clever bunch!

I'm working on a software algorithm to reduce the number of product
terms in a PALs equations. I've almost got it, but I've been staring at
one set of equations for ages, and i'm not sure if they're the same.
Basically, the original Equation from pin 12 of this device (a 10L8) is:

!o12 = !i2 & !i3 & !i4 & !i5 & i6 & !i11
# !i1 & !i2 & !i3 & !i4 & !i5 & i6 & i11

If we disregard the pins that are common across the logic terms, because
I know about those, and I just keep the two pins inputs that are
worrying me, we're left with

!o12 = !i11
# !i1 & i11

Now, my algorithm seems to get every other pin right in the device, but
for this pin, it gives me (again, excluding the other pins)

!o12 = !i11
# !i1

and misses out the last "& i11". Is this correct? I've drawn logic
tables by the dozen, and as far as I can see I'm 90% sure it is.

Both equations seem to satisfy the truth table:

P1 P11 !o12
L L L
L H L
H L L
H H H

(looks like a simple AND device!)

but I would like someone else to just look at it and tell me either to
stop worrying, or my algorithm is up the spout.

All help appreciated.

Yours, Mark.


From Introduction to Switching Theory and Logical Design, Fredrick J.
Hill & Gerald R. Peterson, John Wiley & Sons, Inc. 1968:

THEOREM 4.10: For any pair of elements a and b in K, a + a'b = a + b;
a(a' + b) = ab.

proof:

a + a'b = (a +a')(a + b) Distributive law, postulate Va
a + a'b = 1(a + b) Postulate VI, a + a' = 1
a + a'b = a + b Postulate IIIb, a & 1 = a

Substituting the elements from your equations:

!i11 + (i11 & !i1) = !i11 + !i1
 
I was just pointing out that your algorithm was working correctly as
it is simply implementing the logic reduction defined by the theorem
and its proof.

Just substitute a for !i11 and b for !i1 and you'll see that your
equations match the theorem exactly.

I see now that I left out Postulate Va: a + bc = (a + b)(a + c). The
first step of the proof is simply a special case of this postulate.
Notice here that b in the Pos Va is the a' in the proof and c is the b
in the proof.

In other words you can factor out a boolean one in the form of (a +
a') from the equation to yield the reduced equation of (a + b). In
your case !i11 # !i1.


On Sun, 18 Jul 2004 21:12:24 +0000 (UTC), "Mark (UK)"
<jumbos.bazzar@btopenworld.com> wrote:

Hi!

Thankyou. You've now completely confused me!!

However, I got my answer. I programmed it up in a GAL, stuck it ontop of
the original device, and it didn't fight - so it seems to be happy. It
also works fine in the board, so I'll go with it as is.

Yours, Mark.

Thaas wrote:


From Introduction to Switching Theory and Logical Design, Fredrick J.
Hill & Gerald R. Peterson, John Wiley & Sons, Inc. 1968:

THEOREM 4.10: For any pair of elements a and b in K, a + a'b = a + b;
a(a' + b) = ab.

proof:

a + a'b = (a +a')(a + b) Distributive law, postulate Va
a + a'b = 1(a + b) Postulate VI, a + a' = 1
a + a'b = a + b Postulate IIIb, a & 1 = a

Substituting the elements from your equations:

!i11 + (i11 & !i1) = !i11 + !i1
--
Thaas
 

Welcome to EDABoard.com

Sponsor

Back
Top