【发布时间】:2021-06-12 08:26:22
【问题描述】:
我正在尝试构建具有异步低电平有效清除和预设的 JK FF。然而,verilog 给了我“design.sv:24:我放弃的语法错误”。看起来我在某个地方有错误,但我找不到它。 我会感激每一个帮助
这是我的设计代码
module JKFF(clk,J,K,Q,Qbar,Clear,Preset);
input J,K,clk,Clear;
output Q, Qbar;
reg Q;
assign Qbar= ~Q;
always@(negedge clk or negedge Clear or negedge Preset )
begin
if(!Clear)
Q<=1'b0;
else if(!Preset)
Q<=1'b1;
else if(Clear==1&&Preset==1)
if (K==0 && J==0)
Q <= Q;
if (K==1 && J==0)
Q <= 0;
if (K==0 && J==1)
Q <= 1;
else
Q <= ~Q;
end
endmodule;
这是我的 TB 代码
module JKFF_tb;
// Inputs
reg J;
reg K;
reg clk;
reg Clear;
// Outputs
wire Q;
wire Qbar;
// Instantiate the Unit Under Test (UUT)
JKFF uut (
.Q(Q),
.Qbar(Qbar),
.J(J),
.K(K),
.clk(clk),
.Clear(Clear)
);
initial begin
clk=0;
Clear=1;
Preset=1;
forever #10 clk = ~clk;
end
initial begin
J= 1; K= 0;
#100; J= 0; K= 1;
#100; J= 0; K= 0;
#100; J= 1; K=1;
end
// Add stimulus here
endmodule
【问题讨论】:
标签: verilog