解释测试台文件中的这个语法错误

问题描述 投票:0回答:2

我正在尝试为 Modelsim (Verilog) 中的时序电路创建一个测试台文件。但是,我收到以下语法错误。

** 错误:(vlog-13069) /Assignment_2x2_tb.v(6):接近“initial”:语法错误,意外的首字母,期待“;”或“,”。

这是我的代码

module seq_circuit1_tb;
reg x,clk;
wire q;
seq_circuit1 seqct(x, clk, Q0, Q1)
//Module to generate clock with period 10 time units
initial begin
  forever begin
  clk=0;
  #10
  clk=1;
  #10
  clk=0;
  end
end
initial begin
  x=0;
  #50
  x=0;
  #50
  x=1;
  #50
  x=1;
  #50
end
endmodule

为什么我会收到此错误?

verilog system-verilog test-bench
2个回答
2
投票

您需要在

;
行后添加分号 (
seq_circuit1 seqct(x, clk, Q0, Q1)
)。


0
投票

初始区块不能延迟结束。您需要在最后 #50 之后有一些声明,如下

initial begin
  x=0;
  #50
  x=0;
  #50
  x=1;
  #50
  x=1;
  #50 $finish;
end
endmodule 

initial begin
  x=0;
  #50
  x=0;
  #50
  x=1;
  #50
  x=1;
  // last #50 removed
end
endmodule
© www.soinside.com 2019 - 2024. All rights reserved.