2020年1月3日 星期五

JK flip flop behavioral verilog

JK flip flop behavioral verilog





//JK 正反器(Flip-Flop)
module JK_FF_behavioral(J,K,CLK,Q,Qn);
       output Q,Qn;
       input J,K,CLK;
  
       reg Q;
       assign Qn = ~ Q ;
  
       always @ (posedge CLK)
       case ({J,K})
              2'b00: Q = Q;
              2'b01: Q = 1'b0;
              2'b10: Q = 1'b1;
              2'b11: Q = ~ Q;
       endcase
endmodule


// 時間單位 100ns, 時間精確度100 ps
`timescale 100ns/100ps     
module Test_bench;
   reg   CLK=1;
   reg   J;
   reg   K;   
   wire  Q;
   wire  Qn;   
   
   //module JK_FF_behavioral(J,K,CLK,Q,Qn);
   // Instantiate the Unit Under Test (UUT)
   initial begin
   // Initialize Inputs
       J = 0; K = 0;
       #15 J = 1;K = 1;
       #15 J = 0;K = 1;
       #15 J = 1;K = 0;
       #15 J = 1;K = 1;
       #15 J = 1;K = 0;
       #15 J = 0;K = 1;
       #15 J = 1;K = 1;
       #15 J = 0;K = 1;
    
    end

    JK_FF_behavioral  DUT(J,K,CLK,Q,Qn);
initial begin
#150  $stop;
end
    always #10 CLK=!CLK;

endmodule





沒有留言:

張貼留言

習題解答 (5/6)

  第五章 習題解答 一、 錯誤偵測技術 1. 何謂循環冗餘檢查法 (CRC)? 是一種根據傳輸資料產生簡短固定位數校驗碼的演算法。發送端將資料除以一個特定的多項式,得到的「餘數」即為 CRC 碼並隨資料發送;接收端以同樣多項式除之,若餘數為 0 則代表資料傳輸正確。 2. 何...