概述
触发器(Flip-Flop)是一种具有记忆功能,可以存储二进制信息的双稳态电路,它是组成时序逻辑电路的基本单元,也是最基本的时序电路。
一 输出反馈电路
分析以下三种输出反馈电路
如图5.1(a)所示的与门电路,输出Z既是输出又是输入,电路本身是有时延的,因此,当前输出与当前输入一起决定后面的输出。将当前输出标识为
Z
n
Z^n
Zn,后继的输出标识为
Z
n
+
1
Z^{n+1}
Zn+1,该电路的逻辑函数表达式可以写为
Z
n
+
1
=
X
⋅
Z
n
Z^{n+1}=Xcdot Z^n
Zn+1=X⋅Zn。当X=1时,
Z
n
+
1
=
Z
n
Z^{n+1}=Z^n
Zn+1=Zn,相当于输出保持,当X=0时,
Z
n
+
1
=
0
Z^{n+1}=0
Zn+1=0,相当于输出清零。该电路中,一旦输出变为0,后继输出一直为零。
如图5.1(b)所示的或门电路,该电路的逻辑函数表达式可以写为
Z
n
+
1
=
X
+
Z
n
Z^{n+1}=X+Z^n
Zn+1=X+Zn。当X=0时,
Z
n
+
1
=
Z
n
Z^{n+1}=Z^n
Zn+1=Zn,相当于输出保持,当X=1时,
Z
n
+
1
=
1
Z^{n+1}=1
Zn+1=1,相当于输出置位。该电路中,一旦输出变为1,后继输出一直为1。
如图5.1 (c)所示的异或门电路,该电路的逻辑函数表达式可以写为
Z
n
+
1
=
X
⊕
Z
n
Z^{n+1}=Xoplus Z^n
Zn+1=X⊕Zn。当X=0时,
Z
n
+
1
=
Z
n
Z^{n+1}=Z^n
Zn+1=Zn,相当于输出保持,当X=1时,
Z
n
+
1
=
Z
n
ˉ
Z^{n+1}=bar{Z^n}
Zn+1=Znˉ,相当于输出反转。该电路中,输入为1时,输出将不断反转,直到输入为0。
由此可以看出,输出反馈后会产生一个新的概念“保持”,即记忆功能。
二 基本RS触发器(RS锁存器)
2.1 基本RS触发器的与非门实现
(1)逻辑电路和逻辑符号
触发器的
Q
n
Q_n
Qn和
Q
n
ˉ
bar{Q_n}
Qnˉ既是与非门的输出,又是与非门的输入。当输入发生变化时,触发器可以从一个稳定状态转换到另一个稳定状态。将输入信号作用前的触发器状态称为现在状态(简称现态),用
Q
n
Q_n
Qn和
Q
n
ˉ
bar{Q_n}
Qnˉ表示(通常上标n可以略去)。将输入信号作用后的触发器状态称为下一状态(简称次态),用
Q
n
+
1
Q_{n+1}
Qn+1和
Q
n
+
1
ˉ
bar{Q_{n+1}}
Qn+1ˉ表示。
当
R
D
=
0
R_D=0
RD=0、
S
D
=
1
S_D=1
SD=1时,无论现态为何值,其次态均为
Q
n
+
1
=
0
Q_{n+1}=0
Qn+1=0、
Q
n
+
1
ˉ
=
1
bar{Q_{n+1}}=1
Qn+1ˉ=1,称为复位(Reset),
R
D
R_D
RD端为复位端,低电平有效。
当
R
D
=
1
R_D=1
RD=1、
S
D
=
0
S_D=0
SD=0时,无论现态为何值,其次态均为
Q
n
+
1
=
1
Q_{n+1}=1
Qn+1=1、
Q
n
+
1
ˉ
=
0
bar{Q_{n+1}}=0
Qn+1ˉ=0,称为置位(Set),
S
D
S_D
SD端为置位端,低电平有效。
当
R
D
=
1
R_D=1
RD=1、
S
D
=
1
S_D=1
SD=1时,其次态与现态相等,即
Q
n
+
1
=
Q
n
Q_{n+1}=Q_{n}
Qn+1=Qn、
Q
n
+
1
ˉ
=
Q
n
ˉ
bar{Q_{n+1}}=bar{Q_{n}}
Qn+1ˉ=Qnˉ,称为保持。
当
R
D
=
0
R_D=0
RD=0、
S
D
=
0
S_D=0
SD=0时,两个与非门输出均为1,两个输出端不再满足互补关系,是禁止出现的输入项。故基本RS触发器的约束条件为
R
D
+
S
D
=
1
R_D+S_D=1
RD+SD=1。
(2)状态转移真值表
将触发器的次态、现态及输入信号之间的逻辑关系用表格的形式表示出来,这种表格称为状态转移真值表(或状态表)。
基本RS触发器的状态表如表5.2所示,简化状态表如表5.3所示。
触发器的状态表中,输出端的现态为输入量,输出端的次态为输出量,状态表表明次态不仅与输入有关,还与现态有关。相同的
R
D
R_D
RD和
S
D
S_D
SD输入其输出Q不一定相同。
(3)特征方程
描述触发器逻辑功能的函数表达式称为触发器的特征方程。
基本RS触发器的特征方程为
其中
R
D
+
S
D
=
1
R_D+S_D=1
RD+SD=1为约束条件,表明
R
D
R_D
RD和
S
D
S_D
SD不能同时为0,至少有一个为1。
(4)状态转移图(状态图)与激励表
状态转移图是用图形方式来描述触发器的状态转移规律。
上图为基本RS触发器的状态转移图,图中两个圆圈分别表示触发器的两个稳定状态,箭头表示在输入信号的作用下,状态转移的方向,箭头旁的标注表示转移条件。
激励表(也称为驱动表)是表示触发器由现态转移到确定的次态时对输入信号的要求。表5.4为基本RS触发器的激励表。
波形图
工作波形图又称时序图,它反映了触发器的输出状态在输入信号作用下随时间变化的规律,是可以通过电子仪器测量观测到的波形。图5.5为基本RS触发器的工作波形,图中虚线部分表示状态不确定。
2.2 基本RS触发器的或非门实现
基本RS触发器也可以用或非门组成,其电路及逻辑符号如图所示,输入信号
S
D
S_D
SD和
R
D
R_D
RD是高电平有效。
2.3 基本RS触发器存在的问题
S和R不能同时为1,若是输入信号因为路径延迟不同出现这种情况,将发生不定或振荡等不可控现象
三 钟控触发器
3.1 触发器简介
(1)触发器的分类
- 按逻辑功能不同分为:RS触发器、D触发器、JK触发器、T触发器。
- 按触发方式不同分为:电平触发器、边沿触发器和脉冲触发器。
- 按电路结构不同分为:基本RS触发器和钟控触发器。
- 按存储数据原理不同分为:静态触发器和动态触发器。
- 按构成触发器的基本器件不同分为:双极型触发器和MOS型触发器。
当基本RS触发器的输入发生变化时会使触发器直接置0或置1翻转,触发器的状态发生变化。在数字系统中,经常要求触发器按一定时间节拍进行动作,即要求触发器状态转换时刻由时钟控制,而转换到何种状态则由输入信号和原状态决定。在基本RS触发器的基础上增加触发引导电路,便可以构成各种时钟控制的触发器。
(2)触发器与锁存器的关系
触发器的电路图由逻辑门组合而成,其结构均由R-S锁存器派生而来(广义的触发器包括锁存器)。触发器可以处理输入、输出信号和时钟频率之间的相互影响。
在R-S锁存器的前面加一个由两个与门和一个非门构成的附加电路,则构成D触发器。当时钟脉冲CP为1时,读入输入端D的数据并传至输出端;当CP为0时,根据与门“只要有一个输入端为0则输出为0”的特性,输入端D的数据被与门屏蔽了,无法到达输出端,不管输入D怎样变化,Q端输出值都保持不变,只有等到下一个CP高电平到来时,才会把当前的D值送出。这样就实现了延迟输出即暂时保存的功能。从电路的动作可以看出,时钟输入端起到控制的作用,CP为1时,能触发后面的锁存器把D的值暂时锁存起来,这也正是触发器名词中“触发”的含义,这正是触发器与锁存器的联系与区别:触发器利用了锁存器的保存原理,但是加上了触发功能,可以控制保存的时间。
3.2 电平触发钟控触发器
(1)钟控RS触发器
如图所示,通过增加两个与非门构成了高电平触发的钟控触发器。当
C
P
=
0
CP=0
CP=0时,
R
D
=
S
D
=
1
R_D=S_D=1
RD=SD=1,触发器处于保持状态;只有在
C
P
=
1
CP=1
CP=1时触发器的状态才可能发生变化。
该触发器的特征方程如下,其中约束条件是R和S不能同时为0
该触发器的时钟有效触发期间的状态图和状态表如下,
下图为触发器的工作波形
钟控RS触发器(钟控SR锁存器)添加使能时钟信号解决路径延时问题
- 仅当 C=0 时,才允许S和R更改
- 只有在 S 和 R 足够稳定之后,才将 C 更改为 1
- 当 C 变为 1 时,稳定的 S 和 R值通过两个与门传递到 SR 锁存器的 S1 R1 输入
但是R和S仍然需要精确的设计使得他们不同时为1
(2)钟控D触发器(D latch)
钟控D触发器的逻辑电路和逻辑符号如图(a)和(b)所示。
在CP为1时,RD和SD互补,SD=D̅,RD=D,该触发器特征方程为
图(c)为钟控D触发器的状态图,表5.6为钟控D触发器的状态表。该触发器完成输入信号的保存,也称为数据锁存器,输入端D称为数据输入端。
钟控D触发器的工作波形如下
钟控D触发器实现verilog代码
module DFF(CP, D, Q);
input CP, D;
output reg Q;
always @( *)
if (CP)
Q<=D; //特征方程 Qn+1=D
endmodule
SR 锁存器需要仔细设计,以确保 SR=11 永远不会发生,而D 型触发器减轻了设计人员的负担,插入非门确保 R 始终与 S 相反,但钟控D触发器仍然有很多问题(这些问题在RS触发器中也存在)
D 锁存器仍然有问题(SR 锁存器也是如此)
- 当 C=1 时,信号将通过多少个锁存器?取决于多长时间 C=1
Clk_A ——信号可以通过多个锁存器
Clk_B ——信号可以通过更少的锁存器
• 很难选择长度合适的 C
我们可以设计只在时钟信号的上升沿存储一个值的位存储吗?
(3)钟控JK触发器
钟控JK触发器的逻辑电路和逻辑符号如图5.12(a)和(b)所示。在CP=1时,
该触发器特征方程为
钟控JK触发器的状态图如图5.12(c)所示,表5.7为钟控JK触发器的状态表。
同0保持,同1反转,01置0,10置1。钟控JK触发器可以构建钟控D触发器
(4)钟控T触发器
将钟控JK触发器的J和K两输入连接在一起构成钟控T触发器,它的逻辑电路和逻辑符号如图5.15(a)和(b)所示。在CP=1时,
该触发器特征方程为
钟控T触发器的状态图如图(c)所示,表5.8为钟控T触发器的状态表。
#pic_center =400x)
当T=1时状态翻转,当T=0时状态不变。T接高电平时,状态按时钟进行翻转。
3.3 边沿触发钟控触发器
在电平触发方式中,当触发电平有效时,当前输出状态作为现态参与触发器的次态计算。当次态出现后,如果触发电平仍有效,那么次态输出作为新一轮的现态再产生下一个新的次态。电平触发方式可能使状态在约定电平期间发生多次翻转,也称为空翻。为了防止出现空翻现象,采用边沿触发器。
(1)边沿D触发器(D flip-flop)
一种设计——“主仆”触发器
- 两个锁存器:第一个锁存器的输出进入第二个锁存器的输入,第一个锁存
器具有反相时钟信号 - “主锁存器”在 C=0 时加载,从方在 C=1 时加载
- 当 C 从 0 变为 1 时,主锁存器被禁用,从锁存器加载 C 改变之前 D 处的
值——即 C 上升期间 D 处的值
(2)复位置位的同步和异步
钟控触发器通常需要外部对其进行复位(输出变为0)或置位(输出变为1),所以实际的触发器通常有复位Rd和置位Sd,假定复位和置位信号均为低电平有效。图5.16为常用的边沿D触发器的逻辑符号。
上图(a)中红圈中的符号是边沿D触发器和钟控D触发器的区别
复位和置位通常有两种方式,即异步方式和同步方式。
(1) 异步方式是指只要复位或置位信号有效,输出立即发生变化,时钟和数据输入对触发器不起任何影响 Verilog描述时复位和置位信号都是触发状态改变的条件,但是时钟是沿触发,过程赋值的触发条件不允许既有电平触发又有边沿触发。所以触发条件中复位和置位信号也采用边沿触发,边沿采用进入有效电平的边沿,该处使用高电平向低电平变化的下降沿。
异步复位置位边沿D触发器的verilog实现
module DFF(CP,Rd,Sd,D,Q);
input CP,Rd,Sd,D;
output Q;
reg Q;
always@(posedge clk or negedge Rd or negedge Sd)
if(!Rd) Q<=1'd0;
else if(!Sd)Q<=1'b1;
else Q<=D;
endmodule
(2) 同步方式是指在复位或置位信号有效且时钟触发时输出进行复位或置位,输出端的变化值由复位或置位信号决定,但输出发生变化的时刻由时钟决定。
同步复位置位边沿D触发器的verilog实现
module DFF(CP,Rd,Sd,D,Q);
input CP,Rd,Sd,D;
output Q;
reg Q;
always@(posedge clk)
if(!Rd) Q<=1'd0;
else if(!Sd)Q<=1'b1;
else Q<=D;
endmodule
两种方式的波形图如下
四 小结
由此可见,D触发器是更好的比特存储模块
最后
以上就是酷酷发带为你收集整理的时序逻辑电路总结【一】触发器的全部内容,希望文章能够帮你解决时序逻辑电路总结【一】触发器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复