POS,SOP conversion help

Thread Starter

silvercats

Joined Apr 7, 2011
6
F(A,B,C)=(A.B.C) + (A'.B')+ (A.B'.C) + (A.C')
how to convert this SOP to POS?
and how to convert any POS to SOP too?
i want to do this with de morgan's law.
if there is another easier way too,please tell
 

Thread Starter

silvercats

Joined Apr 7, 2011
6
what i know is.
F(A,B,C)=(A.B.C) + (A'.B')+ (A.B'.C) + (A.C')
=(A.B.C) + (A'.B'.C+C')+ (A.B'.C) + (A.C'+B+B')
= (A.B.C) + (A'.B'.C)+(A'.B'.C') +(A.B'.C) + (A.C'+B')+(A.C'+B)

and i know that
F'(A,B,C)={(A.B.C) + (A'.B')+ (A.B'.C) + (A.C')}'

F'=(A.B.C)'.(A'.B'.C)'.(A'.B'.C')'.(A.B'.C)'.(A.C'.B')'.(A.C'.B)

F'=(A'+B'+C).(A+B+C').(A+B+C).(A'+B+C').(A'+C+B).(A'+C+B')

is this the answer?
can't be right?

because we made F into F' to apply de Morgan's to this.
so answer would come as the F' form.but we want F,not F'

what to do?
thanks
 

Georacer

Joined Nov 25, 2009
5,182
Conversion from SOP to POS and vice versa is a fine detail, and not easy to understand.

Let's consider these things first:

  • SOP uses the 1s of the Karnaugh Map to extract an expression of the F.
  • POS uses the 0s of the Karnaugh Map to extract a SOP expression. But that expression corresponds to F' since we have used the 0s. Therefore we must complement it to find the function F. Thus we end with a POS form.
I admit is quite hard to get POS from SOP with boolean operations. I suggest the following procedure instead:

Start with your SOP expression:
F(A,B,C)=(A.B.C) + (A'.B')+ (A.B'.C) + (A.C')

Produce its truth table:
\( \begin{array}{|c|c|c||c|}
\hline\\
A & B & C & F\\
\hline\\
\hline\\
0 & 0 & 0 &1\\ \hline\\
0&0&1&1\\ \hline\\
0&1&0&0\\ \hline\\
0&1&1&0\\ \hline\\
1&0&0&1\\ \hline\\
1&0&1&1\\ \hline\\
1&1&0&1\\ \hline\\
1&1&1&1\\ \hline\\
\end{array}
\)

Build its Karnaugh map.

Group and find an SOP expression for the zeroes of the map.

Now you have the SOP expression of F'. Complement it to get the POS expression of F.

Notice that the sums of the POS expression of F arent' simply the complements of the products of the SOP form. This is the reason simple Boolean operations won't allow you to go from one form to the other.

Is that clear?
 

Thread Starter

silvercats

Joined Apr 7, 2011
6
i was wrong,by creating a truth table,i got this as the answer


(A+B'+C)(A+B'+C') -POS of the above SOP,correct?if wrong somebody correct please.thanks
 

Georacer

Joined Nov 25, 2009
5,182
It is not wrong, but it is not the simplest form of it. Did you simplify first the pair of zeroes of your Karnaugh Map?

Your intermediate answer, after grouping the zeroes should be F'=A'B
which will become F=A+B' after the complementation.
 

Thread Starter

silvercats

Joined Apr 7, 2011
6
what ?i didn't use a karnaugh map,i just draw the truth table,and took 0's then converted to this :rolleyes:

lol my very first answer doesn't make any sense,right?

if they just asked to convert to a POS,would that be essential to simplify it too?
 

Georacer

Joined Nov 25, 2009
5,182
Well, it's not crucial to simplify it theoretically, but in practice you always want to do it and a weird professor might want it too.
 

Venky@23

Joined Sep 11, 2013
1
F(a,b,c)= abc+a'b'+ab'c+ac'
= abc+ab'c+a'b'+ac'
= ac(b+b')+a'b'+ac'
= ac+ac'+a'b'
= a+a'b'
= (a+a')(a+b')
= a+b'
= a+b'+cc'
= (a+b'+c)(a+b'+c')
 

WBahn

Joined Mar 31, 2012
29,977
what i know is.
F(A,B,C)=(A.B.C) + (A'.B')+ (A.B'.C) + (A.C')
=(A.B.C) + (A'.B'.C+C')+ (A.B'.C) + (A.C'+B+B')
You are being real sloppy here. Your second line is always True. Look at the last term. Since either B or B' must be True, that last term must be True. If ANY term is True, the expression as a whole is True. You also have a problem with the second term.

Be more careful.

What you meant (and clearly knew since you did it mentally to get part of your third line) is

F(A,B,C) = (A.B.C) + (A'.B')+ (A.B'.C) + (A.C')
F(A,B,C) = (A.B.C) + (A'.B'.(C+C'))+ (A.B'.C) + (A.C'.(B+B'))
F(A,B,C) = (A.B.C) + (A'.B'.C) + (A'.B'.C')+ (A.B'.C) + (A.C'.B) + (A.C'.B')

Now consider your third line:

= (A.B.C) + (A'.B'.C)+(A'.B'.C') +(A.B'.C) + (A.C'+B')+(A.C'+B)
Although you wrote the second term in the second line incorrectly, you did it correctly when you came up with the third line. But you didn't do so for the final term. You need to ask yourself why it would make sense for the form of the last two terms to be different than the form of the other terms? That's all part of constantly asking yourself if the answer makes sense.

and i know that
F'(A,B,C)={(A.B.C) + (A'.B')+ (A.B'.C) + (A.C')}'

F'=(A.B.C)'.(A'.B'.C)'.(A'.B'.C')'.(A.B'.C)'.(A.C'.B')'.(A.C'.B)

F'=(A'+B'+C).(A+B+C').(A+B+C).(A'+B+C').(A'+C+B).(A'+C+B')
You missed an inversion tick on the last factor of the second row, but other than that you are okay. This is not in simplest form, but it should be valid. The wonderful thing about engineering is that you can usually verify the correctness of an answer from the answer itself. So get in the habit of doing so.

Your original expression was

F(A,B,C) = (A.B.C) + (A'.B')+ (A.B'.C) + (A.C') = P1 + P2 + P3 + P4

So let's build the Truth Table

A|B|C||P1|P2|P3|P4||F
0|0|0||0|1|0|0||1
0|0|1||0|1|0|0||1
0|1|0||0|0|0|0||0
0|1|1||0|0|0|0||0
1|0|0||0|0|0|1||1
1|0|1||0|0|1|0||1
1|1|0||0|0|0|1||1
1|1!1||1|0|0|0||1

(Just as Georacer had)

Now what about your proposed answer?

F'(A,B,C)=(A'+B'+C).(A+B+C').(A+B+C).(A'+B+C').(A'+C+B).(A'+C+B')
F'(A,B,C)=S1.S2.S3.S4.S5.S6

A|B|C||S1|S2|S3|S4|S5|S6||F'||F
0|0|0||1|1|0|1|1|1||0||1
0|0|1||1|0|1|1|1|1||0||1
0|1|0||1|1|1|1|1|1||1||0
0|1|1||1|1|1|1|1|1||1||0
1|0|0||1|1|1|1|0|1||0||1
1|0|1||1|1|1|0|1|1||0||1
1|1|0||0|1|1|1|1|0||0||1
1|1!1||1|1|1|1|1|1||0||1

And, sure enough, they agree.

because we made F into F' to apply de Morgan's to this.
so answer would come as the F' form.but we want F,not F'

what to do?
thanks
From the Truth Table it is very easy. You want to start with an SOP form for F'

F'(A,B,C) = A'.B.C + A'.B.C'

This then gives you

F(A,B,C) = [(A'.B.C) + (A'.B.C')]'
F(A,B,C) = (A'.B.C)' . (A'.B.C')'
F(A,B,C) = (A+B'+C').(A+B'+C)

This is with ignoring the obvious simplification

F'(A,B,C) = A'.B.C + A'.B.C'
F'(A,B,C) = A'.B.(C+C')
F'(A,B,C) = A'.B

F(A,B,C) = (A'.B)'
F(A,B,C) = (A + B')

There's really no reason to expand this so that each sum includes all three variables.

This is all fine and good, but it leaves the question of how you go from an SOP form to a POS term algebraically. Venky@23 does this, so look at what steps he did. See if you can figure out a set of steps that will take you between the two forms. Post your thoughts and then we can discuss it and fill in any gaps.
 

WBahn

Joined Mar 31, 2012
29,977
Conversion from SOP to POS and vice versa is a fine detail, and not easy to understand.

Let's consider these things first:

  • SOP uses the 1s of the Karnaugh Map to extract an expression of the F.
  • POS uses the 0s of the Karnaugh Map to extract a SOP expression. But that expression corresponds to F' since we have used the 0s. Therefore we must complement it to find the function F. Thus we end with a POS form.
I admit is quite hard to get POS from SOP with boolean operations. I suggest the following procedure instead:

Start with your SOP expression:
F(A,B,C)=(A.B.C) + (A'.B')+ (A.B'.C) + (A.C')

Produce its truth table:
\( \begin{array}{|c|c|c||c|}
\hline\\
A & B & C & F\\
\hline\\
\hline\\
0 & 0 & 0 &1\\ \hline\\
0&0&1&1\\ \hline\\
0&1&0&0\\ \hline\\
0&1&1&0\\ \hline\\
1&0&0&1\\ \hline\\
1&0&1&1\\ \hline\\
1&1&0&1\\ \hline\\
1&1&1&1\\ \hline\\
\end{array}
\)

Build its Karnaugh map.

Group and find an SOP expression for the zeroes of the map.

Now you have the SOP expression of F'. Complement it to get the POS expression of F.

Notice that the sums of the POS expression of F arent' simply the complements of the products of the SOP form. This is the reason simple Boolean operations won't allow you to go from one form to the other.

Is that clear?
Actually, it's not clear at all. Going from any Boolean expression to either POS or SOP is very simple and straightforward.

To get an expression in SOP form, you simply distribute all AND operations over all OR operations. To get an expression is POS form, you simply distribute all OR operations over all AND operations. Then, if you want it in canonical form, you simply expand each term (in SOP) or each factor (in POS) with any missing inputs.

Let's consider a simple example -- XOR.

F = A'B+AB'

That's in SOP. Now let's convert it to POS by distributing all OR operations across all AND operations:

F = (A'B+A)(A'B+B')
F = (A'+A)(B+A)(A'+B')(B+B')

Eliminate any factors that contain both the uncomplemented and complemented versions of any single input, since the result is always T, and you have the POS form.

F = (B+A)(A'+B')

Given this, if you want to go to SOP, distribute the ANDs over the ORs.

F = (B+A)A'+(B+A)B'
F = BA'+AA'+BB'+AB'

Eliminate any terms that contain both the uncomplemented and complemented versions of any single input, since the result is always F, and you have the SOP form.

F = BA'+AB'
 
Top