Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
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, d, rstn;
  reg [2:0] delay;
  wire q;

  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, d, rstn;
  reg [2:0] delay;
  wire q;

  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: проектирование вашего первого И-шлюза
  2. Перезарядка, сброс и переконфигурация вашей IT-стратегии для летнего успеха
  3. Конвергенция IT/OT: культурный сброс для устойчивой цифровой трансформации
  4. Освоение Verilog: полное руководство по проектированию цифровых схем
  5. 4-битный счетчик: эффективный бинарный отсчёт от 0 до 15
  6. Параметризованный Mod-N счётчик на Verilog: модуль и тестбенч
  7. Счётчик Грея на Verilog: 4-битный генератор кода Грея
  8. Предотвращение интегрального насыщения PID: стратегии надежного процессного контроля
  9. Два D-триггера 74LS74: полная справочная информация и распиновка
  10. Кнопка Reset на пульте оператора ЧПУ: Функция и применение