📅  最后修改于: 2023-12-03 15:39:57.077000             🧑  作者: Mango
触发器是数字电路中的一种重要的基本元件,用于存储数字信号。它可以在时钟信号的作用下保持当前状态或者切换到新的状态。触发器广泛应用于存储寄存器、计数器等数字电路中,是数字系统的基本组成单位。
常见的触发器包括RS触发器、D触发器、JK触发器和T触发器等。这些触发器的构造和功能不同。下面简要介绍一下这些触发器的特点。
RS触发器是一种基本的双稳态触发器,主要应用于控制逻辑电路。它由两个交叉连接的非门组成,有时也被称为门触发器,可以通过两个输入状态的分别置1和清零来实现控制开关。
module rs_trigger(Q, Qbar, S, R);
output Q, Qbar;
input S, R;
nand(n1, S, Qbar);
nand(n2, R, Q);
nand(n3, n1, n2);
nand(n4, S, R);
nor(n5, n4, n3);
nand(Q, n5, Qbar);
nand(Qbar, n5, Q);
endmodule
D触发器是一种常用的数字系统中的存储器件,它只有一个数据输入端D和一个时钟输入端CLK。当时钟信号的边沿到来时,D触发器可以将输入信号D锁存到输出端Q,并保持Q不变。
module d_trigger(Q, Qbar, D, CLK);
output Q, Qbar;
input D, CLK;
nand(n1, D, CLK);
nor(n2, n1, Q);
nor(n3, CLK, Qbar);
and(n4, n2, n3);
nor(Q, n1, n4);
nor(Qbar, n4, n3);
endmodule
JK触发器是一种带有置位和清零功能的双稳态触发器。它可以在时钟信号的作用下保持当前状态或者切换到新的状态。JK触发器由两个输入端J和K和一个时钟输入端CLK组成,可以通过输入的J和K来切换触发器的状态。
module jk_trigger(Q, Qbar, J, K, CLK);
output Q, Qbar;
input J, K, CLK;
nand(n1, J, Qbar, CLK);
nor(n2, n1, K, Q);
nand(n3, K, Q, CLK);
nor(n4, n3, J, Qbar);
nor(Q, n4, Qbar, CLK);
nor(Qbar, n2, Q, CLK);
endmodule
T触发器是一种非常简单的触发器,它只需要一个输入端T和一个时钟输入端CLK。当时钟信号的边沿到来时,T触发器可以将输入信号T锁存到输出端Q,并保持Q不变或者将Q反转。
module t_trigger(Q, Qbar, T, CLK);
output Q, Qbar;
input T, CLK;
xor(x1, Q, T);
nor(n1, x1, CLK);
nor(n2, T, x1);
nor(Q, n1, Qbar);
nor(Qbar, n2, Q);
endmodule
触发器是数字电路中的基本存储器件,广泛应用于存储寄存器、计数器等数字电路中。根据自己的需求,可以选择不同类型的触发器来实现控制逻辑电路的功能。