산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> verilog

D 플립플롭 비동기 리셋

D 플립플롭 입력 핀 d 뒤에 오는 순차 요소입니다. 시계의 주어진 가장자리에서.

디자인 #1:비동기 액티브 로우 리셋 사용

  
  
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:동기화 액티브 로우 리셋 포함

  
  
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. IT/OT 융합:문화적 재설정의 기회
  4. Verilog 튜토리얼
  5. 4비트 카운터
  6. Verilog Mod-N 카운터
  7. Verilog 그레이 카운터
  8. PID 오류:와인드업 재설정
  9. 74LS74:이중 플립플롭에 대한 포괄적인 가이드
  10. CNC 조작 패널의 RESET 버튼이란