北邮22信通一枚~
跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章
持续关注作者 迎接数电实验学习~
获取更多文章,请访问专栏:
北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客
JK.v
module JK
(input clk,input J,input K,input set,input reset,output reg q
);always @(posedge clk or negedge reset or negedge set)begin if(!reset) //异步清零beginq<=1'b0;endelse if(!set) //异步置1begin q<=1'b1;endelsebegincase({J,K})2'b00:q<=q;2'b01:q<=0;2'b10:q<=1;2'b11:q<=~q;endcaseendend
endmodule
JK_tb.v
`timescale 1ns/100ps
module JK_tb();reg clk;reg j;reg k;reg reset;reg set;wire q;initial begin clk=0;j=0;k=0;reset=1;set=1;#50;set=0;#50;set=1;#50;reset=0;#50;reset=1;end
always #10 clk<=-clk;
always #20 j<=-j;
always #30 k<=-k;JK JK_1
(.clk(clk),.J(j),.K(k),.set(set),.reset(reset),.q(q)
);endmodule