As a foreword I would like to say that I am asking this question as part of a computer science course assignment, and any responses here might be referenced in my report. I am ideally looking for hints and tips to get me on the right track rather than straight up solutions.
What I am trying to get my head around is a 2 bit magnitude comparator circuit that takes in 2 sets of inputs. For example set A would contain a0 and a1, and set B would contain b0 and b1.
The only output I am interested in is A > B which means the sum of all inputs in set A is bigger than set B so a0 = 1 , a1 = 1, b0 = 1, b1 = 0 would overall output a 0 and so on.
I understand how a 1 bit comparator works :
this is the most basic circuit I came up with that takes in 2 inputs and gives out an output if A > B.
However, I have been stuck for several hours trying to increase the number of inputs. My initial plan was to somehow reuse the 1 bit comparator and reuse it 3 times but every time I end up with something that ends up with an overly complicated version of the initial 1 bit circuit where the 3 inputs actually only give out 1 output and so in the end you are going in a circle and comparing 2 numbers rather than 4.
Any advice an tips on this would be very appreciated.
Best Answer
Lets examine what a comparator should do:
So now we can break this into parts.
This one you already have.
\$X_1 = A_1 \overline{B_1}\$
Second verse, same as the first.
\$X_0 = A_0 \overline{B_0}\$
Let's put up a truth table for this.
\$O = X_1 + X_0\$
So altogether we have:
\$O = A_1 \overline{B_1} + A_0 \overline{B_0}\$
And you're done.