这个verilog代码有什么问题?

时间:2015-02-26 21:08:41

标签: verilog

任何人都可以帮助我吗?我不知道它有什么问题。

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“

1 个答案:

答案 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;