Professional Documents
Culture Documents
D Flip-Flop Async Reset
D Flip-Flop Async Reset
Misc
2 input rstn,
3 input clk,
7 if (!rstn)
8 q <= 0;
9 else
10 q <= d;
11 endmodule
Hardware Schematic
(/images/verilog/schematic/dff_async_reset_schematic.png)
Testbench
1 module tb_dff;
2 reg clk;
3 reg d;
4 reg rstn;
8 .rsnt (rstn),
9 .clk (clk),
10 .q (q));
11
12 // Generate clock
14
15 // Testcase
16 initial begin
17 clk <= 0;
18 d <= 0;
19 rstn <= 0;
20
21 #15 d <= 1;
24 delay = $random;
25 #(delay) d <= i;
26 end
27 end
28 endmodule
Design #1: With sync active-low reset
2 input rstn,
3 input clk,
7 if (!rstn)
8 q <= 0;
9 else
10 q <= d;
11 endmodule
Hardware Schematic
(/images/verilog/schematic/dff_sync_reset_schematic.png)
Testbench
1 module tb_dff;
2 reg clk;
3 reg d;
4 reg rstn;
8 .rsnt (rstn),
9 .clk (clk),
10 .q (q));
11
12 // Generate clock
14
15 // Testcase
16 initial begin
17 clk <= 0;
18 d <= 0;
19 rstn <= 0;
20
21 #15 d <= 1;
24 delay = $random;
25 #(delay) d <= i;
26 end
27 end
28 endmodule