Diseño de un Flip-Flop D con Reset Asíncrono Activo-Bajo
Un flip-flop D es un elemento secuencial que sigue el pin de entrada d en el flanco de reloj dado.
Diseño #1: Con reset asíncrono activo-bajo
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
Esquema Hardware
Testbench
module tb_dff;
reg clk;
reg d;
reg rstn;
reg [2:0] delay;
dff dff0 (
.d(d),
.rstn(rstn),
.clk(clk),
.q(q)
);
// Generar reloj
always #10 clk = ~clk;
// Caso de prueba
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
Diseño #2: Con reset síncrono activo-bajo
module dff (
input d,
input rstn,
input clk,
output reg q
);
always @ (posedge clk)
if (!rstn) q <= 0;
else q <= d;
endmodule
Esquema Hardware
Testbench
module tb_dff;
reg clk;
reg d;
reg rstn;
reg [2:0] delay;
dff dff0 (
.d(d),
.rstn(rstn),
.clk(clk),
.q(q)
);
// Generar reloj
always #10 clk = ~clk;
// Caso de prueba
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
- Prevención del windup de reinicio PID: estrategias para control de proceso fiable
- Construcción de un Flip-Flop Set-Reset Basado en Puertas NAND
- El 74LS74 Flip-Flop Dual: Referencia Completa y Patillaje
- Entendiendo el Botón Reset en Panel Operador CNC: Función y Uso
- Recargando, reiniciando y reconfigurando tu estrategia TI para éxito veraniego
- Convergencia IT/OT: Un reinicio cultural para una transformación digital sostenible
- Fundamentos de Verilog: Diseñando tu primera compuerta AND
- Dominar Verilog: Tutorial completo para diseño de circuitos digitales
- Contador de 4 Bits: Conteo Binario Eficiente de 0 a 15
- Diseño de Contador Mod-N en Verilog: Módulo Parametrizado y Testbench
- Módulo Contador Gray en Verilog – Generador de Código Gray de 4 Bits