我似乎无法找到错误的位置,我觉得我在寻找一些愚蠢的东西。
我正在尝试为模块生成测试平台,但是我遇到了语法错误。代码是:
module tb_clock_test;
reg clk, pps_in, rst;
wire pps_rcvd, pps_out;
wire [26:0] count;
int d;
clk_test uut(
.core_clk(clk),
.pps_in(pps_in),
.rst(rst),
.pps_rcvd(pps_rcvd),
.pps_out(pps_out),
.count(count)
);
initial begin
clk <= 0;
pps_in <= 0;
rst <= 1;
clk = !clk;
#8 rst = 0;
clk = !clk;
#8 rst = 1;
clk = !clk;
#8 pps_in = 1;
end
for (d = 0; d < 250000000; d = d + 1) begin
#8 clk = !clk;
end
end module
我收到以下错误:
'[HDL 9-806]“#”附近的语法错误。 [ “tb_clock_test.v”:31]'
有人可以帮忙吗?
答案 0 :(得分:0)
for
循环需要在程序块内。解决错误的一种方法是:
initial begin
for (d = 0; d < 250000000; d = d + 1) begin
#8 clk = !clk;
end
end
修复该错误后,您应该收到另一个错误。将两个单独的关键字end module
更改为单个关键字endmodule
。