D-Flipflop mit asynchronem Active-Low-Reset designen
Ein D-Flipflop ist ein sequenzielles Element, das dem Eingangspin d an der gegebenen Flanke eines Taktsignals folgt.
Design #1: Mit asynchronem Active-Low-Reset
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
Hardware-Schaltplan
Testbench
module tb_dff;
reg clk;
reg d;
reg rstn;
reg [2:0] delay;
wire q;
dff dff0 (
.d(d),
.rstn(rstn),
.clk(clk),
.q(q)
);
// Takt erzeugen
always #10 clk = ~clk;
// Testfall
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
Design #2: Mit synchronem Active-Low-Reset
module dff (
input d,
input rstn,
input clk,
output reg q
);
always @ (posedge clk)
if (!rstn) q <= 0;
else q <= d;
endmodule
Hardware-Schaltplan
Testbench
module tb_dff;
reg clk;
reg d;
reg rstn;
reg [2:0] delay;
wire q;
dff dff0 (
.d(d),
.rstn(rstn),
.clk(clk),
.q(q)
);
// Takt erzeugen
always #10 clk = ~clk;
// Testfall
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 Grundlagen: Ihr erstes AND-Gate designen
- IT-Strategie für Sommererfolg aufladen, zurücksetzen und neu konfigurieren
- IT/OT-Konvergenz: Kultureller Neustart für nachhaltige digitale Transformation
- Verilog meistern: Komplettes Tutorial für digitales Schaltungsdesign
- 4-Bit-Zähler: Effizientes Binäres Zählen von 0 bis 15
- Verilog Mod-N Counter Design: Parameterisiertes Modul & Testbench
- Verilog Gray Counter Modul – 4-Bit Gray-Code Generator
- PID-Reset-Windup verhindern: Strategien für zuverlässige Prozessregelung
- 74LS74 Dual D-Flip-Flop: Referenz, Pinout & Wahrheitstabelle
- Reset-Taste am CNC-Bedienfeld: Funktion und Anwendung