锁存器和触发器进入不可预测状态的分析与解决方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
锁存器和触发器进入不可预测状态的分析与解决方法
一.锁存器
1.S-R锁存器
S-R锁存器进入亚稳态的可能情况:1.S,R同时由“1”变为“0”。
2.S,R任一端口输入脉冲很短(毛刺)。
区域2:
当S和R为“0”时,保持输出和上一状态相同,但由于S和R同时变化为“0”,各个器件传输延迟不同,那么保持的上一状态将是未知的。区域 2 的作用就是人为地增加R的传输延迟,从而在.S,R同时由“1”变为“0”时,使输出为确定状态(Q为1 QN为0)。也可以将区域2移到S输入端,这样在.S,R同时由“1”变为“0”时输出状态确定为Q为0 QN为1。
区域1:
区域1 可以一定程度上解决毛刺问题,区域1为D锁存器,当输入为脉冲宽度很小的毛刺时,D锁存器将其识别为没有变化,这样D锁存器输出就没有了此毛刺,后级的S-R锁存器就不会遇到此毛刺。如果D锁存器将一个一定脉冲宽度的脉冲识别为变化,那么输出给S-R锁存器。(其实没有什么严格规定,小于多少纳秒就是毛刺,所以我能想到的就是用其它器件来作前级“过滤”,至少可以消除一些宽度过小的毛刺。)
关于区域1和2的作用会在以下的几个锁存器和触发器的波形仿真中具体解释。S-R with enable 锁存器
S-R with enable锁存器进入亚稳态的可能情况:1 .S R C同时为“1”时,C由
“1”变为“0”,或者S ,R同
时由“1”变为“0”。
2. 毛刺
区域1:
区域1的作用同S_R锁存器,为“毛刺过滤”。
区域2:
两个区域2 都是由偶数个反相器组成,都是用来做延时。
上面的区域2的作用是:S R C同时为“1”,C由“1”变为“0”时,S通路较R通路变化滞后,这样在这种情况下,亚稳态被固定为Q为1 QN为0;(之所以这里用到四个反相器,而不是两个,是因为实验室两个也出现亚稳态。也就是延时不足。)
下面的区域2的作用是:C为“1”,S ,R同时由“1”变为“0”时,R通路较S通路变化滞后,这样在这种情况下,亚稳态被固定为Q为0 QN为1。
以下是Timing Simulation 时序图。
Figure 1
Figure 2 D 锁存器
D 锁存器进入亚稳态的可能情况 :1.C 由“1”变为“0”时(T setup ~T hold ),D
发生变化;
2. 毛刺。
区域1
区域1 的作用同上。
C 由“1”变为“0”时,
D 发生变化,这种情况造成的亚稳态,我现在无法解决。
二.触发器
1.D 触发器(正边沿和负边沿)
亚稳态出现的情况有:1. Clk 的上升沿(下降沿)T setup ~T hold 内,D 输入变化。
2.毛刺
2.具有使能输入的边沿D 触发器
.
亚稳态出现的情况有:1. Clk 的上升沿,且EN 为1,D 输入变化;
或 T setup ~T hold 内,EN 变化。
2.毛刺
扫描触发器与此相同。 CLRN D PRN Q DFF inst PRN CLRN D ENA Q DFFE inst4
3.主从时S_R 触发器
亚稳态出现的情况有:1.在时钟脉冲信号内,S ,R 同时由“1”变为“0” 或者时钟脉冲下降沿到来时,S ,R 保持为1。(原理同
S-R Latch with enable )。
2. 毛刺。
4.主从式J-K 触发器
PRN CLRN
K J
Q JKFF
inst3
主从式J K 触发器内部构造相对于主从式SR触发器只是将主从式SR 触发器的 输入S (J )相与反馈QN ,R (K )相与Q 。由于Q 和QN 在正常情况下是相反 的,因此就避免了主从式SR 触发器的第一种不稳定状态。所以
亚稳态出现的情况有:1. 毛刺。
5.边沿J-K 触发器
亚稳态出现的情况有:1. 在时钟上升沿有效地J 或K (与J 或K 相与的反馈Q
或QN 为“1”)在T setup ~T hold 内发生变化;
2. 毛刺。
PRN CLRN S R Q SRFF inst5
触发器亚稳态的解决:
1.降低系统时钟;
2.使用更快的触发器;
3.改善时钟质量,使用边沿变化更快的时钟信号
4.引入同步机制,防止亚稳态的传播;
1.最可靠同步器设计
最可靠的同步器就是具有最大亚稳定性分辨时间的同步器。但是,在数字系统的设计中,我们不仅很少因为系统的可靠性而奢侈地降低时钟频率,而且为了让系统具有更好的性能还常常要求提高时钟频率。因此,通常需要能够在很短的时钟内可靠工作的同步器。
Tr=Tclk-Tcomb-Tsetup
速度越快的触发器建立时间就越短。Tcomb(组合逻辑的传播延迟)最小值为0;
2.用两级D触发器构成同步器,时钟异步信号输入DFF1,这个信号可能
会违反触发器的建立时间和保持时间的规定。一旦发生这种情况。输出
信号就会进入亚稳态,而且这个状态停留一个任意长的时间。然而,我们已经假设在时钟沿之后,亚稳定性保持的最长时间为Tr(称为亚稳定分辨时间)。只要时钟周期比Tr与DFF2的建立时间之和要大,那么从下
一个时钟触发沿开始,DFF2的输出信号就是异步信号(DFF的输入信号)的同步拷贝,而且不会进入亚稳态。于是就可以把DFF2的输出信号(时钟异步信号)分发到系统的其余部分!
通过两极触发器其实就是给亚稳态足够的脱离时间!