账号:
密码:
最新动态
 
产业快讯
CTIMES / 文章 /
Data Bus之Timing设计探微
 

【作者: 高士】2005年02月01日 星期二

浏览人次:【9997】

最近几年由于CPU的计算速度增加,计算机系统大多以数十MHz的Clock频率动作,加上数据传输速度不断提升布线的高密度化,使得印刷电路板上的信号传输频率(Timing)重要性逐渐受到重视,因此本文要介绍印刷电路板的导线Timing计算方法,以及Timing的分配技巧。


Timing设计主要目的分别如下:


  • (1)调整系统内部各组件,使各组件能够相互正确传输数据。


  • (2)决定Clock与Strobe的Timing,藉此避免接收器内部组件不会违反Set Up时间与Hold时间。


  • (3)根据系统内各部位的需求,合理分配Timing。



如上所述,利用印刷电路板进行精确、高速化信号传输越来越困难,脚架之间单纯使用导线连接的设计,对高速信号而言显然不够完善,因此设计者必需将驱动器送出信号的Timing,与接收器抓取信号的Timing一并列入考虑,尤其是连接各组件的布线Layout方式,往往决定数据传输的精确性,因为正确的布线Layout不但可以获得低噪讯、低Overshot效果,同时还可以确保Timing的约束,并有效抑制噪讯辐射量。


Timing的基本设计

有关印刷电路板上的信号传输Timing规定,基本上它与LSI内部的信号传输Timing规定完全相同。如(图1)(a)所示,LSI内部数据从Flip Flop FF1传送到Flip Flop FF2时,FF1-FF2之间组合理论电路与延迟时间,必需符合FF2的站立维持(Hold)时间的约束。例如「LSI的Clock频率为200MHz」时,利用复数cycle传输数据的路径除外,所有Flip Flop之间的传输数据通常都超过200MHz,也就是说即使最慢的Flip Flop之间的数据传输时间,也必需低于「从5ns减掉FF2站立时间之后的值」。


事实上印刷电路板的设计与数据传输完全相同,因为在驱动器与接收器LSI内部都有所谓的Flip Flop,而Timing取决于该Flip Flop之间的数据传输。


如图1(b)所示遵循从驱动器LSI Flip Flop FF1输出的信号,到达接收器LSI Flip Flop FF2的站立时间与hold时间约束,乃是设计数据传输Timing最终追求目标。


《图一 以Clock为基准的数据传输方法》
《图一 以Clock为基准的数据传输方法》

(表一)是LSI内部的Timing设计,与印刷电路板上LSI之间的Timing设计比较。由表可知两者最大差异是使用何物决定延迟时间,因为两个Flip Flop FF1与FF2之间的延迟时间,在LSI的布线主要是利用结合理论电路的段数,以及理论电路之间的导线阻抗与容量,藉此方式再由RC延迟决定;相较之下印刷电路板则是以基板上的导线延迟时间与缓冲器的延迟时间决定。


因此Timing的设计重点,在LSI是以「如何减少结合理论电路的段数」为主;在印刷电路板则是「如何以适当的导线长度连接各组件」为主,也就是说后者是以基板上的组件分布与导线Layout为前提,使FF1与FF2之间的驱动器、缓冲器、接收器等传输延迟时间,符合FF2的Set Up时间与Hold时间限制。


有关延迟的表示方式,在LSI内部主要使用由阻抗与容量构成的具有损失的模式(model);在印刷电路板大多使用电感(inductance)与容量构成的无损失的模式。随着LSI制作技术的微细化,虽然LSI内部导线延迟仍扮演支配性角色,不过它与忽视阻抗,计算印刷电路板上导线延迟时常用的模式截然不同。(图二)是LSI与印刷电路板的布线模式比较。


表一 LSI与PCB的timing设计差异比较
  LSI内部 PCB
驱动器 FF1 驱动LSI(FF)
决定延迟的主要原因

FF之间的组合电路与布线延迟时间

LSI之间的信号传输延迟时间
接收器 FF2 接收器LSI(FF)
Clock源

LSIClock产生器PLL等等)

基板上的Clock产生器
延迟模式 RC延迟 LC延迟


《图二 LSI与印刷电路板的布线模式比较》
《图二 LSI与印刷电路板的布线模式比较》

Timing设计常用变量简介

接着介绍有关Timing设计时,常用变量名称的内涵与定义。


  • ˙tac:访问时间(access time)。它是指Clock信号输入到驱动器的Clock端子后,一直到最迟有效数据开始输出的时间。不过它并不保证Clock信号输入后tac之前,有效数据会输入至数据端子。


  • ˙toh:数据输出维持时间。数据输出维持时间所谓最快也是从Clock被输入到驱动器的脚架(pin),一直到toh之后才会输出有效数据,也就是说在toh之前虽然有效数据被输入到数据端子,不过之后数值可能发生变化。此处定义toh的基准与 tac的Clock是指下一个Clock Edge而言。


  • ˙tsu:Set Up时间。接收器为正确抓取数据,数据输入端子的Clock站立端缘必需在tsu之前就已经被确定。


  • ˙tho:Hold时间。接收器为正确抓取数据,数据必需维持到比数据输入端子的Clock站立尾端(edge)更后方的tsu为止。


  • ˙tpd:数据传输延迟时间。数据从驱动器传输到接收器必要的时间。



根据以上定义,如(图三)所示,被tac与toh夹持时间,是指驱动器LSI输出数据时间,亦即接收器LSI为正确抓取该有效数据,因此输入数据会将tho与tho覆盖。


《图三 tac与toh规范有效数据的输出Timing》
《图三 tac与toh规范有效数据的输出Timing》

虽然在接收器的Timing规范中,分别设有Set Up时间与Hold时间等规定,不过令人好奇的是,若不遵循上述规定时会有怎样的影响?有关这点如(图四)所示,所谓的Flip Flop的Set Up时间,是假设将Clockψ的Clock站立端缘定义为基准,依此一旦确定“H”与“L”已经遵循Set Up时间与Hold时间的话,便可因正归返(return)维持上述两值,也就是说包含在Flip Flop内的正归返电路,会将信号增幅同时再将D与Q成为“H”与“L”。


相反的,如果不遵循上述Set Up时间的话,由于正归返的初期值一直到维持数据确定为止的时间会发生变化,某些情况即使想要抓取“H”的数据,有可能因为极微少的噪讯重迭变成“L”,这种现象称为「meta stable」,其是数值即使未反相的场合,数值完全确定为止的时间如果发生相异时,有可能会影响数据传送到下一个Flip Flop的Timing,进而造成误动作等后果。


《图四 未遵照Set Up时间与hold时间引发亚稳(metastable)状态》
《图四 未遵照Set Up时间与hold时间引发亚稳(metastable)状态》

(图五)是将数据从FF1传送到FF2时Timing关系单纯化的结果,由图可知Clock信号一旦输入到FF1,数据立即被输出到Clock信号的站立尾端,一直到访问时间(access time)tac之后为止,根据以上定义所谓「有效数据输出时段」,事实上是指从tac一直到利用下一个Clock信号站立端缘定义的数据输出维持时间toh而言。


由于数据从FF1传送到FF2时间一定,所以可以将该数据有效期间视为固定维持现状,因此从FF1到FF2之间的导线传输延迟时间tpd,实际上是经过延迟后才到达FF2。此处FF2为正确抓取数据,数据有效期间必需将Clock端缘规定的Set Up时间tsu与维持(hold)时间tho完全覆盖。如(图五)下方第二段所示,传输延迟时间tpd过大时,由于无法满足FF2的Set Up时间,所以不能顺利抓取数据;此外如图五下方最末段所示,传输延迟时间tpd过短时,相反的无法满足维持时间约束,因此同样不能顺利抓取数据。


《图五 单纯化之后的数据传输时序》
《图五 单纯化之后的数据传输时序》

两种Clock分配方式与Timing的设计技巧

面对同步系统的Timing,通常会针对基准信号做某种规范,一般而言Clock往往会成为基准信号,因此Clock分配方式与信号波形就顺理成章成为设计上非常重要的课题之一。


印刷电路板数据传输常用的Clock信号分配方式,分别有Common Clock与Source Synchronous两种,因此接着本文要以Common Clock与Source Synchronous设计实例,探讨Timing的设计技巧。


有关Common Clock方式的Timing规定

(图六)是利用Common Clock方式构成的数据传输系统,此处要探讨数据从LSI1传输到LSI2的动作特性。假设从LSI1到LSI2的Clock分配,是根据印刷电路上的Clock信号产生器CPG,再透过时计缓冲器(Clock Buffer)执行。


《图六 利用Common Clock方式传输数据》
《图六 利用Common Clock方式传输数据》

驱动端的Timing

(图七)是驱动端的Time Chart,横轴为时间越往右侧表示时间越迟缓,在波形横向侧边的A1、B1、C1、D1、E1,分别与图六中的各位置相对应,它是以A点波形为基准,表示各点观测获得的波形行进与延迟特性。


图六中的点A到达时计缓冲器的时计信号,输入到点B1只迟缓缓冲器的延迟时间tbuf_clk1 ;点B1的信号抵达驱动器LSI1的Clock信号输入端子C1时,只迟缓印刷电路板上导线的延迟时间tpd_clk1,亦即Clock抵达LSI1的实际Timing。此处若以该Timing为基准,则LSI1只会在tac_data与toh_data定义期间输出有效数据,而输出的数据在LSI1与LSI2之间的延迟时间tpd_data之后才会到达点E1。


《图七 Common Clock方式的驱动器数据输出Timing》
《图七 Common Clock方式的驱动器数据输出Timing》

接收端的Timing

(图八)是LSI2输入数据的Timing。由图可知点A抵达时计缓冲器(clock buffer)的Clock信号输出到B2时,只迟缓缓冲器LSI的延迟时间tbuf_clk2,抵达LSI2的Clock信号输入端子C2时,只迟缓印刷电路板上导线的延迟时间tpd_clk2,亦即Clock抵达LSI2的实际Timing。此处若以该Timing为基准,就可以定义Set Up时间tsu与维持时间(hold time)tho。LSI2为抓取数据因此在到达E1的数据有效期间内,只要将Set Up时间与维持时间覆盖即可。依此分别精确描绘输出与输入两者的Time Chart,再将两图堆栈使点A的基准时计一致,便可以知道数据是否能够顺利传送。


《图八 Common Clock方式的驱动器数据输出Timing》
《图八 Common Clock方式的驱动器数据输出Timing》

如何计算Common Clock方式的Timing

此处假设以点A的Clock站立Edge为基准,抵达LSI2的有效数据两端的时刻tE1_min与tE1_max可用下式表示:



《公式一》
《公式一》

此外到达接收器LSI2的Clock信号站立尾端,以点相同的站立端缘为基准,进而成为的下一个时段:



《公式二》
《公式二》

因此Set Up界限(margin)可用下式表示:



《公式三》
《公式三》

根据同样的计算方式,Hold端的界限(margin)可用下式表示:



《公式四》
《公式四》

式中的tbuf_skew是指时计缓冲器脚架之间的输出时间差,它是用下式定义:



《公式五》
《公式五》

式中的tpd_clk_skew是指导线Layout造成的时计信号传输延迟时间差,它可用下式定义:


《公式六》
《公式六》

导线长度决定数据传输频率的上限值

根据公式(4)可知Common Clock方式,LSI之间的导线传输时间tpd越大,Set Up界限则相对降低;相形之下根据公式(5)可知,LSI之间的导线传输延迟时间tpd越大,维持界限(Hold Margin)则随着增加,尤其是信号的传输周期tcycle较小的高速信号传输,为遵循Set Up时间的约束,因此必需降低tpd_data、tpd_clk_skew、tsu、tbuf_skew。


由于本文设计实例使用的tac、tsu、tbuf_skew是利用LSI决定,这意味着低变量(parameter)LSI对高频系统比较有利。此外有关基板设计者可以改善的项目,主要是以传输延迟时间tpd_data为主。具体方法是尽量降低导线长度,藉此降低传输延迟时间tpd_data,或是刻意使分配到驱动器以及利用接收器的Clock导线长度产生差异(tpd_clk_skew)藉此调整Timing,这种理方法论上也能够改善Set Up时间,不过类似内存的数据导线,可作双向数据传输的场合,根本上无法大幅改变驱动器与接收器的Clock Timing,因此本质上并没有解决对策。


由于LSI之间的传输延迟时间tpd_data取决于LSI之间的距离,所以利用Layout技巧,使Clock信号的传输延迟时间差变成0,以物理层面而言并无法无限制减少,这意味着Common Clock方式,由于LSI之间的传输延迟问题,最大传送频率会受到一定的限制,尤其是高传输频率低传输周期tcycle的情况,驱动器与接收器之间的距离会变得非常小。一般印刷电路基板基于组件设置方式与导线长度等实际考虑,因此Common Clock方式的Clock频率上限值,通常都被限制在200~300MHz范围内。


Jitter只会压迫Set Up时间

如上所述,绘制Time Chart可以快速有效求得计算Timing,因此此处依样画芦绘制Time Chart,藉此检讨Clock Jitter对Timing的影响。


(图九)是Clock含有抖动(Jitter)的Time Chart。所谓「Jitter」是因为热或是电源电压变化,以及噪讯(noise)的影响,造成传输数据(矩形波)的duty随着cycle发生变化,并且从正常迁移位置作时间性前后移动。


此处针对Clock含有Jitter,探讨站立尾端(时段的基准)对站立时间快慢的影响。变化后的尾缘如图九的点B2与点C2所示,它的影响波及接收器的时计(clock),并且使数据的输入Timing产生与点A相同的变化,在此同时驱动器被分配到相同的Clock,其结果是利用变动中的尾缘定义的Timing,只将输出维持时间作位置变动。属于Clock输入的点C2的Timing变化,与点E的Timing变化,为了要使相同Clock复原势必变成相同方向,结果是维持界限(hold margin)即使有Jitter也不会发生改变,而Set Up界限(margin)只会对抓取Clock作变化。


《图九 利用Clock Jitter的Timing变化》
《图九 利用Clock Jitter的Timing变化》

有关Source Synchronous方式的Timing规定

利用Strobe信号解决Common Clock方式的缺点

(图十)是以Source Synchronous Clock做基准信号,进行Source Synchronous方式数据传输的方块图。它是利用驱动器LSI1的时计脉冲(clock pulse)产生器CPG输出数据,在此同时则送出可以抓取数据的Timing基准信号(该基准信号又称为Strobe信号),接着再配合数据的有效时间中段,达成数据同步传输的目的。由图可知在Source Synchronous方式,数据从LSI1传送到LSI2时是根据Strobe作规范,而不是使用可以使LSI2抓取数据的Timing,与基板上所有LSI都能够同时抵达的Clock做约束。


《图十 利用Source同步传输数据的方块图》
《图十 利用Source同步传输数据的方块图》

上节介绍的Common Clock方式,驱动器与接收器LSI两者距离越大,数据信号的延迟会随着增加,因此成为抓取数据的基准,亦即Clock Timing是否常时送出一定的Clock,反而变成争论的焦点问题。相形之下Source Synchronous方式,可以透过巧妙的设计使成为抓取数据的基准,亦即Strobe信号具备相同的延迟,如此一来便可以化解LSI之间距离造成的限制。


如何计算Source Synchronous方式的Timing

(图十一)是利用Source Synchronous方式传输数据的Time Chart。由图可知Set Up界限(margin)可用下式表示:


@内文式中的tC1_min是指抵达接收器LSI2的有效数据左侧的时段。此外tvb与tpd_skew分别用下式表示:


《图十一 Source Synchronous方式的驱动器数据输出Timing》
《图十一 Source Synchronous方式的驱动器数据输出Timing》

(图十二)主要是解释tvb的动作特性。相较于Strobe信号的站立端缘,tvb可以表示数据从多久之前开始变成有效数据,外观上tvb的计算式很容易被误认为Set Up界限(margin)常时呈负的状态,然而实际上tvb本身就是负值,所以界限反而成正的值。tpd_skew主要是表示数据信号与Strobe信号的传输延迟时间差。


维持界限(hold margin)thd_mgn可用下式表示:


式中的tva是指strobe信号的站立尾端缘之,有多少的时间数据是有效持续。


《图十二 数据信号与Strobe信号的关系》
《图十二 数据信号与Strobe信号的关系》

数据传输频率的上限不受导线长度影响

以上介绍的公式(6)与公式(7)两者都不含导线的延迟时间,这意味着Source Synchronous方式的数据传输频率的上限与Common Clock方式不同,它不会受到导线长度影响。由于数据传输频率的上限取决于数据与Strobe信号的偏协(skew),因此Source Synchronous方式比较适合长导线高频率的应用。


Common Clock方式与Source Synchronous方式两者,许多情况都使用共通的时计(clock),由于Strobe信号与Clock信号并非异步。为了要充分应用抓入chip内部的数据,所以必需使数据同步化,基于此需求所以一般都会设置FIFO缓冲器(buffer)。


有关Timing预算的分配

Timing预算的重要性

到目前为止都是以LSI依照理想条件动作为前提,探讨是否可以顺利抓取数据。然而实际设计却必需考虑即使有噪讯等各种因素,发生包含Timing变动在内的变化也能够常时传送数据,例如根据各LSI之间的AC Timing规格,使用非常接近传输时间上限容许值的长导线的话,除了会造成电源变动与Crosstalk变大延迟时间增加之外,特定pattern甚至有可能无法传输数据。因此设计上必需针对设计对象,充分检讨Timing的分配。


何谓Timing预算

(图十三)是Timing预算概念图,基本上它是以数据有效时间,与Clock等数据抓取为主要考虑,探讨有关基准信号的动作特性。例如使用Data Bus等复数导线进行数据传输时,由于导线之间的偏斜时间tpd_skew造成数据有效时间减少,因此所有导线输出有效数据的时间,反而是最早抵达接收器的导线,与最晚抵达接收器的导线两者形成的共通部份,因此若将它当作新的有效数据时间的话,如图十三的A、B、C、D所示,由于偏斜(skew)与噪讯(noise)的影响,将导致效时间逐渐减少。


图十三的A是指Clock的Jitter造成的界限(margin)减少,如上节介绍的图九 Common Clock系统,由于Clock Jitter,会造成Set UP端的界限降低;B是指Crosstalk;C是指电源电压变动;D是指符号(symbol)之间的干涉造成界限降低,整体而言A、B、C、D都会随着Set UP时间与Hold时间逐渐降低。


由于导线长度经常造成基准信号的输出数据无法进入有效时间的中央部位,加上噪讯的影响,使得基准信号有可能不是Set UP端与Hold端的动作对象,因此除了透过导线长度优化设计之外,还必需针对造成Timing变动的原因,依照Timing规范的目标值设法使最后界限变成正。


《图十三 造成Symbol界限减少的原因》
《图十三 造成Symbol界限减少的原因》

Timing预算的分配实例

(表二)将图13具体数值化的结果。类似Data Bus等必需作双向甚至是多向数据传输的场合,建议读者最好根据彼此的传输方向制作类似表2的检讨表。


表2的描述方式是依照各端子对应的有效数据输出时间为主,因此去除各项目的Timing变动成份,表中附有「*」符号的项目,例如Set Up时间与Hold时间基本上是由LSI决定。由于类似DRAM等泛用LSI的data sheet,大都会详细记载计算Timing时必要的数据,使用上相当方便。


此外Clock的Jitter同样是由Clock LSI决定,不过必需注意的是产生Clock的LSI电源电压如果变动的话,Jitter也会随着增加,因此建议读者设法降低界限。


表二 Timing预算分配例
符号 分配项目 数值列【ns】
-- 数据有效时间 4.8
-- 传输延迟时间歪斜 -0.5
A Clock的Jitter -0.2
-- Set UP/Hold时间 -2.3
B 导线之间的crosstalk噪讯 -0.6
C 电源变动 -0.5
D Symbol之间的干涉 -0.3
-- Set UP+Hold +0.4

导线的传输延迟时间最大值与最小值的差异(skew),可以透过基板上电子组件设置,与LSI接线顺序的布置(layout)作改变,尤其是传输线路必需充分考虑信号的over shoot、under shoot以及波形的段落,并利用计算机仿真分析依序改变导线的topology,与分岐的位置以及长度,藉此方式尽可能事先正确估算导线的传输延迟时间。


由于基板上布满各种导线,所以信号传输导线常时受到邻近电源或是接地层的影响,为提高估算高速信号传输系统Timing的精度,笔者建议进行计算机仿真分析时,应该将复数电路整合以及电源电压一并列入考虑。


结语

以上介绍Data Bus的Timing设计技巧。如上所述由于CPU的计算速度增加,计算机系统的Clock频率动作也随着大幅提高,加上数据传输速度不断提升、布线的高密度化,一般认为未来印刷电路板上的信号传输Timing重要性,势必更受到设计者的重视。


延 伸 阅 读
设计过程中最重要的一步是确定要用多少个不同的频率,以及如何进行布线,本文将对这些设计策略深入阐述 。相关介绍请见「利用FPGA的多频率设计策略」一文。
本文将深入探讨无噪声频率脉冲产生器配合完善的频率电路设计,如何大幅改善数据撷取系统讯号噪声比并提升效能。你可在「无噪声频率脉冲产生器」一文中得到进一步的介绍。
设计高频电路用电路板有许多注意事项,尤其是GHz等级的高频电路,更需要注意各电子组件pad与印刷pattern的长度对电路特性所造成的影响。在「高频电路用电路板设计技术探索」一文为你做了相关的评析。
市场动态

IDT十日推出计算机频率(PC Clock)单芯片,将结合PCI Express技术,并针对下一代Intel Centrino行动运算技术(代号Sonoma)的笔记本电脑而设计。IDT计算机频率单芯片专为笔记本电脑而设计

ADI发布新的频率IC系列产品,能在当今高性能电子应用中,例如无线基础设施收发机、仪器和宽带基础设施,满足严格的信号处理要求。ADI推出低抖动性能的频率IC

皇家飞利浦电子(Royal Philips Electronics)旗下的Handshake Solutions宣布将与ARM合作开发并销售一款内建Handshake Solutions独有的低功率自我计时(self-timed)的ARM处理器。
ARM与Handshake Solutions合作开发无频率处理器

相关文章
以智慧科技驱动新农业世代
机械聚落结盟打造护国群山
先进封测技术带动新一代半导体自动化设备
工业机器人作用推动厂区发展
使用三端双向可控矽和四端双向可控矽控制LED照明
comments powered by Disqus
相关讨论
  相关新闻
» 英特尔新一代企业AI解决方案问世
» 研究:全球蜂巢式物联网连接营收将於2030年突破260亿美元
» 日立轨道公司采用NVIDIA技术推进即时铁路分析
» AMD为ADAS系统及数位座舱推出尺寸小、成本最隹化的车规FPGA系列
» TI推出微型DLP显示控制器 可实现4K UHD投影机的大画面投影


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK89T1VP2C4STACUKM
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw