不可理解的For Loop Icarus Verilog
Incomprehensible For Loop Icarus Verilog
我正在尝试按照此处提供的基本示例进行操作。
https://www.youtube.com/watch?v=13CzlujAayc&list=PLUtfVcb-iqn8ff92DJ0SZqwsX4W1s_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);
endmodule
testbench.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
我正在尝试使用 Icarus Verilog 进行编译,但出现此错误
testbench.v:9: syntax error
testbench.v:9: error: Incomprehensible for loop.
我仔细查看了我的代码几次,我相信我的代码与讲师的代码完全相同,而且我使用的是相同的编译器。唯一的区别是他的是在浏览器中运行,而我的是在 Ubuntu 终端
我需要仔细查看,但我的默认版本似乎与他的不匹配。
我用相同的标志重新运行了编译命令
iverilog -Wall -g2012 -o maj3_test testbench.v maj3.v
它编译得很好。不确定默认版本是什么或者为什么它没有使用该语法编译。
试试这个格式。它解决了错误。
将int转换为整数并在“initial begin”上方声明。
integer i;
initial begin
for (i=0; i<8; i=i+1) begin
#5;
{a,b,c} = i;
end
end
我正在尝试按照此处提供的基本示例进行操作。 https://www.youtube.com/watch?v=13CzlujAayc&list=PLUtfVcb-iqn8ff92DJ0SZqwsX4W1s_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);
endmodule
testbench.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
我正在尝试使用 Icarus Verilog 进行编译,但出现此错误
testbench.v:9: syntax error testbench.v:9: error: Incomprehensible for loop.
我仔细查看了我的代码几次,我相信我的代码与讲师的代码完全相同,而且我使用的是相同的编译器。唯一的区别是他的是在浏览器中运行,而我的是在 Ubuntu 终端
我需要仔细查看,但我的默认版本似乎与他的不匹配。
我用相同的标志重新运行了编译命令
iverilog -Wall -g2012 -o maj3_test testbench.v maj3.v
它编译得很好。不确定默认版本是什么或者为什么它没有使用该语法编译。
试试这个格式。它解决了错误。
将int转换为整数并在“initial begin”上方声明。
integer i;
initial begin
for (i=0; i<8; i=i+1) begin
#5;
{a,b,c} = i;
end
end