Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 523
  • Last Modified:

4-bit ALU

hi
     i have searching the net for a good 4-bit alu design.i wanted a little help in this regard.
                              thanks
0
mack123
Asked:
mack123
  • 3
  • 2
  • 2
  • +2
1 Solution
 
JR2003Commented:
What are you looking for?
Is a circuit that will take four 4-bit numbers a, b, c and d and will evaluate: a+ b + (c * d) what you are looking for?
0
 
aburrCommented:
you could use half the capabilities of a Z80 chip.
also look at the Basic Stamp series of chips
0
 
ozoCommented:
Could you use a 74LS181 or 74F382 ?
0
What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

 
mack123Author Commented:
any ic's could be used except the ALU ic.it has to be implemented.
so 74LS181 certainly cannot be used
0
 
mack123Author Commented:
please if u find it on a website ,please do tell me.
0
 
JR2003Commented:
This has the logical gate layout of 74LS181 which you could implement useing ICs with just ANDs, ORs and NOTs
http://www.visc.vt.edu/~mhsiao/ece4504/project/proj0/181_datasheet.pdf

Another simple solution is to use a programmable EPROM as a lookup taable. If you get one with 16 inputs and 16 outputs you can have a circuit that will do an operation on 4 4-bit numbers and produce a 16 bit result. The maximum result of the operation A + B + (C * D) where A, B, C and D are  4-bit numbers is exactly (2^16)-1 - the maximum 16-bit number which would fit in nicely with your requirement.
0
 
JR2003Commented:
oops, I meant to say that you could get an EPROM with 16 inputs and 8 outputs!


Another simple solution is to use a programmable EPROM as a lookup taable. If you get one with 16 inputs and 8 outputs you can have a circuit that will do an operation on 4 4-bit numbers and produce a 16 bit result. The maximum result of the operation A + B + (C * D) where A, B, C and D are  4-bit numbers is exactly (2^8)-1 - the maximum 8-bit number which would fit in nicely with your requirement.
0
 
grg99Commented:
"an ALU" is a pretty broad description...

A 4-bit ALU is just like a 1-bit ALU, only 4 times wider and with some carry wires added.

A 1-bit ALU probably takes in TWO 1-bit inputs and generates a 1-bit output and a carry.  Since it's a "ALU" it probably should do at least add, subtract, and, and or.


For the add part, you need a 1-bit adder with carry.  That's a XOR gate for the output, an AND gate for the carry.

For subtract, you just need a way to negate the second input bit. That's another XOR gate.

For the AND and OR parts, you need an AND gate and an OR gate.

To make the function selectable, let's say you have a 2-bit op-code coming in:

00 ADD
01 SUB
10 AND
11 OR

You use the FIRST bit to select enable either the arithmetic section or the logical section.

You use the second bit to enable the add/and versus the sub/or.

Pretty easy, jsut a few gates, with the outputs either gated together, or tri-stated to the output.

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 3
  • 2
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now