中国 PCB 技术网翻译整理 阿鸣
第八章 数字时序
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
通过前面几章节的介绍,我们已经掌握了对信号的传播过程进行建模和分析的所有要
点,并能初步预计由于非理想的高速现象而造成信号完整性变化及对时序影响的情况。但是,
仅仅了解这些还不足以去
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
一个数字系统,下一步要做的就是去协调整个系统,使各部分
单独的器件之间能够互相“对话”,其中包括对时钟或选通(Strobe)信号的时序调整,使得
数据信号在正确的时间内被锁存,从而满足接收器件所必需的建立和保持时间。
在这一章节里,我们描述了在共同时钟和源同步总线结构的系统中所必须满足的最基本
的时序方程。了解这个时序方程式之后,设计者才可以知道哪些时序器件会影响系统的性能,
继而制定设计目标,确定最大的总线速度,以及计算时序裕量等等。
8.1. 共同时钟时序
在共同时钟系统设计中,驱动端和接受端共用一个时钟信号。图 8.1 描述了一个共同时
钟前端总线结构,类似于 PC 系统设计(前端总线就是连接处理器和芯片组的介质)。这个
例子描述了处理器如何发送一位数据到芯片组,以及器件的 I/O 如何进行内部锁存操作的过
程。一个完整的数据传输需要经过两个时钟脉冲,第一个脉冲将数据锁存至驱动触发器,而
第二个脉冲将数据锁存至接收触发器。大致过程如下:
图 8.1: 共同时钟总线的结构简图
中国 PCB 技术网翻译整理 阿鸣
1.处理器的内核电路在驱动触发器的输入端提供必要的数据 (Dp).
2.系统时钟边沿 1 (clk in) 由时钟驱动器发送,沿着传输线传输到处理器,触发数据从
Dp到输出端 Qp。
3.信号 Qp传输到接受端 Dc,在时钟沿 2 的触发下被芯片组电路读取。
从以上数据读取操作次序的分析,我们可以得出一些最基本的结论----电路内部延迟和
传输线的延迟必须要小于一个时钟周期。因为每个信号的传输都要经历两个时钟沿触发:第
一个触发沿将数据从处理器内部发送到输出缓冲器(Qp),然后第二个时钟边沿将芯片组接受
端的数据锁存到内部电路。基于这点考虑,共同时钟总线能工作的最大频率存在一个理论上
的极限,也就是说必须保持电路和 PCB 走线总的延迟小于系统的时钟周期。在设计一个共
同时钟系统的时候,所有这些延迟,还有接受器件的建立和保持时间要参数都条件需要满足。
所谓建立和保持时间,就是为保证数据能正确存取,数据信号必须在时钟沿到达前后持续保
持在接收输入端的最短时间
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
。
8.1.1. 共同时钟时序方程
我们可以得出共同时钟总线的时序方程,图 8.2 中的箭头表征系统的各部分延迟,这些
参数代表的物理含义均已经在图 8.1 中标注。实心的线代表的是计算建立时间的“时序环”,
虚线代表的是计算保持时间的“时序环”。下面来介绍一下如何利用时序环来构造系统必须
满足的时序方程式。
图 8.2: 共同时钟总线的时序图表
系统各部分的延迟可以分为三组:Tco、飞行时间(Flight time)和时钟抖动(Jitter)。
中国 PCB 技术网翻译整理 阿鸣
Tco(time from clock to output)是指时钟触发开始到有效数据输出的那部分延时;飞行时间,
简写为 Tflt,是指传输线带来的信号延迟;时钟抖动,通常是指时钟的周期之间
(cycle-to-cycle)的时序误差,还可能指某段时间内的时序变化(Period jitter),这些都会造
成时钟触发边沿的偏移。在这里,我们所指的 Jitter 是包含了可能引起时钟信号本身时序变
化的所有因素。
建立时间
为了将数据信号正确地锁存至器件内部,就必须要使得信号提前于时钟边沿到达接收
端。接收器的建立时间就是指数据被时钟沿触发之前必须在输入端有效存在的时间。在共同
时钟系统中,由于第一个时钟发出数据,第二个时钟接收数据,这就意味着电路和传输线的
延迟要足够小,这样才能保证数据信号提前于时钟边沿到达接收端。为了保证这一点,设计
者必须决定数据和时钟信号之间的延迟,从而满足接收器的建立时间要求,如果不但满足了
接收器件的建立时间要求,还能有一定的时序富余,那多余的这部分时间就称之为“建立时
间裕量”。
图表 8.2 描述了数据信号和时钟信号在驱动端以及接收端的相互关联,可以注意时序该
图表中的实线箭头,每个箭头表示信号在各部分传输路径上不同的电路和传输线延迟。这些
实线箭头构成一个环,被称为“建立时序环”。这个环的左半部分表示第一个时钟边沿到数
据信号传输到接收端(Dc)的总的延时,而右半部分代表接收器的时钟信号总的延时。
为了得到建立时间方程,我们必须考虑时序环的左右两个部分。首先,我们来计算一下
第一个时钟触发沿开始到数据到达接收器输入端的总延时,
公式
小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载
如下(8.1):
公式(8.1)
这里,Tco clkB 是时钟驱动器的内部延迟,指边沿触发到输出有效数据的时间,即
clock-to-output delay;Tflt clkB是信号沿着 PCB 走线,从时钟驱动芯片到发送器件的传输延迟;
Tco data 是数据发送端的内部延迟;而 Tflt data 是数据信号从发送端到接收端的传输延迟。
然后,我们再计算一下接收器时钟信号的传输延时,同样以第一个时钟延触发的时刻为
基准。在图表 8.2 里面就是右半边的实线时序环,公式(8.2)为:
公式(8.2)
这里,Tcycle 是指时钟的周期;Tco clkA是时钟驱动器的内部延迟(clock-to-output delay);
Tflt clkA 是时钟信号从时钟驱动芯片到接收器件的传输延迟;而 Tjitter 是时钟周期间的抖动误
差,通常 Jitter 参数取负值,这样是为了考虑到最差情况下的时序裕量。
计算建立时序裕量的方法就是将公式 8.2 和公式 8.1 相减,然后将得到的结果和接收器
件的建立时间参数要求相比较,最终得到的数值就是建立时间的裕量(公式 8.3):
(公式 8.3)
在系统设计中,往往将公式 8.3 中的各个时序物理量分成电路延迟和 PCB 延迟两个部
分,这样可以进一步提高公式的实用性,将前面几个公式带入,如 8.4 到 8.7 所示:
(公式 8.4)
我们定义时钟驱动器的输出时钟偏移(Tclock Skew)为:
(公式 8.5)
中国 PCB 技术网翻译整理 阿鸣
这个参数通常可以在器件手册中查到。两个时钟信号之间由于 PCB 走线而引起的时序
偏移可以定义为 TPCB Skew:
(公式 8.6)
这样,我们就可以得到建立时序方程的一种最实用的形式(公式 8.7):
(公式 8.7)
一个共同时钟系统只有在满足建立时序裕量大于(至少等于)0 的条件下才能正常工作。
保证足够建立时间裕量的最简单的方法是延长接收端的时钟信号走线,缩短到驱动端的时钟
走线,或者缩短驱动端和接收端之间的数据信号走线长度。
保持时间
和建立时间的要求类似,数据信号要想正确无误地被锁存,还必须在输入缓冲端持续存
在一段时间,这样时钟沿才能有足够的时间触发存取。这段最少持续时间的要求就称为保持
时间。在共同时钟系统总线的设计中,同样需要计算所有的电路和传输线延迟来保证满足器
件保持时间的要求。但是,第二个时钟边沿在触发数据的读取的同时,也会让驱动端发送新
的数据信号,因此,就必须要保证这个新的数据到达接收器输入端之前,前一个数据已经被
有效锁存。也就是说,接收端的时钟信号延迟和器件需要的保持时间之和要小于数据信号的
传输延迟。
为了得到保持时间的时序方程,我们可以继续参考图表 8.2 所示,上面的虚线箭头同样
构成一个环状,可以称为“保持时间环”。根据上面所述,我们可以通过比较接收端的时钟
延迟和新数据的传输延迟来确定是否满足要求。这两部分的延迟可以由公式 8.8 得出:
(公式 8.8)
(公式 8.9)
注意到,在上面的公式 8.9 中,时钟周期和时钟抖动误差都没有包含在内,这是因为保
持时间并不依赖于时钟的周期,而时钟抖动这里定义为时钟周期之间的误差,既然时钟周期
和保持时间裕量计算无关,抖动误差自然也不用考虑。
这样就可以得到保持时间裕量的计算公式(公式 8.10):
(公式 8.10)
如果把前面的式 8.5 和 8.6 代入,就可以得到最常用的保持裕量的计算公式(8.11):
(8.11)
大拇指规则: 共同时钟总线设计
z 共同时钟技术通常适用于中等速度的总线设计,比如 200MHz~300MHz 以下的频率,
超过这个频率范围,就需要采用一些其它的技术,比如源同步时钟技术。
z 由于器件内部电路和 PCB 走线的延迟,这在理论上限制了共同时钟总线能工作的最大
频率,同样,在频率固定的情况下,就限制了最长的走线距离。
z 走线延迟最主要由走线长度决定,而走线长度常常受散热因素决定。随着总线速度的
提升,散热性能要求的增加迫使器件摆放的间隔增大,这在一定程度上也限制了共同
时钟系统的速度提升。
中国 PCB 技术网翻译整理 阿鸣
8.2. 源同步时序
源同步时序就是一种时钟或选通信号和数据同时从驱动芯片产生并同步传输的一种技
术。数据位信号首先到达接收端,过一段时间之后,数据的选通信号也到达,并触发数据的
存取。图 8.3 就是一个源同步总线的示意图:
图 8.3: 源同步总线数据和选通信号的相互关系
和共同时钟相比,源同步时钟系统有一些优点,最主要的好处就是能显著提升总线的最
大速度。因为选通信号和数据信号是从同样的驱动源发出,理论上没有最高运行频率的限制,
而不象共同时钟那样受到电路和传输线延迟的制约。当然,由于受到其它一些非理想因素的
影响,实际的源同步总线设计还是存在一定的频率极限。要时刻记着,即便是源同步时钟系
统,器件的建立时间和保持时间的要求仍然必须满足,这样才能保证系统的正常工作。举个
例子,假设数据信号提前于选通信号 1 纳秒从驱动缓冲端发出,而接收芯片要求的建立时间
是 0.5 纳秒,那么只要数据信号在 PCB 走线上的延时不落后于选通信号 0.5 纳秒之外,数据
信号就能够被正常读取。因此,源同步总线的设计最主要取决于数据信号及选通信号(也就
是源同步时钟)传输延迟之间的差异。影响这个差异的因素很多,比如同步开关噪声、走线
长度、传输线阻抗、信号完整性、缓冲器特性等等。
图 8.4 是一个典型的源同步总线功能模块示意图,详细描述了源同步时序的传输路径,
可以注意到,选通信号被用作接收端的边沿时钟触发。驱动芯片的数据和选通信号由内部电
路提供,总线时钟(bus clock)由锁相环电路(PLL)产生,通常是系统时钟的倍数。 这个系
统要能正常工作,就必须控制数据信号和选通信号的时序关系,满足一定的建立和保持时间
要求,也就是说选通信号要比数据信号延迟一定的时间。为了实现这个延迟,可以采用多种
方法。比如,有一种方法就是在第一个总线时钟脉冲时发送数据信号,而在第二个脉冲发送
选通信号,这就产生了一个时钟周期的延时;还可以在时钟的上升沿发送数据信号,在下降
沿发送选通信号,这就保证了半个时钟周期的延时;更普遍的方法是利用延迟单元电路来实
现这个目的,这样可以根据设计者的目的,让这个延时电路实现数据和选通信号之间的时序
中国 PCB 技术网翻译整理 阿鸣
偏移量,图 8.4 中就是采用的这种方法。
Figure 8.4: 源同步总线功能模块示意图
理想的数据和选通信号之间的延时需要根据不同的电路设计来确定。一般对于占空比为
50%的数据信号传输来说,理想的偏移量是 90 度相位,图 8.5 描述了一个典型的源同步总
线中数据和选通信号的相互关系。
Figure 8.5: 源同步总线中数据的建立和保持时间
中国 PCB 技术网翻译整理 阿鸣
8.2.1. 源同步时序方程
推导源同步总线的时序方程,首先就是计算数据和选通信号的传输延迟之间的差异。图
8.6 是一个简单描述源同步总线的建立时序图表,在这个特殊的例子中,每个数据传输需要
经过两个时钟脉冲,第一个脉冲发送数据信号,而第二个脉冲发送选通信号。和前面共同时
序分析一样,接收器件的建立时间裕量和保持时间裕量都必须大于等于 0 才能让系统正常工
作。
图 8.6: 源同步时钟总线的建立时序
建立时间
为了确定最终的时序方程,首先计算数据和选通信号的延时:
(公式 8.12)
(公式 8.13)
这里 Tdelay是数据信号和选通信号之间的发送延时。将公式 8.13 减去 8.12 再和接收器件
需要的建立时间要求相比就得出建立时间裕量的计算公式(8.14):
(公式 8.14)
式中 Tco strobe 是选通信号驱动芯片的时钟到输出延迟;Tflt strobe 是选通信号从驱动端到
接收端的传输延迟;Tco data 是数据信号驱动芯片的时钟到输出延迟;Tflt data 是数据信号的
PCB 传输延迟;Tdelay 则是数据信号和选通信号被发送的延迟设定,在这个例子里这个延迟
假设为一个时钟周期(图 8.6)。如果我们再做一些特殊的定义,这个时序方程可以进一步被
中国 PCB 技术网翻译整理 阿鸣
简化:
(公式 8.15)
(公式 8.16)
Tvb, 即 “valid before”, 指的是在选通信号发送之前,数据信号已经有效存在的时间。
TPCB skew 是数据信号和选通信号的飞行时间之间的时序偏移。注意:这个时序偏移实际上包
含了驱动芯片内部输出管脚到接收芯片内部接收管脚之间的所有延迟,包括封装、接插件以
及其它所有可能引起一定延迟的参数,而不能被定义名所误导,认为单纯是 PCB 走线引起
的延时偏移。简化后的建立时间裕量公式为(8.17):
(公式 8.17)
这里,Tvb 是负值,这是因为标准的计算数据和选通信号的时序偏移是用数据信号达到
时间减去选通信号到达时间,而一般来说,数据信号需要提前达到接收端,所以它们的时间
相位差是负的。
保持时间
计算保持时间的方法和建立时间的计算基本类似,只是需要比较的延时是选通信号和下
一个传输的数据信号。计算的公式如下(8.18):
(公式 8.18)
保持时间的示意图表可以参见图 8.7,同样将公式 8.19 和 8.16 的定义代入即可得到简化
的计算公式。
(8.19)
简化的保持时间裕量计算公式(8.20):
(8.20)
Tva 就是“valid after” ,是指选通信号发送之后,数据信号依然有效持续的时间。
中国 PCB 技术网翻译整理 阿鸣
Figure 8.7: 源同步时钟总线的保持时序
和前面强调的一样,这里的 TPCB Skew包含了所有可能引起时序偏移的因素。
8.2.2. 利用眼图分析源同步时序方程
一种简单实用的图形化分析时序的方法称之为“眼图”,图 8.8 是一个理想的接收端数
据及选通信号的眼图,很容易可以看出,Tva和 Tvb 就是传输延时、保持/建立时间以及时序
裕量的总和。这样也可以得到另外一种排列形式的时序公式(公式 8.21 和公式 8.23),可以
让大家深入了解源同步系统的本质。这两个利用眼图得到的时序公式和利用时序图表得出的
Figure 8.8: 利用眼图计算源同步总线的时序方程
公式是等同的,经过排列转化,都可以得到最终的建立/保持裕量的计算公式(式 8.22 和
8.24)。唯一有所区别的是公式 8.24 中 Tvb 的和公式 8.17 中符号不同,之所以这里取相反的
值(为正数值),是为了在眼图中能更为方便地表述,其表征的涵义都是统一的。
中国 PCB 技术网翻译整理 阿鸣
(8.21)
(8.22)
(8.23)
(8.24)
大拇指规则: 源同步总线时序
z 理论上没有最高总线速度限制。
z 总线的速度受数据信号与选通信号之间的延时影响。
z 一些非理想的因素会产生意外的时序偏移,从而在一定程度上限制源同步总线的速
度。
z 飞行时间不会影响源同步时钟信号的传输。
z 选通信号和数据信号采用同样方式走线较为有利,将最大程度上减小彼此之间的时
序偏移。
特别要注意:本书里提到的各种因素都会对信号的延时或者时序偏移产生影响,比如
SSN(同步开关噪声)、非理想回流路径、阻抗不连续、ISI(Inter-Symbol Interference)、连接
器、封装以及其它各种各样的非理想的情况。这些在进行模拟分析的时候都必须要考虑到。
8.2.3. 可选择的源同步设计方案
可供选择的源同步系统设计方案有好几种,这些技术大多数是利用加倍系统时钟的方法
来达到提升总线时钟的目的。图 8.9 就是其中一种设计方案,它数据总线的触发时钟是系统
时钟的两倍,还利用了双选通信号的技术。具体的表现为:数据信号由系统时钟的上升沿发
送,而利用下降沿发送选通信号,而选通信号是双重的(差分形式),就依次利用 STB (选
通信号) 和 STB_N (反相选通信号) 的上升沿来进行数据的读取。也就是说,第一个数据由
STB 的上升沿触发读取,而第二个数据就由 STB_N 的上升沿读取,时序的计算方法同样可
以利用 8.2.1 小节中的源同步时序方程,这里不作推导。
中国 PCB 技术网翻译整理 阿鸣
Figure 8.9:一种可选的源同步总线设计方案
8.3. 可选的总线数据传输技术
随着速度的不断提高,源同步时序系统的实现也变得越来越困难,尤其是在时序延迟的
控制上面。诸如同步开关噪声、非理想回路、码间干扰(ISI)、串扰等非理想效应都会显著
地影响时序,此外,每经过一个插槽或连接器,都会增加一个不确定的变化因素。前面提到
过,只有保证数据信号和选通信号的传输路径完全一样(至少基本一致),才能保证时序和
信号完整性上受到的干扰最小。而普通的源同步技术面临的一个问题就是:当数据信号提前
一段时间(大概几百 ps 到几 ns)发送,这段时间内,内部电路、电源系统以及系统内其它
部分产生的噪声都可能耦合到选通信号,从而影响了它的信号质量,导致和数据之间的延时
发生较大变化。于是人们不断研究新的总线技术,就是为了最大程度上减少不确定的信号时
序偏移问题,下面就介绍两种可供选择的技术方案。
8.3.1. 附带发生式时钟
这种附带发生式时钟技术(incident clocking),就是让数据信号和选通信号同时产生发
送,而不象普通的源同步系统中,源同步时钟需要延迟一段时间。这样做的目的就是使得数
据和选通信号处于相同的噪声干扰环境,即便受到的干扰较为严重,在时序和信号完整性上
的偏移是同相位的,这样就可以在一定程度上缩小数据和选通信号之间传输延时,从而提高
总线能承载的最高频率。 但是,接下来的问题是:数据和选通信号同时发送,如何保证接
收端足够的建立和保持时间?很显然,解决方法就是在接收芯片内部增加一个内部延时模
块,同样可以保证正确的时序。也许,从表面看来,这样的做法可能和使用这样技术本身的
中国 PCB 技术网翻译整理 阿鸣
目的并不相符合,因为接收器件的电路噪声同样会影响选通信号的质量,但是,从理论上分
析,在传统的源同步结构设计中,接收芯片产生的电路干扰,要远远小于驱动芯片产生的噪
声。
8.3.2. 嵌入式时钟
另外一种比较有前途的源同步时钟技术被称为嵌入式时钟(embedded clocking),这种
技术是将源同步时钟信号内含在数据信号中传输,有点类似于通信技术中的信道借用策略,
可以不用单独的选通信号,而通过 PLL 器件,利用数据信号本身来构造时钟信号。但是由
于 PLL 构建一个时钟信号必须要变化足够快的数据输入信号,为了获取足够的数据信号,
通常存在一定的额外的间接数据(Overhead)。举个例子,如果数据传输中长时间都是“0”
信号,根据运算法则就需要发出周期性的“1”来保证驱动端和接收端的 PLL 保持相同相位。
尽管这个技术看起来前景不错,但根据计算,需要大概 20%的,也就是说,每传输 8 位的
数据,就同时传输了 2 个时钟信号。