2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第1页第九章时钟技术解决办法:1.采用同步系统:即产生时钟信号(clocking),用以协调把数据写入存储元件的时间(周期地保持住所有的信号,使这些信号的延时人为地相同,使电路能按预先确定的次序正确执行)时钟的作用由于需要把各信号按时一起处理,必须解决:各信号延时不确定(不一致)性的问题2.采用异步系统:完全避免时钟self-timing:保持住所有信号直至最慢的信号到来,是一种局部解决时序问题的方法2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第2页信号同步情况分类(1)同步(synchronous):信号与本地时钟具有完全相同的频率,且与本地时钟间保持已知的固定的相位差。CombinationalLogicR1R2CinCoutOutInCLK组合逻辑由于信号的确定期与时钟同步,因此可以直接采样;信号不确定期的长度决定了系统能工作的最高频率。同步时序2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第3页(2)中等同步(mesochronous):信号与本地时钟具有完全相同的频率,但具有未知的相位差。可变延时线控制采用可变延时线实现中等同步通信数据在两个不同的时钟域之间传送,需要采用中等同步器使与接收模块的时钟同步。2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第4页(3)近似同步(plesiochronous):信号与本地时钟具有名义上相同的频率,但真正的频率却稍有不同。当长距离通信(两个相互作用的模块具有各自独立的晶振)时,两个时钟间的相位差将随时间漂移。需要采用缓冲技术以保证能接收到所有的数据。采用FIFO实现近似同步通信时钟恢复电路发送模块接收模块2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第5页(4)异步(asynchronous):信号不服从本地时钟,可以在任何时候随意变化。有两种解决方法:1.通过检测信号的随意变化并将等待时间(Latency)引入到与本地时钟同步的数据流中可以“同步”异步信号。2.完全取消本地时钟,采用自定时的异步电路,通过握手协议实现模块间正确的操作次序。异步设计的流水线自定时逻辑自定时逻辑互连电路应答握手信号请求互连电路启动完成启动完成2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第6页同步时钟系统组合逻辑当tCLK1=tCLK2时,应满足:CLKTtclk-q+tlogic+tsutholdtclk-q,cd+tlogic,cd2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第7页时钟的非理想情况z时钟偏差(Clockskew)–定义:空间上两个不同点处时序上等同的两个时钟沿在到达时间上的偏差–由时钟路径上的失配及时钟负载上的差别引起,取决于数据与时钟布线的方向,时钟偏差可正可负。–具有确定性(从一个周期至下一个周期是时不变的)–时钟偏差不会引起周期的变化,只会引起相移(相位偏移)时钟偏差(Skew)和时钟抖动(Jitter)ttjiji−=),(δClkClktSKtJS2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第8页z时钟抖动(Clockjitter)–定义:空间上同一个点处时钟周期随时间的变化。–抖动是一个平均值为零的随机变量–绝对抖动(tjitter):某点处一个时钟边沿相对于理想参照时钟边沿在最坏情况下偏差的绝对值–周期至周期抖动(Tjitter):单个时钟周期相对于理想参照时钟的时变偏离时钟偏差(Skew)和时钟抖动(Jitter)ClkClktSKtJStttTCLKinclkinclkijitter−−+=,1,在位置i处,2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第9页时钟的不确定性243PowerSupplyInterconnect5Temperature6CapacitiveLoad7CouplingtoAdjacentLines1ClockGenerationDevices时钟不确定性的来源电源电压电容负载互连线耦合至相邻导线温度器件时钟产生2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第10页正时钟偏差与负时钟偏差R1In(a)PositiveskewCombinationalLogicDQtCLK1CLKdelaytCLK2R2DQCombinationalLogictCLK3R3•••DQdelayR1In(b)NegativeskewCombinationalLogicDQtCLK1delaytCLK2R2DQCombinationalLogictCLK3R3•••DQdelayCLK2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第11页正时钟偏差(PositiveSkew):CLK1CLK2TCLKδTCLK+δ+thδ2143发送边沿在接收边沿之前到达负时钟偏差(NegativeSkew):接收边沿在发送边沿之前到达CLK1CLK2TCLKδTCLK+δ21432004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第12页组合逻辑CLK1CLK2TCLKδTCLK+δ+thδ2143正时钟偏差T+tclk-q+tlogic+tsuδ即Ttclk-q+tlogic+tsu-δ正时钟偏差使有可能提高时钟频率,但同时也可能引起信号竞争δ(0)δ(0)加大时钟周期可满足此条件2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第13页组合逻辑CLK1CLK2TCLKδTCLK+δ+thδ2143正时钟偏差+tholdt(clk-q,cd)+t(logic,cd)δ即正时钟偏差可能引起信号竞争t(clk-q,cd)+t(logic,cd)-tholdδδ(0)δ(0)改变时钟周期不能解决问题2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第14页组合逻辑负时钟偏差CLK1CLK2TCLKδTCLK+δ2143δ(0)Ttclk-q+tlogic+tsu-δδ(0)负时钟偏差会降低时钟性能由于边沿2领先于边沿1,因此不会发生信号竞争thold+tclk-q,cd+tlogic,cdδ2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第15页一般电路中正时钟偏差和负时钟偏差同时存在因此,时钟偏差对性能和竞争裕量均有影响2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第16页逻辑电路的最长延时与最短延时的计算A=1B=1输出=1关键路径经过OR1和OR2,为2个门的延时A=1B=0输出=1,关键路径经过OR1和OR2,为2个门的延时A=0B=1输出=0,关键路径经I1,OR1,AND3,OR2,为4个门延时A=0B=0输出=0,关键路径经I1,OR1和OR2,为3个门的延时2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第17页抖动(Jitter)的影响TCLK–2tjittertc-q+tlogic+tsuTCLKtc-q+tlogic+tsu+2tjitter因此,抖动会降低性能2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第18页tjitterCLK1tjitterCLK2δδTsuTCLK+-2tjitter-tsutclk-q+tlogic=TCLKtclk-q+tlogic+tsu+2tjitter-δTCLK正的Skew可以改善性能,但Jitter总是降低性能因为对Jitter总是考虑最坏情况Skew和Jitter共同作用的影响tclk-q+tlogic2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第19页最长时钟周期(最低时钟频率)发生在:tjittertjitterTCLKδTCLK--2tjittertclk-q+tlogic+tsu=δCLK1CLK2TCLK--2tjitterδ负时钟偏差将降低性能,抖动将降低性能TCLKtclk-q+tlogic+tsu++2tjitterδ2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第20页tjittertjitter信号竞争最容易发生在:CLK1CLK2δ+thold+2tjitterδthold+thold+2tjittert(clk-q,cd)+t(logic,cd)δ正时钟偏差2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第21页ClockSkew问题时钟布线负Skew数据与时钟的布线有时方向一致,有时方向相反,REGφREGφREGφ.REGφlogOutIn正Skew使正时钟偏差和负时钟偏差同时存在2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第22页改善因ClockSkew引起竞争的一些方法插入一个Latch,解决hold竞争,但增加延时,不利于提高时钟频率2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第23页采用逆数据流向的时钟,解决hold竞争。可在版图布置时实现。2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第24页Flip-Flop为基础的时序Flip-flopLogicφφ=1φ=0Flip-flopdelaySkewLogicdelayTSUTClk-Q2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第25页Flip-Flops+DynamicLogicLogicdelayφ=1φ=0TSUTClk-Qφ=1φ=0LogicdelayTSUTClk-QPrechargeEvaluateEvaluatePrecharge2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第26页单相位时钟Latch电路ClkPPWTsklTsklTsktTskttD-QDClkQtClk-QLatch时序时钟脉冲宽度的变化对Latch有重要影响LatchLogicφ2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第27页Latch为基础的设计L1LatchLogicLogicL2LatchφL1latch在φ=1时透明L2latchφ=0时透明AB2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第28页Register/Latch为基础设计的流水线2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第29页剩余时间(Slack)借用2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第30页CLB_A+CLB_B能工作的最长时间CLB_A能借用的最长时间ace2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第31页举例2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第32页AsynchronoussystemSynchronoussystemSynchronizationfCLKfin异步-同步界面同步失效(亚稳态)现象同步失效发生的场合:1.若数据和时钟不能满足寄存器Setup和HoldTime的要求则会发生亚稳态同步失效,这是因为:(1)存储元件的本质是双稳态器件(2)此时时钟采样到的输入数据非常接近反相器的阈值2.发生在两个独立无关的同步时钟选通的边界上3.发生在一个同步时钟系统及非同步输入信号的接口处。2004-12-15清华大学微电子所《数字大规模集成电路》周润德第9章(1)第33页亚稳