EmbDev.net

Forum: FPGA, VHDL & Verilog Combinational logic based ALU


von John (Guest)


Rate this post
useful
not useful
Hi, I'm running into a problem that probably has a (really) easy fix but 
I can't seem to find it:
1
module MemAndALU(input wire [2:0]f, input wire [31:0]A,B, output [31:0]Y, output Z,N);
2
3
wire Cout;
4
wire [31:0]sum;
5
6
if(f==3'b000) begin
7
  ripple_carry_adder RCA(Cout, sum, A, B, 1'b0);
8
  assign Y=sum;
9
10
  if(sum==32'b0)
11
    assign Z=1;
12
  else
13
    assign Z=0;
14
  
15
  if(sum[31]==1)
16
    assign N=1;
17
  else
18
    assign N=0;
19
end
20
endmodule

One of the errors I'm getting is
Error (10149): Verilog HDL Declaration error at MemAndALU.v(7): 
identifier "sum" is already declared in the present scope

and

Error (10759): Verilog HDL error at MemAndALU.v(7): object A declared in 
a list of port declarations cannot be redeclared within the module body

I can't use registers for this assignment (which is frustrating) The 
header for ripple_carry_adder is here
module ripple_carry_adder
(
  output Cout,
  output [31:0]Sum,
  input [31:0]A,
  input [31:0]B,
  input Cin
);
and I know that it works

von Duke Scarring (Guest)


Rate this post
useful
not useful
Try to remove the following line:
1
wire Cout;

Duke

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.