# Designing an arithmetic circuit

Discussion in 'Homework Help' started by glam, Apr 16, 2008.

1. ### glam Thread Starter New Member

Apr 16, 2008
2
0
Hi guys,

Here is the question:

An arithmetic circuit generates the following four arithmetic
operations in conjunction with the input carry Cin, one selection
variable S and 3-bit data inputs A and B.

S| Cin = 0 ____|Cin = 1
0| G = A + B __|G = A + 2
1| G = A + 1 __|G = A - B

Design the circuit using appropriate logic gates and full
_____________________

I made adder/subtractor circuit but it doesn't do G = A + 2 and G = A + 1 .. how i can add these..???

2. ### Caveman Active Member

Apr 15, 2008
471
0
Use a 3-bit mux to switch in either B,-B,1,or 2 to the second input of the adder. The mux is controlled by S and Cin. The first input is always A.

3. ### glam Thread Starter New Member

Apr 16, 2008
2
0
sorry im newbie . i can use binary switch for 1. but what can i use for 2..??

4. ### Caveman Active Member

Apr 15, 2008
471
0
Two is 010 binary.
Okay, let's look at bit 0. Remove all that other stuff before the adder that you've got. We just want a circuit that feeds the B0 adder input. Here is your truth table for that bit. Note that B0 just passes the value of B0 through. And that /B0 inverts the value of B0 and passes that through.

S|Cin|Out0
0 0 B0
0 1 0
1 0 1
1 1 /B0

An example of a circuit that does this (without any logic reduction) is a 4to1 mux. Use S as one of the selects and Cin as the other. For /B0, you will need an inverter.

Now you just do it twice more for B1 and B2 of the adder. B1 and B2 have different truth tables, so you need to feed their muxes differently.
S|Cin|Out1
0 0 B1
0 1 1 // This is the 1 in 010
1 0 0 // This is the middle 0 in 000
1 1 /B1

Does this make sense?

5. ### Wendy Moderator

Mar 24, 2008
20,772
2,540
There are 10 kinds of people in the world, those who understand binary and those who don't.