산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
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),
    .rstn(rstn),
    .clk(clk),
    .q(q)
  );
  
  // 클럭 생성
  always #10 clk = ~clk;
  
  // 테스트케이스
  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

설계 #2: 동기 액티브 로우 리셋

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),
    .rstn(rstn),
    .clk(clk),
    .q(q)
  );
  
  // 클럭 생성
  always #10 clk = ~clk;
  
  // 테스트케이스
  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 기초: 첫 AND 게이트 설계하기
  2. 여름철 성공을 위한 IT 전략 재충전, 재설정, 재구성
  3. IT/OT 융합: 지속 가능한 디지털 전환을 위한 문화적 재설정
  4. 버릴로그(Verilog) 입문: 디지털 회로 설계를 위한 하드웨어 기술 언어
  5. 4비트 카운터: 0부터 15까지 효율적인 이진 카운팅
  6. Verilog Mod-N 카운터 설계: 파라미터화 모듈 및 테스트벤치
  7. Verilog 그레이 카운터 모듈: 4비트 그레이 코드 생성기
  8. PID 리셋 와인드업 방지: 신뢰할 수 있는 공정 제어를 위한 전략
  9. 74LS74 듀얼 D 플립플롭 완벽 가이드: 핀아웃, 진리표, 타이밍, 응용 회로
  10. CNC 조작판 리셋 버튼 이해하기: 기능과 사용법