以下是使用VHDL和Verilog语言设计D触发器的示例,以及一些常见的D触发器芯片:
VHDL设计D触发器:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY dflipflop IS
PORT (D : IN STD_LOGIC;
C : IN STD_LOGIC;
Q : OUT STD_LOGIC);
END dflipflop;
ARCHITECTURE Behavior OF dflipflop IS
BEGIN
PROCESS (C)
BEGIN
IF C'EVENT AND C = '1' THEN
Q <= D;
END IF;
END PROCESS;
END Behavior;
使用Verilog实现带R、S端的D触发器:
// 门级实现
module cfq(s, r, d, clk, q, qbar);
input s, r, d, clk;
output q, qbar;
...
endmodule
// 行为级实现
module dff_rs_async(clk, r, s, d, q);
input clk, r, s, d;
output q;
reg q;
always @(posedge clk or posedge r or posedge s) begin
if (r) q <= 1'b0;
else if (s) q <= 1'b1;
else q <= d;
end
endmodule
市面上常见的D触发器芯片包括:
74HC74, 74LS90: 双D触发器
74LS364: 八D触发器 (三态)
7474、74H74等: 双D型正沿触发器 (带预置和清除端)
74174、74LS174等: 六D型触发器 (带清除端)
74175、74LS175等: 四D型触发器 (带清除端)
74273、74LS273等: 八D型触发器 (带清除端)
74LS377、74F377等: 八D触发器
74LS378、74F378等: 六D触发器
74LS379、74F379等: 八D触发器