
- Dữ liệu đầu ra Q phụ thuộc vào xung clock. Hay nói cách khác dữ liệu đầu ra Q bằng dữ liệu đầu vào D phụ thuộc vào sự tác động của xung clock. D Flip Flop là một trong 4 flip-flop cơ bản trong thiết kế số.Vì nó là đơn giản nhất trong 4 loại nên được sử dụng rất nhiều trong thiết kế số.
-Một số công dụng của D Flip Flop:
+ Dùng để chia tần số.
+ Chốt, lưu dữ liệu tạo ra RAM hoặc ROM…..
- Một số ví dụ về D FLIP FLOP dung verilog.
++ Ví dụ code Verilog cho D FLIP FLOP tích cực ở sườn dương.
Mã:
module flop (clk, d, q);
input clk, d;
output q;
reg q;
always @(posedge clk)
begin
q <= d;
end
endmodule
Mã:
module flop (clk, d, reset, q);
input clk, d, reset;
output q;
reg q;
always @(negedge clk or posedge reset)
begin
if (reset)
q <= 1’b0;
else
q <= d;
end
endmodule
Mã:
module flop (clk, d, s, q);
input clk, d, s;
output q;
reg q;
always @(posedge clk)
begin
if (s)
q <= 1’b1;
else
q <= d;
end
endmodule
Mã:
module flop (clk, d, ce, pre, q);
input clk, ce, pre;
input [3:0] d;
output [3:0] q;
reg [3:0] q;
always @(posedge clk or posedge pre)
begin
if (pre)
q <= 4’b1111;
else if (ce)
q <= d;
end
endmodule
++latch với tích cực ở sườn dương .
Mã:
module latch (g, d, q);
input g, d;
output q;
reg q;
always @(g or d)
begin
if (g)
q <= d;
end
endmodule
Mã:
module latch (g, d, clr, q);
input g, d, clr;
output q;
reg q;
always @(g or d or clr)
begin
if (clr)
q <= 1’b0;
else if (g)
q <= d;
end
endmodule
Mã:
module latch (g, d, pre, q);
input g, pre;
input [3:0] d;
output [3:0] q;
reg [3:0] q;
always @(g or d or pre)
begin
if (pre)
q <= 4’b1111;
else if (~g)
q <= d;
end
endmodule