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