Combinational Logic Design

Thread Starter

Zaraphrax

Joined Mar 21, 2009
49
G'day there guys,

I'm currently working on a project for my course. I have to design a logic system that when a 4-bit binary input is entered, the circuit produces a HIGH (logic 1) output under the following cirumstances:

- The input is less than or equal to 2 (decimal)
- The input is greater than or equal to 10 (decimal)

I'd really like some feedback to make sure that I'm on the right track.

Here is what I have so far:

1) Truth Table



From this, I can deduce the following Boolean logic functions. I'm going to use "*" to denote the NOT operator.

A*B*C*D*
A*B*C*D
A*B*CD*
AB*CD*
ABC*D*
ABC*D
ABCD*
ABCD

Righto, so we can assume the Output = 1 if

A*B*C*D* + A*B*C*D + A*B*CD* + AB*CD* + ABC*D* + ABC*D + ABCD* + ABCD

Now, I have to simplify this expression as much as possible. Then I have to implement the design using NAND gates only.

I can use any number of the following Integrated Circuits:

- 4 x 2 Input NANDs
- 3 x 3 Input NANDs
- 2 x 4 Input NANDs

So, before I work on simplifying all the expression, am I on the right track? Thanks. :)
 

hgmjr

Joined Jan 28, 2005
9,027
A*B*C*D*
A*B*C*D
A*B*CD*
AB*CD*
ABC*D*

AB*CD YOU OMITTED THIS TERM

ABC*D
ABCD*
ABCD
Your approach deals with the terms that are present (yields a "1"). This is a positive logic approach and contains 9 terms. You can also look at a solution that involves all the terms that are absent (yields a "0"). This is a negative logic approach and contains 7 terms.

hgmjr
 

Thread Starter

Zaraphrax

Joined Mar 21, 2009
49
Your approach deals with the terms that are present (yields a "1"). This is a positive logic approach and contains 9 terms. You can also look at a solution that involves all the terms that are absent (yields a "0"). This is a negative logic approach and contains 7 terms.

hgmjr
Oops, you're right. I missed that one out. Thanks for pointing that out. :)

Which do you think would be easier to simplify and implement given the outlines I specified above?
 

hgmjr

Joined Jan 28, 2005
9,027
I suggest you tackle the problem both ways and see for yourself which one is the easier. It is a bit more involved to do this but you will get a first-hand feel for the difference and it will stick with you the rest of your career in electronics.

hgmjr
 

Thread Starter

Zaraphrax

Joined Mar 21, 2009
49
Ok, I attempted to simplify both the positive logic and negative logic expressions. Not sure if I've done it right (I'm new to this Boolean algebra stuff, only started this week). I don't see yet how I can implement this under the constraints outline in my OP.

But, here's my working. Nitpick as necessary please. :) Excuse the mess.

Click

I can use a Karnaugh map if necessary, but my lecturer says to always try Boolean algebra first.
 

Ratch

Joined Mar 20, 2007
1,070
Zaraphrax,

I can use a Karnaugh map if necessary, but my lecturer says to always try Boolean algebra first.
I hope your lecturer is not advocating using Boolean algebra as a practical method of reducing a complicated Boolean expression. That would really be folly, because is is extremely difficult to know what terms to add and combine, especially for a beginner. I hope to show you what I mean.

The minterms are (0,1,2,10,11,12,13,14,15). Plotting these on a K-map, we immediately get a answer of AB+AC+A'B'C'+A'B'D' or B'CD' instead of A'B'D'. As you can see, that is not the answer you got. So lets do it the hard way using what the K-map shows. Grouping the minterms as shown from the K-map we get:

(10,11,14,15) + (12,13,14,15) + (0,1) + (0,2) or (2,10) instead of (0,2) .

Notice that this covers all the minterms which are present. Now we simplify.

(10,11,14,15) = AB'CD'+AB'CD+ABCD'+ABCD = AC(B'D'+B'D+BD'+BD) = AC(B(D+D')+B'(D+D'))= AC(B+B')=AC

(12,13,14,15) = ABC'D'+ABC'D+ABCD'+ABCD = AB(C'D'+C'D+CD'+CD) = AB

(0,1) = A'B'C'D'+A'B'C'D = A'B'C'

(0,2) = A'B'C'D'+A'B'CD' = A'B'D' or we can cover minterm 2 by the following term instead.

(2,10) = A'B'CD'+AB'CD' = B'CD'

Now, how would you know how to group the terms and which terms to duplicate without looking at a K-map first? And if you want to use negative logic, just simplify the minterms on the K-map that you did not mark for positive logic. So I hope I proved to you that you should ALWAYS use a K-map or a tabulation method instead of Boolean algebra to simplify Boolean expressions.

Ratch
 
Last edited:

Thread Starter

Zaraphrax

Joined Mar 21, 2009
49
Zaraphrax,



I hope your lecturer is not avocating using Boolean algebra as a practical method of reducing a complicated Boolean expression. That would really be folly, because is is extremely difficult to know what terms to add and combine, especially for a beginner. I hope to show you what I mean.

The minterms are (0,1,2,10,11,12,13,14,15). Plotting these on a K-map, we immediately get a answer of AB+AC+A'B'C'+A'B'D' or B'CD' instead of A'B'D'. As you can see, that is not the answer you got. So lets do it the hard way using what the K-map shows. Grouping the minterms as shown from the K-map we get:

(10,11,14,15) + (12,13,14,15) + (0,1) + (0,2) or (2,10) instead of (0,2) .

Notice that this covers all the minterms which are present. Now we simplify.

(10,11,14,15) = AB'CD'+AB'CD+ABCD'+ABCD = AC(B'D'+B'D+BD'+BD) = AC(B(D+D')+B'(D+D'))= AC(B+B')=AC

(12,13,14,15) = ABC'D'+ABC'D+ABCD'+ABCD = AB(C'D'+C'D+CD'+CD) = AB

(0,1) = A'B'C'D'+A'B'C'D = A'B'C'

(0,2) = A'B'C'D'+A'B'CD' = A'B'D' or we can cover minterm 2 by the following term instead.

(2,10) = A'B'CD'+AB'CD' = B'CD'

Now, how would you know how to group the terms and which terms to duplicate without looking at a K-map first? And if you want to use negative logic, just simplify the minterms on the K-map that you did not mark for positive logic. So I hope I proved to you that you should ALWAYS use a K-map or a tabulation method instead of Boolean algebra to simplify Boolean expressions.

Ratch
Oh wow. Thanks. Yeah, he definitely said to only use a K-Map if the algebra is too tricky, or the questions specifies to do so. I'll have a try at doing what use suggested later. Thanks.
 

Thread Starter

Zaraphrax

Joined Mar 21, 2009
49
*bump*

Okay, I checked all the numbers that someone else posted above and they seem right to me (according to the Karnaugh map), but for some reason my circuit (when I map it) doesn't appear to work. Have I made a stupid blunder, or is there something fundamentally wrong?

 

Thread Starter

Zaraphrax

Joined Mar 21, 2009
49
*bump*

Okay, I checked all the numbers that someone else posted above and they seem right to me (according to the Karnaugh map), but for some reason my circuit (when I map it) doesn't appear to work. Have I made a stupid blunder, or is there something fundamentally wrong?

Disregard that. I am a giddy goat. I've redesigned the circuit, all is well. See, this is what happens when I design logic circuits at 2am....
 
Top