我不明白我的iverilog中的语法错误是什么

时间:2017-08-03 17:48:14

标签: verilog iverilog

我写这样的代码:

module alu(input[7:0] a,input[7:0]  b,input [2:0] op,output reg [7:0] y);
always@(a or b or op) begin
 case(op)
  3'b000: y = a + b;
  3'b001: y = a - b;
  3'b010: y = a * b;
  3'b011: y = a / b;
  3'b100: y = a & b;
  3'b101: y = a | b;
  3'b110: y = ~a;
  3'b111: y = a ^ b;
endcase
 $display("base 10 : %dns : op=%d b=%d y=%d" , $stime, op, a, b, y);
 $display("base  2 : %dns : op=%b a=%b y=%b" , $stime, op, a, b, y);
end
endmodule

module main;
 reg [7:0] a,b;
 wire [7:0] y;
 reg [2:0] op;

alu alu1(a, b, op, y);
initial begin
 a = 8'h07;
 b = 8'h03;
 op = 3'b000;
 $dumpfile("alu.vcd");
 $dumpvars;
end

 always #50 begin
 op = op + 1;
end
initial #1000 $finish;

endmodule

和伊卡洛斯给我的答案是图像,jQuery .on() API Documentation  , 我不明白发生了什么。

也许这本身就是一个简单的问题,但我真的需要知道如何解决它,感谢大家,如果你看到了我的问题。

1 个答案:

答案 0 :(得分:4)

$display("base 10 : %dns : op=%d b=%d y=%d" , $stime, op, a, b, y);
                          ^

在此字符串中的第二个冒号后面有一个奇怪的Unicode字符(U + 3000 IDEOGRAPHIC SPACE),位于我放在第二行的^标记的正上方。

将其替换为普通空格字符。