D锁存器与D触发器亚稳态的分析结合定时参数

上传人:m**** 文档编号:498348753 上传时间:2023-04-24 格式:DOCX 页数:12 大小:369.49KB
返回 下载 相关 举报
D锁存器与D触发器亚稳态的分析结合定时参数_第1页
第1页 / 共12页
D锁存器与D触发器亚稳态的分析结合定时参数_第2页
第2页 / 共12页
D锁存器与D触发器亚稳态的分析结合定时参数_第3页
第3页 / 共12页
D锁存器与D触发器亚稳态的分析结合定时参数_第4页
第4页 / 共12页
D锁存器与D触发器亚稳态的分析结合定时参数_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《D锁存器与D触发器亚稳态的分析结合定时参数》由会员分享,可在线阅读,更多相关《D锁存器与D触发器亚稳态的分析结合定时参数(12页珍藏版)》请在金锄头文库上搜索。

1、这篇文章感觉写的相当好1、简介 这篇文章是我对电子设计中,亚稳态问题的一种分析和总结。文章通过对数字电路中器件的 工作机制的介绍,引出亚稳态问题的发生机制。并通过对亚稳态问题发生机 制的探讨,用 以得到一种能够清楚地,有的放矢地解决亚稳态问题的能力。而这种能力,将会成为你作为 一个工程师的价值所在。希望通过这个探讨,可以使你设计 出属于自己的预防亚稳态的方 法。对于常用的预防亚稳态的方法,由于网上已经有大量介绍,并且涉及到具体问题的分析, 这里将不做重点介绍。2、CMOS中的信息保存MOS CapacjtancesFig. 1. MOS 管的电容模型当一个 MOS 工艺晶体管被制造之后,在不同

2、极之间,因为介电物质的存在,会形成电容。 当晶体管工作时,这些电容会被充/放电。当充放电回路上的 R,C 有不同取值的时候,回 路的时间常数(由RC表示)会不同。在数字电路中,最简单的结构是反向器(inverter)。在CMOS工艺中,它由一个NMOS加一 个PMOS组成。The CMOS hverftfFig. 2. 反向器对于这个反向器,可以简化成由工作电阻Ron,结点电容CL组成的充放电电路。u) L典“寂w幽Fig. 3. 反向器充放电模型十,宁丄X讪L H MRaftQ J* C B9 RcnCL当 Inverter 输入为 0 时, PMOS 导通,对 CL 充电,时间由 Rp*C

3、L 决定 当 Inverter 输入为 1 时, NMOS 导通,对 CL 放电,时间由 Rn*CL 决定 其中 CL 由 P/NMOS 的漏极结点上所有相关的电容组成,这是一种近似的计算方法(将分布 的电容进行集总)。CL=Cdb+Cgd(Miller 效应)+Cwire+Cg_fa nout从这里我们得到1,任何信号都需要时间才能从输入端口传递到输出端口。2, 对CL的充放电影响系统的动态(翻转)功耗,如果想降低功耗,可以对不使用的信号添加 使能。3, 由于 Rp != Rn,所以 Rp*CL != Rn*CL,所以 rising time != falling time对于分析亚稳态的问

4、题,只需要记住第一条,任何信号从输入端口传递到输出端口都需要一 定的时间。对于任何其他门电路,分析过程都一样。3、SETUP/HOLD 时间的意义S/H 时间是时序器件的属性。下面我们来说一下,这两个时间是如何产生的。任何器件“原 则”上都是电平有效的,边沿触发的器件是一种“把戏”。Fig. 4. D 锁存器 真值表: EDQ0 x PreQ100111时序表示(局部)Fig. 5. D 锁存器时序图当E维持在高电平的时候,D端在某一时刻,输入一个值DO。这个值从D端与非门进入, 在器件内会有一个延迟,再加上反馈回与非门一个输入端的信号与另一个输入端的信号可能 存在不一致,使得在整个D锁存器的

5、建立过程中,Q端输出的电压会存在一个“不稳定阶段”, 我们可以把它叫做Setup time,这个不稳定阶段的“长度”与上一节提到的器件传输时延, 和D端输入电平,Q端初始电平有关(假设E端电平始终不变)。注意,这个时间段的起始 位置在D开始有效的那一点上。因为D输入后,还要经过一个时间段,Q端才开始“震荡”。在时序电路中,我们经常用到的D触发器,就是通过诸如D锁存器一样的电平器件所组成 的。这里我们提供一个典型的由D锁存器所组成的上升沿有效的D触发器模型。Fig. 7.上升沿有效的D触发器(DFF)在D锁存器时序的基础上,分析一下D触发器的时序(局部)Fig. 8. 上升沿有效的 D 触发器的

6、时序图Fig. 8中的2/E1, 4/D1, 5/Q1/D2与D锁存器中的时序一模一样。从时钟端口 1上升沿开始,到窗口时间前面那一点结束,这段时间就是DFF的setup time。 从时钟端口 1上升沿开始,到窗口时间后面的那一点结束,这段时间就是DFF的hold time。 从时钟端口 1上升沿开始,到输出点Q稳定结束,这段时间就是DFF的clock to output时 间,可用 Tcko, Tco 表示。通常来讲,对于一个高速器件,这个时间窗口都会非常小。现在我们把时间窗口缩到正常比 例,并略去DFF内部时序,只关注D,Q,CLK,我们会得到下面这个图。.CLk一VDQPrevQ:DO

7、Fig. 9. 在时序仿真中,可能出现的实际时序图到这里,我们说一下“负hold time”。如果在纯时序器件前端加上一些组合逻辑,从而组合 成一个有一定功能的时序器件。那么因为前面这个组合逻辑会占用一部分传输时间,因此从 这个不纯的时序器件上看,采样窗口就会相对时钟上升沿提前,当采样窗口的尾部可以提前 到时钟上升沿之前的时候,就会出现负hold time(setup time永远在上升沿前面,永远是 正的)。这说明:不纯的时序器件内部的组合逻辑的传输时间”大于纯时序器件原来的hold time 的绝对值”。从这里,我们可以得到,(粉色的是key,但是不太理解)1,主从结构的时序器件的S/H时

8、间和其内部第一级锁存结构的setup time,以及其可能含 有的 Inverter 的传输时间有关。2,主从结构的时序期间的CKO时间和其内部第二级锁存结构的setup time,以及其可能含 有的 Inverter 的传输时间有关。3, 主从结构的时序器件的第一级锁存结构的setup time是影响其采样窗口的主要因素。数 据在这个采样窗口被捕获进触发器。4, 任何在采样窗口时间内的电平异常,都可能引起采样异常,这就是导致亚稳态的最根本 原因。4、亚稳态的产生如果说实际电路中的信号曲线像成年人一样复杂,那么时序仿真中的曲线就像小学生一样简 单,而逻辑仿真中的曲线简直就像婴儿一样可爱。然而优

9、秀的工程师的过人之处就是知道 “什么时候”“该用什么样的方法”去化简并分析问题。Fig. 10. 不同初始电平导致不同决断时间如Fig. 10,假设当DFF第一级的E关断时,D点的不同输入电平会“定格在那个值上(具 体真实情况,需要查看第一级器件内部结构),这个初始值会影响第一级锁存器的 setup time,或者说决断时间。因为如果这个初始值恰好在中间电平,那么第一层与非门的输出 端就会经过一个较长时间才能达到应有的电平高度,再加上互相反馈输入的联合影响,最后 整个锁存器的 setup time 都会被拉长。另外,由于系统随时都存在各种噪声,因此加上噪 声会导致最后的电平与输入逻辑无关。但由

10、于锁存器件有一种正反馈效应,因此初始信号越 清晰,输出信号会被越快的设置好,受噪声的影响越小。所以从概率上讲,决断时间不会无 限长。但是如果不加控制,这个不稳定的电平可能会对后面器件的电平设置带来不可预测的 后果。从这里我们可以看到: 1,采样窗口应该越小越好,这样会减少采样异常的可能性。但是由于系统时钟同样越来越 快,从而这个采样窗口所占时钟周期的比例,变化并不会非常大(数量级的变化)。 2,如果我们能保证采样窗口内的数据是绝对稳定的,那么就可以完全避免亚稳态。但这一 条在有异步电路,或者有跨时钟域的情况发生时,是很难完全保证的。3,亚稳态有两种危害, “输出较长时间的不稳定电平和“逻辑错误

11、。以上是在器件的角度分析为什么会产生亚稳态。下面我们再升高一个级别,到RTL级去看 看为什么会产生亚稳态。想象一下,在两个相邻的 DFF 中间,有一条很长很复杂的组合逻辑器件链条。因此从前一 级 DFF 出发的数据,需要经过很久很久才能在后一级 DFF 的输入端稳定下来。这个时间甚 至要接近时钟周期(如果时钟周期只比关键路径长一点,这种情况是很可能的)。那么这个 信号在采样窗口开始之后,才稳定下来,因此 DFF 第一级没有足够时间正确无误地设置电 平,从而导致亚稳态的出现。这种情况叫做设置时间违约(setup time violatio n)Fig. 11. Setup time violat

12、ion由于这种情况的发生是由于组合逻辑传输时间过长引起的,所以在设计时,只需要考察最长 的那些路径。下面来看另一种情况。如果在第一周期上升沿,从前一级触发器出发的DO到达了下一级(这 时时钟周期已经接近下一周期的上升沿了)。这时有一个在第二周期上升沿,从前一级触发 器出发的D1经过一个非常短的路径到达了下一级。如果这个传输时间小于hold time,那 么,在上一个DO还没有完全结束采样的时候,D1会过来破坏这个采样。因此产生hold time 违约(hold time violation)。由于这种情况的发生是由于组合逻辑传输时间过短引起的,所 以在设计时,只需要考察最短的那些路径。当我们清

13、楚了 S/H时间违约的原理后,就很容易想出预防的办法。对于setup time违约,这是ASIC时序分析中最主要问题。如果从最长路径上传过来的信号 到达的时间太晚,以至于错过了采样窗口,就会发生setup time违约。如何处理这种错误 显而易见,那就是让他更早的到达,或者说更早的在下一级输入端口稳定下来。如何才是更 早? 1,增加时钟周期的长度,但这意味着整体速度下降。因此一般不这么做。2,重新分配关键路径,将过长的路径中的一部分组合逻辑从路径中分离出来,放到相邻的 时序级里面,或者单独形成一级(CPU中的多级流水就是基于这种技术),使得每一级里面 的路径长度(其实是耗时长度)相差无几。但前

14、提是不破坏逻辑功能,和系统功能。 3,如果这些都做不到,那就只能从组合逻辑的结构上下手,调整结构。对于hold time违约,处理方法也很明显,那就是让他更晚的到达,或者说更晚的在下一级 输入端口稳定下来,来防止对上一个数据造成影响。增加传输时间总是比减少传输时间简单。 因此通常的做法是在传输路径上增加buffer,其实就是由两个反相器构成的器件,不影响逻 辑功能,只增加延迟。Buffer还有一个功能,就是当信号线过长的时候,其上的RC会增加, 因此为了保持接收端的信号完整性,比如增强输出端的驱动能力(供给电流的能力) ,如果 输出端的器件没有高驱动能力的版本(EDA公司提供的库中,很多器件都

15、有多种驱动能力的 版本),则可以通过增加buffer来分割长信号线,用以“分段驱动”。由于亚稳态的出现是一种概率现象,并且结果正确与否也是一种概率现象,因此为了便于估 算,提出了一种统计模型来预测亚稳态所造成的危害的程度,这就是平均无故障时 间”MTBF”。关于这个公式的推导,网上可以找到资料,这里忽略。记住一点,MTBF=1/失 效率。后面介绍为什么使用二级DFF的时候还会提到。其实对于相同时钟域内的时钟树来讲,在不同点也存在相位差别。但这种差别可以通过计算 时钟信号线的长度来进行预测,并可通过时钟域内的时钟树综合算法来求得优化的结构。因 此相对来讲,比较好解决。对于跨时钟域通信,异步同步通信来讲,情况变得相对复杂。跨时钟域也是一种异步同步通 信。两个时钟域内的时钟没有必然的频率关系和相位关系。造成这种情况的原因在于,在工 程上,对待同一个时钟域的分析就已经比较复杂,目前有一些方法来优化时钟树,但当引入 多个时钟的时候,如果进行联合分析,问题的复杂性会变得很大。因此工程上采用“各自独 立分析优化,在此基础上进行互相通信设计”。下面分析一下异步同步交界面,跨时钟域交 界面的亚稳态分析。6、同步异步交界面的亚稳态 想象一下,在一个同步异步交界面上,或者跨时钟域的交界面上,外部发来的数据的到达时 间,是很难与本地时钟产生什么必然的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号