Problem designing circuit with AND OR gates

Thread Starter

maxxface

Joined May 26, 2014
6
Hey everyone!
I have just started a course on circuit design and need to design a circuit that converts 2s complement binary from a hex keyboard to decimal on a 7 segment display. I can only use AND OR and NOT gates, as this will be my first assignment. I have done the Karnaugh maps and have the following:
(I am using ' for the complement)
a: x'z' + w'y + wx' + xy'z
b: w'x' + y'z' +wx + wy' + w'yz
c: y' + z +w'x + wx'
d: x'z' + yz' + w'x'y + xy'z
e: x'y' + yz'
f: y'z' + w'xy' + wx'y + w'xyz'
g: xy' + yz' + w'x'y + wy'z' + wx'y

I am wondering if there is any way to further simplify the expressions within each of the segments, or whether I should just pair like terms within the segments. It's just looking like it's going to be a pretty crowded design...
Any help would be greatly appreciated. Thanks everyone!
(
 

WBahn

Joined Mar 31, 2012
29,976
There's no way for us to know whether what you have is right or not. Two things are missing from your documentation:

1) What the inputs mean.

2) What the outputs mean.

We could guess -- and the segment labeling for a seven-segment display is pretty consistent -- but engineering is not about guessing. So you need to indicate what the mapping is between your {w,x,y,z} inputs and the bits in the value. There are two obvious choices.

You also need to provide more information about your project specs. When you say you have a 2's complement binary from a hex keyboard, how wide is the data? 4 bits? 8 bits? If more than 4 bits, how is the data presented by the hex keyboard to your circuit?

When you say that you need to display this 2's complement value on a 7-segment display, how are you supposed to display negative values?
 

Thread Starter

maxxface

Joined May 26, 2014
6
My apologies for that. I have the negative figured out and will be displaying it on a separate 7 segment. The w is the MSB and z is the LSB as the outputs from the hex keyboard. I have tested what I have and everything is working appropriately, and was just wondering if there is any way to further simplify the inputs to the 7 segment display or if what I have is appropriate.

I am very new to the subject so my terminology may not be completely accurate, thanks for bearing with me.
 

WBahn

Joined Mar 31, 2012
29,976
The easiest way to see if what you have can be simplified further is for you to show us the K-maps that you worked with and the groupings you used.

Failing that, show the truth table that you came up with. The easiest way to do that is to do a table with sixteen rows (one for each output value) and seven output columns (one for each segment).

However, just looking at your equation for the 'g' segment shows that it is not fully reduced:

g: xy' + yz' + w'x'y + wy'z' + wx'y

w'x'y + wx'y = (w + w')x'y = x'y

g: xy' + yz' + x'y + wy'z'

While not obvious, this can be reduced even a bit further.

So show your K-map for just the 'g' segment and what groupings you used. I'm pretty sure I can guess which ones you missed, but there's a chance that the process of posting it will result in you seeing them.
 

Thread Starter

maxxface

Joined May 26, 2014
6
Awesome thank you!
My k map for the g segment is

yz 00 01 11 10
wx
00 0 0 1 1
01 1 1 0 1
11 1 1 0 1
10 1 0 1 1

I'm not too sure how to show my groupings, i grouped together the rightmost vertical, the left most square, and then grouped together the remaining with their "neighbour" to get 5 groupings
 

WBahn

Joined Mar 31, 2012
29,976
The easiest way to show your groupings is probably with something like Paint and then attach the image file.

But your description is good enough to confirm what I thought. You are forgetting that you can wrap your groupings around the edges. Consider the grouping x'y to see what I mean. Although this isn't one of your terms, if all four corners were 1 then that would be the grouping x'z'.

With that in mind, give it another shot.
 
Top