【发布时间】:2018-09-01 00:41:49
【问题描述】:
我正在阅读 Samir Palnitkar 的《Verilog Hdl》一书。在第 6 章的最后有一个练习:使用主从 JK 触发器设计一个同步计数器。但是我在 JK 触发器部分苦苦挣扎。 这是书中提供的JK触发器电路:
这是我上面电路的 Verilog 代码(我已经检查了很多次,希望没有愚蠢的错误):
module test(in1, in2, clk, out, clr);
input in1, in2, clk, clr;
output out;
mJKff wtf(
.Q(out),
.J(in1),
.K(in2),
.clk(clk),
.clr(clr));
endmodule
module mJKff(Q, J, K, clk, clr);
output Q;
input J, K, clk, clr;
wire
a, b, c, d, y, ybar, cbar, qbar;
assign
a = ~(qbar & J & clk & clr),
b = ~(clk & K & Q),
y = ~(a & ybar),
ybar = ~(y & clr & b),
c = ~(y & cbar),
d = ~(ybar & cbar),
cbar = ~clk;
assign
qbar = ~(Q & clr & d),
Q = ~(c & qbar);
endmodule
代码编译成功,我使用Quartus Prime v18.0进行仿真,报错:
错误(可抑制):(vsim-3601) 在 xxx ns 时间达到迭代限制 5000。
"xxx" 恰好是 'clk' 上升且 J = 1 的时刻; K = 0; clr = 1 怎么了?
【问题讨论】:
标签: verilog