Verilog 错误:在xxx ns时达到迭代限制5000

Verilog 错误:在xxx ns时达到迭代限制5000,verilog,Verilog,我正在读Samir Palnitkar写的《Verilog Hdl》。在第6章的末尾有一个练习:使用主从JK触发器设计一个同步计数器。然而,我正在努力与JK触发器部分。 这是书中提供的JK触发器电路: 这是我上面电路的Verilog代码(我已经检查了多次,希望没有愚蠢的错误): 代码编译成功,我使用Quartus Prime v18.0进行模拟,得到以下错误: 错误(可抑制):(vsim-3601)在xxx ns时达到迭代限制5000 “xxx”正好在“clk”上升且J=1的时刻;K=0;cl

我正在读Samir Palnitkar写的《Verilog Hdl》。在第6章的末尾有一个练习:使用主从JK触发器设计一个同步计数器。然而,我正在努力与JK触发器部分。 这是书中提供的JK触发器电路:

这是我上面电路的Verilog代码(我已经检查了多次,希望没有愚蠢的错误):

代码编译成功,我使用Quartus Prime v18.0进行模拟,得到以下错误:

错误(可抑制):(vsim-3601)在xxx ns时达到迭代限制5000

“xxx”正好在“clk”上升且J=1的时刻;K=0;clr=1
怎么了?

您需要在电路中添加延迟;没有它们,逻辑中的循环在模拟中无限运行;例如:

assign #1 qbar = ~(Q & clr & d);

您需要在电路中添加延迟;没有它们,逻辑中的循环在模拟中无限运行;例如:

assign #1 qbar = ~(Q & clr & d);