工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Verilog

D フリップフロップ非同期リセット

D フリップフロップ 入力ピン d に続く連続要素です クロックの特定のエッジで。

設計 #1:非同期アクティブ LOW リセット付き

  
  
module dff 	( input d,
              input rstn,
              input clk,
              output reg q);
	
	always @ (posedge clk or negedge rstn) 
       if (!rstn)
          q <= 0;
       else
          q <= d;
endmodule

  

ハードウェア回路図

テストベンチ

  
  
module tb_dff;
	reg clk;
	reg d;
	reg rstn;
	reg [2:0] delay;
	
    dff  dff0 ( .d(d),
                .rsnt (rstn),
                .clk (clk),
                .q (q));
    
    // Generate clock
    always #10 clk = ~clk;
                   
    // Testcase
    initial begin
    	clk <= 0;
    	d <= 0;
    	rstn <= 0;
    	
    	#15 d <= 1;
    	#10 rstn <= 1;
    	for (int i = 0; i < 5; i=i+1) begin
    		delay = $random;
    		#(delay) d <= i;
    	end
    end
endmodule

  

設計 #1:同期アクティブ LOW リセット付き

  
  
module dff 	( input d,
              input rstn,
              input clk,
              output reg q);
	
	always @ (posedge clk) 
       if (!rstn)
          q <= 0;
       else
          q <= d;
endmodule

  

ハードウェア回路図

テストベンチ

  
  
module tb_dff;
	reg clk;
	reg d;
	reg rstn;
	reg [2:0] delay;
	
    dff  dff0 ( .d(d),
                .rsnt (rstn),
                .clk (clk),
                .q (q));
    
    // Generate clock
    always #10 clk = ~clk;
                   
    // Testcase
    initial begin
    	clk <= 0;
    	d <= 0;
    	rstn <= 0;
    	
    	#15 d <= 1;
    	#10 rstn <= 1;
    	for (int i = 0; i < 5; i=i+1) begin
    		delay = $random;
    		#(delay) d <= i;
    	end
    end
endmodule

  

Verilog

  1. Verilog の紹介
  2. 再充電、リセット、再構成
  3. NANDゲートS-Rフリップフロップ
  4. IT / OTコンバージェンス:文化的リセットの機会
  5. Verilog チュートリアル
  6. 4ビットカウンター
  7. Verilog Mod-N カウンター
  8. Verilog グレー カウンター
  9. PIDエラー:ワインドアップをリセット
  10. 74LS74:デュアル フリップフロップの包括的なガイド
  11. CNC オペレータ パネルのリセット ボタンとは