触发器(电子)

在电子设备中,触发器和闩锁是电路,具有两个稳定状态,可以存储状态信息 - 一个可动的多冰箱。可以通过应用于一个或多个控制输入的信号来改变电路以更改状态,并将输出其状态(通常也及其逻辑补充)。它是顺序逻辑中的基本存储元素。触发器和闩锁是计算机,通信和许多其他类型系统中使用的数字电子系统的基本构建块。
触发器和闩锁用作数据存储元素,以存储数据的单位(二进制数字)数据;它的两个状态之一代表一个“一个”,另一个表示“零”。此类数据存储可用于状态的存储,该电路被描述为电子中的顺序逻辑。当在有限状态机器中使用时,输出和下一个状态不仅取决于其当前输入,还取决于其当前状态(因此,以前的输入)。它也可以用于计数脉冲,并将其同步的输入信号同步到某些参考时间信号。
术语flip-flop从历史上通常提到了级别触发的(异步,透明或不透明)和边缘触发(同步或时钟)电路,这些电路使用门存储单个数据的电路。现代作者保留术语flip-flop专门用于边缘触发的存储元素和闩锁,以供级别触发。可以使用“边缘触发”和“级别触发”术语来避免歧义。
当启用了一个水平触发的闩锁时,它将变得透明,但是边缘触发的flip-flop的输出仅在时钟边缘上发生变化(正值或负数为负)。
不同类型的触发器和闩锁可作为集成电路可用,通常每个芯片有多个元素。例如, 74HC75是7400系列中的四倍透明闩锁。
历史

第一个电子闩锁是由英国物理学家威廉·埃克尔斯(William Eccles)和FW Jordan于1918年发明的。它最初被称为Eccles – Jordan触发电路,由两个活性元件(真空管)组成。该设计在1943年的英国巨像破解计算机中使用,即使引入集成电路,这些电路及其晶体固定版本在计算机中也很常见,尽管现在用逻辑门制成的闩锁和触发器也很常见。早期闩锁被称为触发回路或多启动器。
根据美国喷气推进实验室的工程师PL Lindley的说法,下面详细介绍的触发器类型(SR,D,T,JK)在1954年的UCLA课程中首次由Montgomery Phister讨论,然后出现在他的计算机设计课程中,然后出现在他的计算机设计课程中数字计算机的书籍逻辑设计。林德利(Lindley)当时在埃尔德雷德·尼尔森(Eldred Nelson)的统治下在休斯飞机(Hughes Aircraft)工作,后者创造了JK一词的触发器,该触发器在两个输入都打开时改变了状态(逻辑上的“一个”)。其他名称是由Phister创造的。它们与下面给出的一些定义略有不同。林德利(Lindley)解释说,他听到了埃尔德雷德·尼尔森(Eldred Nelson)的JK拖鞋的故事,后者负责在休斯飞机(Hughes Aircraft)工作时创造这个词。当时在休斯使用的触发器都是被称为JK的类型。在设计逻辑系统时,尼尔森将字母分配给触发器输入如下:#1:A&B,#2:C&D,#3:E&F,#4:G&H,#5:J&J& K. Nelson在1953年提交的专利申请中使用了“ j -input”和“ k -input”符号。
执行

可以围绕一对交叉耦合元件建造透明或异步闩锁:真空管,双极晶体管,现场效应晶体管,逆变器和反相逻辑门已用于实际电路中。
时钟的触发器专为同步系统而设计;此类设备忽略了它们的输入,除了在专用时钟信号(称为时钟,脉冲或频率)的过渡时。时钟会导致触发器根据过渡时输入信号的值更改或保留其输出信号。一些触发器会改变时钟上升边缘上的输出,另一些则在落下边缘上。
由于基本放大阶段是反相的,因此可以连续连接两个阶段(作为级联)以形成所需的非反转放大器。在此配置中,每个放大器可以被视为另一个反相放大器的主动反馈网络。因此,尽管电路图通常以对称的交叉耦合对绘制,但两个阶段是在非反向环中连接的(这两个图最初都是在Eccles – Jordan Ptent中引入的)。
类型
触发器和闩锁可以分为常见类型: sr (“ set-reset”), d (“ data”), t (“ toggle”)和JK (请参见上面的历史记录部分)。特定类型的行为可以通过所谓的特征方程来描述,该方程衍生了“下一个”(即下一个时钟脉冲之后)输出, q下一个在输入信号和/或当前输出, 。
简单的设置锁定闩锁
当使用静态门作为构建块时,最基本的闩锁是简单的sr闩锁,其中s和r代表设置和重置,这意味着s s = 1 set tot to to to 1,RESET r = 1设置位于0或者,您可以调用两个输入集1并设置0 ,这可能会清除一些混乱(单独的术语可能会被误解为设置为提供的输入的位);该命名还使其在下面的解释中直观,即尝试同时设置0和1的命名应使SR闩锁表现得不可预测。
可以从一对交叉耦合或NAND逻辑门中构造SR闩锁。存储的位存在在标记Q的输出上。为了帮助了解下面的电路实现,可以方便地考虑NAND,NOR和或作为受控操作。也就是说,尽管所有这些门在输入中都是对称的,但很方便地选择一个位作为我们选择设置的控制位,而另一个位作为根据控制状态进行处理的输入。正如您在下面看到的那样,事实证明,所有这些大门都有一个控制值,该值忽略了输入并输出常数值,而其他控制值则使输入值通过(也许是互补的)。我们将输入称为X,另一个位将是控制,然后:
本质上,它们都可以用作设置特定值或让输入值通过的开关。
sr nor Latch


- s = 1,r = 0:设置
- s = 0,r = 0:保持
- s = 0,r = 1:重置
- s = 1,r = 1:不允许
如图所示,SR NON闩锁由两个平行或门的门组成,每个门的输出也不会将每个输出也不得将其输入到另一个输入中,如图所示。我们调用反馈输入,或者简单地反馈这些输出输入连接。其余的输入我们将用作上述输入。请注意,在这一点上,由于所有内容都是对称的,因此连接输出的输入无关紧要。现在,我们通过选择剩余的控件输入将是我们的集合和重置来打破对称性的,我们可以将“ nor”“ nor” set“ nor”带有设置控件和“重置”或“ nor”为“ nor”或带有重置控件的门;在数字中,底部也不是底部,也不是顶部。重置的输出也不是我们存储的位Q,而我们将看到集合的输出或存储其补充Q。
为了得出SR和闩锁的行为,将S和R视为控制输入,并记住,从上面的方程式设置和重置或使用Control 1将其输出固定为0,而设置和重置也不会将其重置为Controt 0作为一个不门。因此,现在可以将SR闩锁的行为得出简单条件(例如,为每行分配值,请参见它们如何传播)。
- 尽管R和S均为零,但r nor和s既不简单地强加反馈是输出的补充,否则就可以满足其满足,只要输出是彼此的补充。因此,无论Q = 0还是Q = 1,输出Q和Q保持恒定状态。
- 如果s = 1 while r = 0,则该集合也不会修复Q = 0,而重置也不会适应并设置Q = 1。一旦将s设置为零,如上所述,值将保持值。
- 类似地,如果r = 1而s = 0,则重置或固定q = 0,而set n ofapt q = 1。如果将r设置为0,则再次保持状态。
- 如果r = s = 1,则NORS将将两个输出都固定为0,这不是一个有效的状态存储互补值。
SR闩锁操作 特征表 激发桌 S R Q接下来 行动 Q Q接下来 S R 0 0 Q 保持状态 0 0 0 X 0 1 0 重置 0 1 1 0 1 0 1 放 1 0 0 1 1 1 X 不允许 1 1 X 0
注意:x表示不在乎,即0或1是有效的值。
r = s = 1组合称为限制组合或禁止状态,因为,作为一个或门的输出零,它会破坏逻辑方程q =不是q 。在两个输入都可能同时较低的电路中,该组合也不合适(即从限制到保持的过渡)。输出将根据门(种族条件)之间的传播时间关系锁定1或0。

为了克服限制组合,可以将门添加到将(S, R) = (1, 1)
转换为一种非限制组合之一的输入中。可以:
- Q = 1(1,0) - 称为S(主导)-Latch
- Q = 0(0,1) - 称为R(主导)-Latch
这几乎是在每个可编程逻辑控制器中完成的。
- 保持状态(0,0) - 称为电子锁
或者,可以制作限制组合以切换输出。结果是JK闩锁。
SR闩锁的特征方程是:
-
或者
如果a + b表示(a或b),则表示AB表示(A和B)
另一个表达是:
-
和
sr nand闩锁

下面显示的电路是基本的NAND闩锁。对于集合和重置的输入通常也被指定为S和R。由于NAND输入通常必须是逻辑1以避免影响闩锁动作,因此输入被认为是在该电路(或活动性低)中倒置的。
该电路使用与SR相同的反馈,即使在控制输入信号发生了变化之后,也只需用NAND门代替NAND门,以“记住”并保留其逻辑状态。同样,回想一下1控制的NAND总是输出0,而0控制的NAND充当不闸门。当S和R输入都高时,反馈将Q输出保持到先前的状态。当两者为零时,它们将输出位固定到0时,将其定位到其他适应补充。 S = R = 0产生无效状态。
|
![]() |
SR和-或闩锁

从教学的角度来看,作为一对交叉耦合组件(晶体管,门,管等)绘制的SR闩锁通常很难为初学者理解。一个教学上更容易的解释是将闩锁绘制为单个反馈回路,而不是交叉耦合。以下是一个带有一个倒输入和或门的SR闩锁构建的SR闩锁。请注意,闩锁功能不需要逆变器,而是要使两个输入高活动。
SR和-或闩锁操作 S R 行动 0 0 不用找了;随机初始 1 0 Q = 1 X 1 Q = 0
请注意,SR和-OR闩锁具有s = 1,r = 1的好处。在SR和-或闩锁的上述版本中,它优先于S信号。如果需要S超过R的优先级,则可以通过将输出Q连接到OR GATE的输出而不是输出和GATE的输出来实现。
SR和-OR闩锁更容易理解,因为两个门都可以孤立地解释,并从上方的控制视图中再次解释。当s或r设置均未设置时,或者和门都处于“保持模式”中,即,他们让输入通过,它们的输出是反馈循环的输入。当输入s = 1时,无论反馈循环(“设置模式”)的其他输入如何,或者门输出1。当输入r = 1时,无论反馈循环中的其他输入如何(“重置模式”),则输出0。而且,由于和门将OR GATE的输出作为输入,R比绘制的S.闩锁具有优先级,因为交叉耦合门可能看起来不太直观,因为一个门的行为似乎与另一个栅极交织在一起。标准或NAND闩锁也可以通过反馈循环重新绘制,但是在他们的情况下,反馈循环在整个反馈循环中不会显示相同的信号值。但是,如果需要倒置Q输出,则SR和-或闩锁的缺点是,如果需要倒置Q输出,则需要额外的逆变器。
请注意,使用逻辑转换可以将SR和-或闩锁转换为SR或闩锁:反转OR GATE的输出以及和Gate的第二个输入,并在这两个添加的逆变器之间连接倒置的Q输出;根据de Morgan的定律,倒入两个输入的闸门都等同于Nor Gate。
JK闩锁
与JK触发器相比,JK闩锁的使用频率要少得多。 JK闩锁遵循以下状态表:
JK闩锁真相表 J K Q接下来 评论 0 0 Q 不用找了 0 1 0 重置 1 0 1 放 1 1 Q 切换
因此,JK闩锁是通过11的输入组合进行11的SR闩锁,用于切换其输出(0到1之间)。与JK触发器不同,JK闩锁的11个输入组合不是很有用因为没有时钟可以引导切换。
封闭式闩锁和有条件的透明度
闩锁设计为透明。也就是说,输入信号变化会导致输出立即变化。当不主张另一个输入(“启用”输入)时,可以将其他逻辑添加到一个简单的透明闩锁中,以使其变得非透明或不透明。当几个透明闩锁相互跟随,使用相同的启用信号,信号可以一次传播。但是,遵循透明的闩锁(或反之亦然)透明的高闩锁,这会导致状态和输出仅在时钟边缘上更改,从而形成所谓的主 - 奴隶flip-flop 。
封闭的SR闩锁


可以通过在倒置的SR闩锁中添加第二级NAND门来制作封闭式的SR闩锁。额外的NAND门进一步反转输入,因此SR闩锁成为一个封闭式的SR闩锁( SR闩锁将转换为带有倒置的封闭式SR闩锁)。
另外,可以通过在SR闩锁中添加第二级和门来制作封闭式的SR闩锁(无反向启用)。
使用E高(启用true),信号可以通过输入门传到封装的闩锁;除了(0,0)=保持外,所有信号组合都立即在(q, q )输出上重现,即闩锁是透明的。
在e低(启用false)的情况下,闩锁已关闭(不透明) ,并保留在该州,它在最后一次E高。
启用输入有时是时钟信号,但更常见的是读取或写入频率。当启用输入是时钟信号时,据说闩锁对水平敏感(达到时钟信号的水平),而不是下面的边缘敏感的触发器。
|
![]() |
门控D闩锁
该闩锁利用了以下事实:在一个门控SR闩锁的两个主动输入组合(01和10)中,r是S的补充。输入nand阶段将两个D输入状态(0和1)转换为这两个输入通过反转数据输入信号来组合下一个SR闩锁。启用信号的低状态会产生不活动的“ 11”组合。因此,门控D-Latch可以被视为单输入同步SR闩锁。这种配置阻止了限制输入组合的应用。它也称为透明闩锁,数据闩锁或简单的门控闩锁。它具有数据输入和一个启用信号(有时命名为时钟或控制)。单词透明来自以下事实:当启用输入打开时,信号直接通过电路传播,从输入d到输出Q。门控d-latches在时钟级别上也对水平敏感或启用信号。
透明的闩锁通常用作I/O端口或异步系统,或在同步的两阶段系统(使用两相时钟的同步系统)中,其中两个在不同时钟相处运行的闩锁可以阻止数据透明度,例如Master – Master –在Master –中从属触发器。
下面的真实表显示,当E Nable/ C锁定输入为0时,D输入对输出没有影响。当E/C高时,输出等于D。
|
![]() |
-
基于SR NAND闩锁的门控D闩锁
-
基于SR和闩锁的门控D闩锁
-
动画封闭式D闩锁。黑色和白色均值逻辑“ 1”和“ 0”。
- d = 1,e = 1:设置
- d = 1,e = 0:保持
- d = 0,e = 0:保持
- d = 0,e = 1:重置
-
通行晶体管逻辑中的门控D闩锁,类似于CD4042或CD74HC75集成电路中的闩锁。
厄尔闩锁
经典的封闭式闩锁设计具有一些不良的特征。他们需要双轨逻辑或逆变器。输入到输出传播最多可能需要三个门延迟。输入到输出的传播不是恒定的 - 有些输出需要两个门延迟,而另一些输出则三分。
设计师正在寻找替代方案。一个成功的替代方法是Earle闩锁。它仅需要一个数据输入,并且其输出需要一个常数的两个门延迟。此外,在某些情况下,earle闩锁的两个栅极级别可以与驱动闩锁的电路的最后两个门水平合并,因为许多常见的计算电路都具有或层,后面是一个或层,作为其最后两个级别。合并闩锁功能可以实现闩锁,没有其他门延迟。该合并通常是在管道的计算机设计中利用的,实际上,最初是由John G. Earle开发的,用于为此目的用于IBM System/360 Model 91 。
Earle闩锁无危险。如果省略了中间的NAND门,则获得极性保留闩锁,这通常是因为它要求逻辑较少。但是,它容易受到逻辑危害。故意扭曲时钟信号可以避免危险。
-
earle闩锁使用互补启用输入:启用活跃的低(E_L)并启用Active High(E_H)
-
动画earle闩锁。黑色和白色均值逻辑“ 1”和“ 0”。
- d = 1,e_h = 1:设置
- d = 0,e_h = 1:重置
- d = 1,e_h = 0:保持
D触发器

D触发器被广泛使用,被称为“数据”触发器。 D flip-flop在时钟周期的确定部分(例如时钟的上升边缘)捕获了D输入的值。捕获的值成为Q输出。在其他时候,输出Q不会改变。 D触发器可以看作是记忆单元,零级保持或延迟线。
真实表:
钟 D Q接下来 边缘上升 0 0 边缘上升 1 1 非升级 X Q
( x表示不在乎的条件,这意味着信号无关)
ICS中的大多数D型触发器都具有强制到集合或重置状态(忽略D和时钟输入)的能力,就像SR触发器一样。通常,非法S = R = 1条件在D型触发器中解析。设置s = r = 0使触发器的行为如上所述。这是其他可能的S和R配置的真实表:
输入 输出 S R D > Q Q 0 1 X X 0 1 1 0 X X 1 0 1 1 X X 1 1

这些触发器非常有用,因为它们构成了移位寄存器的基础,这是许多电子设备的重要组成部分。 D型触发器比D型“透明闩锁”的优势在于,d输入引脚上的信号在触发器时捕获时捕获,并且D输入的随后更改将被忽略到下一个。时钟事件。一个例外是,某些触发器具有“重置”信号输入,该信号输入将重置Q(零),并且可能与时钟异步或同步。
上面的电路将寄存器的内容向右移动,这是时钟的每个主动过渡上的位置。输入X转移到最左侧的位置。
经典的正向触发D触发器


该电路由SR NAND闩锁实施的两个阶段组成。输入阶段(左侧的两个闩锁)处理时钟和数据信号,以确保输出阶段的正确输入信号(右侧的单个闩锁)。如果时钟较低,则无论数据输入如何,输入阶段的两个输出信号都很高。输出闩锁不受影响,并且存储先前的状态。当时钟信号从低变为高变化时,只有一个输出电压(取决于数据信号)会降低并设置/重置输出闩锁:如果d = 0,则较低的输出将变低;如果d = 1,则上输出将变低。如果时钟信号继续保持较高,则输出不管输入的数据输入如何,并迫使输出闩锁保持在相应的状态,因为输入逻辑零(输出阶段的)在时钟高时保持活跃。因此,输出闩锁的作用是仅在时钟较低时存储数据。
该电路与封闭式D闩锁密切相关,因为两个电路都通过反转数据输入信号来将两个D输入状态(0和1)转换为两个输入组合(01和10)(01和10) (01和10)两个互补S和R信号中的单个D信号)。不同之处在于,在正向触发的D触发器中,使用了简单的NAND NAND逻辑门,用于此目的。这些闩锁的作用是“锁定”产生低压的主动输出(逻辑零);因此,也可以将正边缘触发的D触发器视为带有锁存输入门的门控D闩锁。
大师 - 奴隶边缘触发的D触发器


通过连接两个封闭式D闩锁并将启用输入倒入其中一个,可以创建一个主 - 奴隶d flip-flop。它被称为主- 奴隶,因为主闩锁控制了从锁存的输出值q,并在启用从从闩锁时迫使从属闩锁保持其值,因为从属闩锁始终从主闩锁中复制其新值并更改其值仅是为了响应主闩锁和时钟信号的值的变化。
对于正向触发的主- 奴隶d flip-flop,当时钟信号较低时(逻辑0)第一个或“ master” d闩锁(反向时钟信号)所看到的“启用”(逻辑1) (逻辑1) 。这允许当时钟信号从低到高过渡时,“主”闩锁可以存储输入值。随着时钟信号的高度(0至1),第一个闩锁的倒置“启用”变低(1至0),并且在主闩锁的输入处看到的值为“锁定”。几乎同时,使用时钟信号从低点到高(0到1)的第二个或“从” D倾斜的“启用”两次。这允许在时钟的上升边缘捕获的信号通过现在的“锁定”主闩锁通过“从”闩锁。当时钟信号返回低(1至0)时,“从”闩锁的输出被“锁定”,并且在“主”闩锁开始接受新的时,时钟的最后一个上升边缘处看到的值准备下一个上升时钟边缘的值。
卸下电路中的最左侧逆变器会产生一个D型触发器,该触发器在时钟信号的下降边缘上的闪光灯。这有一个这样的真相表:
D Q > Q接下来 0 X 跌倒 0 1 X 跌倒 1
双向触发的D触发器

在上升和时钟的下降边缘以新值读取的触发器称为双边缘触发的触发器。可以使用两个单边触发的D型触发器和一个多路复用器,也可以使用两个单格触发的D型D型触发器和三个XOR门来构建此类触发器。


边缘触发的动态D存储元素

只要经常将其计时足够时,就可以使用动态电路(在电容中存储信息)进行有效的功能替代方案。尽管不是真正的触发器,但它仍然被称为触发器的功能作用。虽然主 - 奴隶d元素是在时钟边缘触发的,但其组件各自由时钟级别触发。即使不是真正的触发器,也没有主人 - 奴隶属性,即使它不是真正的触发器,也称为“边缘触发的d flip-flop”。
边缘触发的D触发器通常在使用动态逻辑的集成高速操作中实现。这意味着在设备没有过渡时,数字输出存储在寄生器设备电容上。这种动态触发器的设计还可以简单地重置,因为可以通过简单地放电一个或多个内部节点来执行重置操作。一个常见的动态触发器品种是真正的单相时钟(TSPC)类型,该类型以很少的功率和高速执行触发器操作。但是,动态触发器通常不会在静态或低时钟速度下工作:如果有足够的时间,泄漏路径可能会释放出足够的寄生电容,以导致触发器进入无效状态。
t触发器

如果t输入很高,则每当时钟输入被串联时,t触发器会更改状态(“切换”)。如果t输入较低,则触发器将保持上一个值。这种行为由特征方程式描述:
-
(扩展XOR操作员)
可以在真实表中描述:
t flip-flop操作 特征表 激发桌 评论 评论 0 0 0 保持状态(没有时钟) 0 0 0 不用找了 0 1 1 保持状态(没有时钟) 1 1 0 不用找了 1 0 1 切换 0 1 1 补充 1 1 0 切换 1 0 1 补充
当t保持较高时,拨动触发器将时钟频率除以两个。也就是说,如果时钟频率为4 MHz,则从触发器获得的输出频率为2 MHz。此“划分”功能在各种类型的数字计数器中都有应用。在触发器上也可以使用JK触发器(J&K Pins连接在一起并充当T)或D flip-flop(t输入XOR Q先前驱动D输入)。
JK触发器


JK触发器通过将J = K = 1的条件解释为“ flip”或toggle命令来增强SR触发器(J:SET,K:RESET)的行为。具体而言,组合j = 1,k = 0是设置触发器的命令。组合j = 0,k = 1是重置触发器的命令。 j = k = 1的组合是切换触发器的命令,即将其输出更改为其当前值的逻辑补充。设置j = k = 0保持当前状态。要合成D触发器,只需将k设置为等于j的补体(输入j将充当输入d)。同样,要合成t触发器,k k k等于J。JK触发器是通用的触发器,因为它可以配置为作为SR触发器,d flip-flop或t触发器。
JK触发器的特征方程是:
相应的真相表是:
JK触发器操作 特征表 激发桌 J K 评论 Q接下来 Q Q接下来 评论 J K 0 0 保持状态 Q 0 0 不用找了 0 X 0 1 重置 0 0 1 放 1 X 1 0 放 1 1 0 重置 X 1 1 1 切换 Q 1 1 不用找了 X 0
时间考虑
正时参数

输入必须在时钟的上升边缘围绕孔径的上升边缘保持稳定。想像一下,在百合花上拍一张青蛙的照片。假设青蛙然后跳入水中。如果您在青蛙跳入水中时拍照,您会发现青蛙跳入水中的模糊图片 - 不清楚青蛙所在的状态。但是,如果您在青蛙稳定坐着时拍照在垫子上(或稳步在水中),您将获得清晰的图片。以同样的方式,必须在触发器的孔径期间保持触发器的输入稳定。
设置时间是应在时钟事件之前保持数据输入稳定的最小时间,以便将数据可靠地通过时钟进行采样。
保持时间是时钟事件后应保持数据输入稳定的最小时间,以便将数据可靠地通过时钟进行采样。
孔径是设置和保持时间的总和。在这段时间内,数据输入应保持稳定。
恢复时间是异步集或重置输入在时钟事件之前不活动的最小时间,以便将数据可靠地通过时钟进行采样。因此,异步集或重置输入的恢复时间与数据输入的设置时间相似。
删除时间是在时钟事件发生后,异步集或重置输入的最小时间应不活动,因此时钟可靠地采样数据。因此,异步集或重置输入的删除时间与数据输入的保留时间相似。
适用于异步输入(集合,重置)的简短冲动不应在恢复回能期内完全应用,否则触发器是否会过渡到适当的状态,完全不确定。在另一种情况下,异步信号只是在恢复/删除时间之间进行一个过渡,最终触发器将过渡到适当的状态,但是一个很短的小故障可能会出现在输出,依赖性上或可能不会出现在同步输入信号上。第二种情况可能对电路设计具有或没有意义。
设置和重置(以及其他)信号可以同步或异步,因此可以以设置/保持或恢复/去除时间为特征,并且同步性非常依赖于触发器的设计。
在验证较大电路的时间时,通常需要区分设置/保持和恢复/去除时间,因为可能发现异步信号比同步信号不太关键。差异化为电路设计师提供了独立定义这些类型信号的验证条件的能力。
标准化
触发器受到一个称为亚稳定性的问题,当两个输入(例如数据,时钟或时钟和重置)在同一时间发生变化时,可能会发生这种情况。当订单不清楚时,在适当的正时限制内,结果是输出可能会表现得不可预测,需要比正常情况更长的时间来定居到一个州或另一个状态,甚至在定居之前进行了几次振荡。从理论上讲,安顿下来的时间不是有限的。在计算机系统中,如果状态在另一个电路使用其值之前状态不稳定,则这种亚电竞争性可能会导致数据损坏或程序崩溃。特别是,如果两种不同的逻辑路径使用触发器的输出,则一条路径可以将其解释为0,而另一路径则在未解决到稳定状态时,将机器置于不一致的状态时,则可以将其解释为1。
可以通过确保在时钟脉冲之前和之后的指定期间(称为设置时间(T SU )和保留时间(T h )保持数据和控制输入,可以避免触发器中的亚稳定性。这些时间是在该设备的数据表中指定的,通常在几纳秒和几百个picseconds之间用于现代设备。根据触发器的内部组织,可以构建具有零(甚至负)设置的设备或保持时间要求,但并非同时进行。
不幸的是,并非总是有可能达到设置并持有标准,因为触发器可能会连接到实时信号,该信号可能随时在设计师的控制之外随时更改。在这种情况下,设计人员可以做的最好的方法是将错误的可能性降低到一定级别,具体取决于电路的所需可靠性。一种抑制亚稳定性的技术是连接链中的两个或多个触发器,以便每个链条的输出供应下一个数据输入的数据输入,并且所有设备共享一个共同的时钟。通过这种方法,可以将亚稳态事件的概率降低到可忽略的值,但永远不会零。随着串联连接的触发器数量的增加,亚稳定性的概率越来越接近零。被级联的触发器的数量称为“排名”。 “双排名”的人字拖(串联两个拖鞋)是一个普遍情况。
可以使用所谓的亚固定的触发器,可以通过减少设置并尽可能多地保持时间来起作用,但即使这些设置也无法完全消除问题。这是因为亚竞争不仅仅是电路设计的问题。当时钟中的过渡和数据随着时间的及时关闭时,触发器被迫首先决定发生了哪个事件。多么快速地制造设备,总是有可能将输入事件如此近,以至于无法检测到哪一个发生。因此,从逻辑上讲,不可能构建一个完全稳固的触发器。触发器有时会在最大安排时间内进行特征(在指定条件下它们将保持亚稳定性的最大时间)。在这种情况下,时钟慢的双级触发器比最大允许的亚稳定性时间慢,将为异步(例如,外部)信号提供适当的条件。
传播延迟
触发器的另一个重要计时值是时钟到输出延迟(数据表中的常见符号:t CO )或传播延迟(T P ),这是flip-flop在此后更改其输出的时间时钟边缘。高低过渡(T PHL )的时间有时不同于低到高过渡的时间(T PLH )。
当共享相同时钟的级联触发器(与移位寄存器中)时,重要的是要确保上一个触发器的t co长于以下触发器的持有时间(t h ),因此,按照时钟的活动边缘,在接下来的触发器输入中存在的数据正确地“移动”。如果触发器在物理上相同,通常可以保证T CO和T H之间的这种关系。此外,为了正确操作,很容易验证时钟周期必须大于t su + t h的总和。
概括
触发器可以至少以两种方式概括:通过使其使它们1的1,而不是2中的1,并通过将它们调整为逻辑,以两个以上的状态。在特殊情况下,3中的1中的1中或多价三元逻辑可以称为flip-flap-flop 。
在常规的触发器中,正好是两个互补输出之一。可以将其推广到具有N输出的内存元素,而N输出恰好是高(或者,n正是n中的一个很低)。因此,输出始终是单次(分别为单一的)表示。该结构类似于常规的交叉耦合触发器;每个输出(当高时)抑制所有其他输出。另外,可以使用或多或少使用常规的触发器,每次输出一个,并带有其他电路,以确保一次只能进行一个电路。
传统触发器的另一个概括是多价逻辑的内存元素。在这种情况下,内存元素完全保留了逻辑状态之一,直到控件输入引起更改。此外,还可以使用多值时钟,从而导致新的时钟过渡。