数字电路中的时序问题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时钟网络的结构
时钟网络一般都包括一个网络用来把全局参照时钟分 布到芯片的各个部分,以及一个最后一级负责时钟的局 部分布并同时考虑局部负载的不同情况。大多数时钟分 布技术都利用这样一个事实,即从中央时钟源到时钟控 制元件的绝对延时并没有什么关系——只有在时钟控制 点之间的相对相位才是重要的,因此一个通常的时钟分 布方法是采用均衡的路径(称为树结构)。
图10.7显示的是 <0 情况下的时序图。这时,CLK2的上升 沿发生在CLK1的上升沿之前。R1在CLK1的上升沿处采样一个 新的输入。该新数据传播通过组合逻辑,并且在CLK2的上升沿 处(相应于边沿④)被R2采样。正如图(10.7)及公式(10.3)显示的 那样.负的时钟偏差对时序系统的性能有负面的影响。
In CLK
R1 D Q tCLK1
Combinational Logic
R2 D Q tCLK2
Combinational Logic
R3
D Q
•••
tCLK3
delay
delay (a) Positive skew R1 D Q tCLK1 delay
(b) Negative skew
In
Combinational Logic
ห้องสมุดไป่ตู้
有许多原因使这两条并行路径不能有完全相同的延时。 时钟不确定性的来源可以按几种方式来分类。首先,出错可以分为两 类:系统错误和随机错误。系统错误名义上在不同的芯片之间是完全一 样的并且是可以预见的(如每条时钟路径上的总负载电容不同)。从理论 上讲,只要有足够好的模型和模拟工具,这类错误可以在设计阶段进行 模拟并予以纠正。简言之,系统错误可以通过测试一组芯片发现,然后 通过调整设计来进行弥补。而随机错误是由于制造中的变化产生的,所 以很难模拟和消除。 时钟不一致(未对准)也可以分为静态的和时变的。例如,一个芯片上 的温度梯度会在毫秒大小的时间上发生变化。虽然一个经一次校准的时 钟网络易受由温度梯度变化引起的时变失配(时钟不一致)的影响。但热 的变化对于一个带宽为几兆赫兹的反馈电路来说却显得相当稳定。另一 个例子就是电源噪声。时钟网络是芯片上最大的信号网络,因此时钟驱 动器的同时翻转会在电源上引起噪声,但这一高速的影响并不会引起时 变失配,因为它对每个时钟周期都相同,并且以相同的方式影响每个时 钟上升沿。自然这一电源上的毛刺(glitch)如果在芯片各处不相同则仍然 会引起静态失配。图10.14则表示在时序电路中偏差与抖动对边沿触发系 统的影响。
异步设计的优点在于计算以逻辑块的本地速度进行,而且只要有了合法数 据,逻辑块就能随时进行计算。这一方法不需要解决时钟的偏差问题,且 是一种非常模块化的方法,即块与块之间的相互作用只是简单地通过一握 手过程来完成。但是,这些协议增加了电路的复杂性以及通信开销,而这 会影响性能。
2.同步设计
同步设计原理
2t jitter
偏差与抖动的来源
一个理想的时钟定义为同时触发 芯片上各种存储元件的周期性情 号。然而由于制造工艺和环境变 化的不同,时钟并不那么理想。 为了说明偏差和抖动的来源,考 虑一个简化的典型时钟产生和分 布网络.如图10.13所示。一个 高频时钟可以由片外提供,也可 以在片上产生。时钟从中心点出 发,利用多条匹配路径向低层的 时序元件分布。图中显示了两条 路径c时钟路径包括导线以及相 关的分布缓冲器、用以驱动互连 线和负载。
数字电路中的 时序问题
本章主要内容
时钟偏差和抖动对性能和功能的影响 其他时序方法 同步问题 时钟产生
引言
所有时序的共同特征:如果要使电路正确工作就必须严格 执行预先明确定义好的开关事件的顺序。 同步系统方法,即采用全局分布的周期性同步信号(即全局 时钟信号)使系统中所有存储单元同时更新。 电路的功能性是通过对时钟信号的产生以及它们在遍布整 个芯片的存储单元上的分布实行某些严格的限定来保证的, 违背这些限定常常会使功能出错。 时序方法分为两类:同步——时钟偏差(空间)和时间抖动(时间)
时钟抖动
时钟抖动是指在芯片的某一个给定点上时钟周期发生暂 时的变化,即时钟周期在每个不同的周期上可以缩短或 延长,是一个平均值为0 的随机变量。 绝对抖动( t jitter )是指在某一个给定位置处的一个时钟 边沿相对于理想的周期性参照时钟边沿在最坏情形下的 变化(绝对值) 周期至周期抖动( Tjitter )一般是指单个时钟周期相对于理 想的参照时钟的时变偏离 在一个给定的空间位置i,
最常用的时钟分布技术是H树网 络,如图10.19的一个4x 4处理器 阵列所示。首先把时钟连到芯片 的中心点,然后包括匹配的互连 线和缓冲器的均衡路径把参照时 钟分布到每一个叶子节点上。在 理想情况下,如果每一条路径绝 对均衡,那么时钟偏差就为零。 尽管一个信号也许需要多个时钟 周期才能从中心点传播到每个叶 子节点,但到达每个叶子节点处 的时间却是完全相同的。然而在 实际中,由于制造过程和环境的 变化会造成时钟发生偏差和抖动。
tlogic
寄存器的“污染”或最小延 tc 时(q ,cd )和最大传播延时 ( tcq ) 寄存器的建立时间( t su )和 维持时间( t hold )。 组合逻辑的污染延时(tlogic,cd ) 和最大延时( tlogic ): 时钟CLK1和CLK2 的上升 沿相对于全局参照时钟的位 置(分别CLK1和CLK2 )
时钟偏差
在一个IC上i和j之间的时钟偏差为 i , j ti t j 这里ti和tj是该时钟上 升沿相对于参照时钟的位置。考虑图10.5中在寄存器Rl和R2之间传 送数据。根据布线方向和时钟源的位置,时钟偏差可以有正有负。 图10.6显示的是正偏差情况下的时序图。如图所示,在第二个寄存 器处时钟上升沿延迟了一个正的 :
来源:
时钟信号的产生
器件制造中的偏差 互连偏差 环境变化 电容耦合
时钟分布技术
时钟偏差和抖动是数字电路中存在的主要问题,它们可能 从根本上限制了数字系统的性能。因此在设计时钟网络时必 须使这二者都最小。与此同时还应当密切注意与之相关的功 耗问题。因为在大多数高速数字处理器中,大部分功率消耗 在时钟网络中。为了降低功耗.时钟网络必须支持时钟管 理.即具有中断部分时钟网络的能力。可惜的是,时钟门控 选通会导致附加的时钟不确定性。 本节将概述高性能时钟分布技术的基本结构,并以Alpha 微处理器中的时钟分布作为例子。在时钟网络的设计中有许 多方面的自由度,包括导线材料的类型、基本的拓扑和层次、 导线和缓冲器的尺寸、上升和下降时间以及负载电容的划分, 等等。
>0---这相当于时钟布线的方向与数据通过流水线的方向一致[见图
<0---当时钟布线与数据的方向相反[见图10.8(b)],时钟偏差为负值
并显著提高了抗竞争的能力;如果维持时间是0或负值,竞争就可以 被消除,因此以上公式可以无条件成立!所以在与数据相反的方向 上布时钟线可以避免出错,但会降低电路的性能。
异步——不需要全局分布时钟故避免时钟的不确定性
1.数字系统的时序分类
信号根据它们与本地时钟的关系来分类: 只在预先决定的时间周期上发生翻转的信号相对于系统时钟 可分为同步的、中等同步的或近似同步的。 可以在任意时间发生翻转的信号称异步信号
同步互连
一个同步信号具有与本地时钟完全相同的频率并与该时钟保 持一个已知的固定相位差。
正时钟偏差和负时钟偏差的例子见图10.8 10.8(a).在这种情形下,时钟偏差应严格控制并满足公式(10.4)。如 果不能满足达一约束,那么无论什么样的时钟周期电路都会出错。 降低一个边沿触发电路的时钟频率并不能帮助解决时钟偏差问题! 所以在设计时必须满足对维持时间的约束。反之,正如公式(10.3) 所示,正偏差能够增加电路的数据通过量。即时钟周期可以缩短f, 但这一改进的范围是有限的,因为较大的f值很快就会导致违反公式 (10.4)
抖动直接影响时序系统的性能。图10.11显示的了一个名义时钟周期 以及周期的变化。在理想情况下,时钟周期起始于边沿2而结束于边 沿5,其名义时钟周期为Tclk。然而,最坏情况发生在当前时钟周期 的上升沿因抖动而延后(边沿3),而狭义个时钟周期的上升沿又因 抖动而提前(边沿4),结果,在最坏的情况下可用来完成操作的总 时间减少了 2 t jitter
时钟偏差是由时钟路径的静态不匹配以及时钟在负载上的差异造成 的。根据定义,各个周期的偏差是相同的。这就是说,如果在一个 周期CLK2落后于CLK1一个 ,那么在下一个周期它也将落后同一 数量。需要注意的是.时钟偏差并不造成时钟周期的变化,造成的 只是相位的偏移。
时钟偏差现象无论对时序系统的性能还是功能都有很大的影响。首 先,考虑时钟偏差对性能的影响。从图10.6中可以看到,由R1在边 沿①处采样的一个新输入将传播通过组合逻辑并被R2在边沿④处采 样。如果时钟偏差为正,那么信号由R1传播到R2的可用时间就增 加了一个时钟偏差值。组合逻辑的输出必须在CLK2上升沿(点④)的 一个建立时问之前有效。于是对这一最小时钟周期的约束就可以推 导如下:
CLK In R1 Cin Combinational Logic Cout R2
Out
中等同步互连
一个中等同步信号不仅与本地时钟具有同样的频率,而且相 对于该时钟具有未知的相位差
近似同步互连
一个近似同步信号是一个频率与本地时钟频率名义上相同但其真正频率 却稍有不同的信号。这会使相位差随时间漂移。当两个相互作用的模块 具有由各自的晶体振荡器产生的独立时钟时,就很容易发生这一现象。 由于被传送的信号可能以与本地时钟不同的速率到达接收模块,所以需 要运用缓冲技术以保证能接收到所有的数据,通常近似同步互连只发生 在包含长距离通信的分布系统中,这是因为芯片级甚至板级电路一般都
使用同一个振荡器来产生本地时钟。
异步互连
异步信号可以在任何时候随意变化,并且它们不服从任何本 地的时钟。因此,把这些随意的变化映射到一个同步的数据 流中并不容易。通过检测这些变化并将等待时间引入到与本 地时钟同步的数据流中就可以同步异步信号、然而,一个更 加自然地处理异步信号的方法就是去掉本地时钟并采用自定 时的异步设计方法。在这一方法中,模块之间的通信由握手 协议控制.它保证了正确的操作次序。
R2 D Q tCLK2 delay Combinational Logic
R3 D Q tCLK3 CLK
•••
遗憾的是,由于在一般的逻辑电路中数据可以在两个方向上 流动(如具有反馈的电路),所以这种消除竞争的方法并不 总能奏效,下图显示的是根据数据传送的方向时钟偏差值可 正可负。这种情况下,涉及者必须考虑最坏情况下的时钟偏 差。
在理想情况下,Tclk1=Tclk2,因此这一时序电路要求的最 小时钟周期仅取决于最坏情况的传播延时。周期必须足够长, 以便在时钟的下一个上升沿之前数据能够传播通过寄存器和 逻辑并在目标寄存器处建立起来(满足建立时间要求)。正如 在第7章中所见,这一约束由以下表达式给出: 与此同时,目标寄存器的维持时间必须小于通过逻想网络的 最小传播延时。 缺点:上述分析多少有点简单化.因为时钟水远也不会是理 想的。实际上不同的时钟事件既不是理想周期性的也不是完 全同步的。由于工艺和环境的变化,时钟信号同时会在空间 和时间上发生偏差,这会导致性能下降或电路出错
这一公式提示我们时钟偏差实际上具有改善电路性能的可能。也就是电 路可靠工作所要求的最小时钟周期随时钟偏差的增加而减小!这的确没错, 但可惜的是,增加偏差会使电路对竞争情况更加敏感,而这有可能危及 整个时序系统的正确工作 这一点可以用以下的例子来说明:再次假设输入In在CLK1的上升沿(即 边沿①)处被采样进入R1。R1输出端的新数据传播通过组合逻辑并且应 当在CLK2的边沿④之前有效。然而,如果组合逻辑块的最小延时很小, 那么R2的输入就有可能在时钟边沿②之前改变.导致求值出错。为了避 免竞争,我们必须保证通过寄存器和逻辑的最小传播延时足够长,以使 R2的输入在边沿②之后的一段维持时间内保持有效。这一约束可以用公 式表示成: