實(shí)驗13:JK觸發(fā)器
實(shí)驗目的
實(shí)驗任務(wù)
本實(shí)驗的任務(wù)是設計一個(gè)JK觸發(fā)器
本文引用地址:http://dyxdggzs.com/article/202310/451353.htm實(shí)驗原理
帶使能端RS鎖存器的輸入端R=S=1時(shí),鎖存器的次態(tài)不確定,這一因素限制了其應用。為了解決這個(gè)問(wèn)題,根據雙穩態(tài)元件兩個(gè)輸出端互補的特點(diǎn),用Q和非Q反饋控制輸入信號,并用J代替S,用K代替R,構成了J-K鎖存器。
Verilog HDL建模描述
用行為級描述實(shí)現的帶異步復位和置位端的邊沿觸發(fā)器
程序清單 jk_ff.v
module jk_ff( //模塊名及參數定義input clk,j,k,rst,set, output reg q,output wire qb); assign qb = ~q;//clk上升沿以及復位和置位下降沿時(shí)觸發(fā)器工作always@(posedge clk or negedge rst or negedge set) begin if(!rst) q <= 1'b0; // 異步清零 else if (!set) q <= 1'b1; // 異步置1 else case({j,k}) 2'b00: q <= q; //保持 2'b01: q <= 0; //置0 2'b10: q <= 1; //置1 2'b11: q <= ~q; //翻轉 endcase endendmodule
仿真文件jkff_tb.v
`timescale 1ns/100ps //仿真時(shí)間單位/時(shí)間精度 module jk_ff_tb(); reg clk,j,k,rst,set; //需要產(chǎn)生的激勵信號定義wire q,qb; //需要觀(guān)察的輸出信號定義 //初始化過(guò)程塊initialbegin clk = 0; j = 0; k = 0; rst = 1; set = 1; #50 set = 0; #50 set = 1; #50 rst = 0; #50 rst = 1;endalways #10 clk = ~clk; //產(chǎn)生輸入clk,頻率50MHzalways #20 j = ~j;always #30 k = ~k;//module調用例化格式j(luò )k_ff u1 ( //jk_ff表示所要例化的module名稱(chēng),u1是我們定義的例化名稱(chēng) .clk(clk), //輸入輸出信號連接。 .j(j), .k(k), .rst(rst), .set(set), .q(q), //輸出信號連接 .qb(qb) );endmodule
實(shí)驗步驟
仿真結果和實(shí)驗現象
仿真結果如下圖所示:
評論