本帖最后由 66077003 于 2015-6-20 21:17 编辑
小弟第一次接触ISE,以下简单测试代码在ISE中综合报错,求大神指导,谢谢!
module adder(
x,
y,
cin,
cout,
sum
);
parameter N=32;
input [N-1:0] x;
input [N-1:0] y;
input cin;
output cout;
output [N-1:0] sum;
reg cout;
reg [N-1:0] sum;
reg q[N:0];
always @(x or y or cin)begin
integer i;
q[0] = cin;
for(i=0; i<=N-1; i=i+1)begin
q[i+1] = (x
&y) | (x&q) | (y&q);
sum=x ^ y ^ q;
end
cout = q[N];
end
endmodule
在QUARTUS中能正常综合,但是在ISE中综合却出现报错情况:
ERROR:HDLCompilers:26 - "adder.v" line 21 unexpected token: 'integer'
ERROR:HDLCompilers:26 - "adder.v" line 21 unexpected token: ';'
ERROR:HDLCompilers:26 - "adder.v" line 22 unexpected token: '['
Module <adder> compiled
ERROR:HDLCompilers:26 - "adder.v" line 22 expecting 'endmodule', found '0'
-------------------------------------------------------------------------------------------------------------------
module adder(
x,
y,
cin,
cout,
sum
);
parameter N=32;
input [N-1:0] x;
input [N-1:0] y;
input cin;
output cout;
output [N-1:0] sum;
reg cout;
reg [N-1:0] sum;
reg q[N:0];
always @(x or y or cin)begin:ADDER
integer i;
q[0] = cin;
for(i=0; i<=N-1; i=i+1)begin
q[i+1] = (x&y) | (x&q) | (y&q);
sum=x ^ y ^ q;
end
cout = q[N];
end
endmodule
加上标红部分(:ADDER)后却能正常综合,个人感觉语法上没什么错误,自己找不到原因,求指导!
一周热门 更多>