Please help for 4-bit ALU

OP #2742894
Rate this post
• ▲ useful
▼ not useful
Hi all!

I am trying to make a 4 bit ALU. Here is a sample entity declaration:

entity myALU is
  Port ( Opcode : in  STD_LOGIC_VECTOR (2 downto 0);
         Ain, Bin : in  STD_LOGIC_VECTOR (3 downto 0); --Operand 1 and 2
         Cin : in  STD_LOGIC;  -- carry in
         Output : out  STD_LOGIC_VECTOR (3 downto 0);
         Zero : out  STD_LOGIC;
         Co : out  STD_LOGIC
        );
end myALU;


The ALU should perform the following operations according to the Opcode:


Opcode  |  Operation  |  Output     |  Carry Out(Co)  |
000     |    NOP      |     A       |    0
001     |    AND      |   A & B     |    0
010     |    OR       |   A or B    |    0
011     |   XOR       |   A xor B   |    0
100     |  ADD        |   A + B     |'1' if (A + B) > $F, else '0'
101     |  ADC        |   A+B+Cin   |'1' if (A + B + Cin) > $F else '0'
110     |  SUB        |  |A - B|    |'1' if (A < B), else '0'
111     |  SBC        | |Cin + A-B| |'1' if (A + Cin) < B, else '0'

[Zero <= '1' if Output is 0, else '0']


Can someone please help me write a VHDL code for that ALU,
You can find attached the code that I have written but it doesn't work 
and I am consfused.

Thank you.
Attached files:
Moderator (Company: Titel) #2743078
Rate this post
• ▲ useful
▼ not useful
peres Z. wrote:
> I did it but I have wrong values
WHAT values?
For help you MUST provide as much information as possible. Who do you 
think can help when you say: "My car doesn't run! Whats wrong with it?"

And think again about this what Daniel M. wrote:
>> At least the sensitivity-list is incomplete.
Z, Cin and Cx is missing! And because of the missing Z you will see some 
very very strange bahviour...

Reply

Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.

Formatting
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]
  • [[Title]] – link to an article
  • Link to another post: right-click its post ID (#8078628), copy the address, paste it into the text

More about formatting

Post long source code as an attachment, not in the text.

Already registered? Log in

Not shown to anyone. We send you a link; your post appears once you confirm it there.

By submitting you create a free account and accept the terms of use.