任何人都可以帮助我吗?我不知道它有什么问题。
module add( a ,b , sum,overFlow);
input [31:0] a;
input [31:0] b;
output overFlow;
output [31:0]sum;
reg sum;
always @(a or b)
begin
sum=a+b;
end
initial
begin
if( a[30]==0 && b[30]==0 && sum[30]==1) overFlow = 1b’1;
else if( a[30] == 1 && b[30] == 1 && sum[30] == 0) overFlow = 1b’1;
end
endmodule
错误是:
“**错误:C:/altera/13.1/add.v(13):接近”b“:语法错误, 意想不到的IDENTIFIER,期待';' **错误:C:/altera/13.1/add.v(14):接近“b”:语法错误,意外IDENTIFIER,期待';' **错误:C:/altera/13.1/add.v(22):靠近“endmodule”:语法错误,意外的endmodule“
答案 0 :(得分:1)
将1b’1
更改为1'b1
。请参阅IEEE Std 1800-2012,部分" 5.7数字"。
修复后,您可能会遇到其他编译错误。
变化:
output overFlow;
output [31:0]sum;
reg sum;
为:
output reg overFlow;
output reg [31:0] sum;