我是Verilog的新手,我需要编写一个简单的测试平台,但是出现错误,我无法理解为什么它是
这是我的代码
`timescale 1 ns / 1 ns
module test_bench_lb2;
reg [12:0] in_lines_tb;
wire [4:0] out_lines_tb;
wire error_tb;
localparam PERIOD = 10;
initial
begin
genvar i;
for(i = 0; i <= 8000; i = i + 1)
begin
in_lines_tb = i;
#PERIOD;
end
#(PERIOD*20) $stop;
end
initial
begin
$monitor("time = %time in_lines = %b out_lines = %b error = %b",
$time, in_lines_tb, out_lines_tb, error_tb);
end
DESHIFRATOR inst1(.in_lines(in_lines_tb), .out_lines(out_lines_tb), .error(error_tb));
endmodule
最佳答案
这个
genvar i;
应该是这个 integer i;
genvar
是一种特殊类型的变量,用于称为生成循环的构造中。您的代码使用普通的for
循环。
关于syntax-error - 文本 “genvar”附近的test_bench_lb2.v(14)处的Verilog HDL语法错误;期待 “end”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64787188/