我正在努力学习这里提供的基本例子。oab&index=17
这是我的确切密码
maj3.v
module maj3(Out, A, B, C);
input A, B, C;
output Out;
wire AB, BC, AC;
and(AB, A, B);
and(BC, B, C);
and(AC, A, C);
or(Out, AB, BC, AC);
endmoduletestbench.v
module maj3_tb;
reg a, b, c;
wire out;
maj3 DUT1(out, a, b, c);
initial begin
for (int i=0; i<8; i=i+1) begin
#5 {a,b,c} = i;
end
end
initial begin
$monitor(a,b,c,out);
end
endmodule我正在尝试用伊卡洛斯维里罗格编译,但是我得到了这个错误。
testbench.v:9:语法错误testbench.v:9:错误:不可理解的循环。
我已经看过我的代码几次,我相信我有相同的确切行,讲师有,我正在使用相同的编译器。唯一的区别是他在浏览器中工作,而我的在Ubuntu终端上。
发布于 2018-03-23 18:44:24
我需要仔细观察,但看起来我的默认版本与他的版本不匹配。

我使用相同的标志重新运行编译命令。
iverilog -Wall -g2012 -o maj3_test testbench.v .
汇编得很好。不确定默认版本是什么,也不知道为什么不使用该语法进行编译。
发布于 2020-08-25 07:59:00
试试这种格式。它解决了错误。
将int转换为整数,并在“初始开始”上面声明它。
integer i;
initial begin
for (i=0; i<8; i=i+1) begin
#5;
{a,b,c} = i;
end
endhttps://stackoverflow.com/questions/49456057
复制相似问题