# how to design an ALU ciccuit involving X and Y?

Discussion in 'Homework Help' started by nafid_007, Nov 30, 2012.

1. ### nafid_007 Thread Starter New Member

Nov 30, 2012
2
0
i was given to design this ALU circuit usng logisim. i have no idea about this thing whatsoever. can someone please help me solve it. explanation would be much appreciated thanks

File size:
152.2 KB
Views:
39
2. ### WBahn Moderator

Mar 31, 2012
18,087
4,917
If you have no idea whatsoever, then you should probably drop this course and retake the prerequisites.

Otherwise, break the problem down into smaller problems until you get to something you do have an idea about.

Can you make four separate circuits where each circuit performs one of the four operations that the ALU is supposed to perform?

3. ### Papabravo Expert

Feb 24, 2006
10,340
1,850
The drawing is ambiguous. It looks like you have two 4-bit operands we may label "n" and "1". The subscripts on "n" should be in the range [0..3] or [1..4] depending you your preference. Your labels look like {4,2,3,2} which makes no sense. Your handwriting is atrocious -- learn to print neatly if you wish to communicate. There is nothing on the drawing that gives much of a clue about where "y" comes from, but it might be the current output. Feedback in a combinatorial circuit is dangerous and should normally be avoided. Lastly the inputs S[1..0] are your "control" or "select" inputs. The operations look like:
1. ADD
2. SUBTRACT
3. 2's COMPLEMENT
4. EXCLUSIVE OR

The straight forward way to do this is to do all four operations in parallel and use the S[1..0] inputs to select 1 of 4 inputs to four 4:1 a multiplexers. Alternatively you could include the values of S[1..0] in the boolean equations for each operation.
If you still have no clue -- there is always Art History.

4. ### WBahn Moderator

Mar 31, 2012
18,087
4,917
So, it would appear that when someone didn't just give you the solution (i.e., do all of your work for you), that you started another thread:

http://forum.allaboutcircuits.com/showthread.php?t=77630

At least you were a bit more honest and asked, "can someone please design the circuit for me." Well, stated, since you are also punctuation challenged.

Here's a hint - there are relatively few people on this forum that spend time trying to help students and most of us see nearly every such thread (regardless of which specific forum it is posted in). So asking the same question question again elsewhere hoping that someone different will see it and be tricked into just giving you the answer is unlikely to work.

What is so hard about showing your efforts to work YOUR problem? If it is really that hard, perhaps you should consider a different major.

5. ### Papabravo Expert

Feb 24, 2006
10,340
1,850
At least he cleaned up his notation. So just to show what stand up guy I am I'll give you a hint.

x1 ^ 0 = x1
x2 ^ 0 = x2
x3 ^ 0 = X3
x4 ^ 1 = x4'

So exclusive oring ANY boolean variable with a zero leaves that boolean variable unchanged. Exclusive oring ANY boolean variable with a one produces the complement. So for S[1..0] = {1,1} you don't even need any logic, just three wires and an inverter. Are you starting to get the idea?

Here's another hint: Google "Half Adder" and "Full Adder"

6. ### WBahn Moderator

Mar 31, 2012
18,087
4,917
I still can't tell what he is asking for, for sure. It looks like he has 'n' and x' running around all over the place. I can't tell for sure if they are really all the same thing.

My best guess is that the first operation is increment x, the second is decrement x, the third is bitwise inversion, and the forth is bitwize XOR between x and y -- and that n and x are the same thing. Of course he doesn't specify which 'y' input is the msb and which is the lsb.

All in all, I'm not inclined to help any further. I suggested he do a specific thing in my original response and he hasn't had the courtesy to respond, other than by asking all over again in a different thread.

Until he shows otherwise, as far as I'm concerned he's a troll.