版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1DigitalIntegratedCircuits
ADesignPerspectiveTimingIssuesJanM.RabaeyAnanthaChandrakasanBorivojeNikolićJanuary2003234567时序定义8Latch参数DClkQDQClktc-qtholdPWmtsutd-q上升和下降的数据转换的延时可以不同。T9寄存器参数DClkQDQClktc-qtholdTtsu上升和下降的数据转换的延时可以不同。10时钟的不确定性时钟不确定性来源电源电压器件时钟产生温度互连线电容负载耦合至相邻导线11时钟偏差时钟偏差空间上两个不同点处时序上等同的两个时钟沿在到达时间上的偏差;确定性+随机性,tSK时钟抖动空间上同一个点处时钟周期随时间的变化;调制+随机噪声周期至周期(短期)tJS长期tJL脉冲宽度的改变对于电平敏感的时钟信号很重要12时钟偏差和抖动时钟偏差和抖动都影响时钟周期只有时钟偏差影响时钟相位ClkClktSKtJS13时钟偏差#ofregistersClkdelayInsertiondelayMaxClkskewEarliestoccurrence
ofClkedgeNominal–
/2Latestoccurrence
ofClkedgeNominal+
/2
14正时钟偏差与负时钟偏差15正时钟偏差发送边沿在接收边沿之前到达16负时钟偏差接收边沿在发送边沿之前到达17时钟约束条件18时钟约束条件19时钟约束条件202122抖动的影响TCLK–2tjitter>tc-q+tlogic+tsuTCLK>tc-q+tlogic+tsu+2tjitter因此,抖动会降低性能232425结构说明和RTL编码RTL模拟逻辑综合、优化、扫描插入形式验证(RTL和门级)布局前STA时序正确布局、CT插入和全局布线转换时钟树到DC形式验证(扫描插入的网表与CT插入的网表)布局后STA详细布线时序正确布线后STA时序正确结束是是是否否否时序分析在整个IC设计的地位动态时序仿真与静态时序分析动态仿真是时序针对给定的仿真输入信号波形,模拟设计在器件实际工作时的功能和延时情况,给出相应的仿真输出信号波形。它主要用于验证设计在器件实际延时情况下的逻辑功能。由动态时序仿真报告无法得到设计的各项时序性能指标,如最高时钟频率等。静态时序分析则是通过分析每个时序路径的延时,计算出设计的各项时序性能指标,如最高时钟频率、建立保持时间等,发现时序违规。它仅仅聚焦于时序性能的分析,并不涉及设计的逻辑功能,逻辑功能验证仍需通过仿真或其他手段(如形式验证等)进行。静态时序分析是最常用的分析、调试时序性能的方法和工具。静态时序分析-StaticTimingAnalysisSTA是一种验证方法STA的前提是同步逻辑设计STA是使用工具通过路径计算延迟的综合,并比较相对预定义时钟的延迟STA仅关注时序间的相对关系而不是评估逻辑功能无需用向量去激活某个路径,而是对所有的时序路径进行错误分析,能处理百万门级的设计,分析速度比时序仿真工具快几个数量级,在同步逻辑情况下,可以达到100%的时序路径覆盖STA的目的是找出隐藏的时序问题,根据时序分析结果优化逻辑或约束条件,使设计达到时序闭合(timingclosure)29STA的作用确定芯片最高工作频率通过时序分析可以控制工程的综合、映射、布局布线等环节,减少延迟,从而尽可能提高工作频率检查时序约束是否满足可以通过时序分析来查看目标模块是否满足约束,如不满足,可以定位到不满足约束的部分,并给出具体原因,进一步修改程序直至满足时序要求分析时钟质量时钟存在抖动、偏移、占空比失真等不可避免的缺陷。通过时序分析可以验证其对目标模块的影响STA的过程STA分三步走:1、将设计打散成一个一个的timing
path2、计算每条path的延迟3、检验延迟是否满足设计约束的要求。时序分析基本概念时序路径①从输入端口到触发器的数据D端②从触发器的时钟clk端到触发器的数据D端③从触发器的时钟clk端到输出端口④从输入端口到输出端口32时序分析常用路径时钟到建立clocktosetuppath时钟到管脚clocktopadpath结束于时钟引脚pathsendingatclockpinofflip-flops管脚到管脚padtopad管脚到建立padtosetup33时钟到建立clocktosetuppath34时钟到管脚clocktopadpath35结束于时钟引脚endingatclockpinofF-F36管脚到管脚padtopad37管脚到建立padtosetup38时序分析基本概念关键路径关键路径通常是指同步逻辑电路中,组合逻辑时延最大的路径。也就是说关键路径是对设计能起决定性影响的时序路径。静态时序分析可以找出逻辑电路的关键路径,通过查看时序分析报告,可以确定关键路径
设时钟周期是20,每个触发器的cell延迟是1,触发器的建立时间是1,保持时间是0.5,分析图中的建立时间和保持时间的slack。看到设计,首先要分析路径,找出最长和最短路径,因为dc的综合都是根据约束而得到最短和最长路径来进行器件选择的。接下来将图中的所有路径标出。因为没有前级(input_delay)和后级电路(output_delay),我们只分析图中给出的路径对于红色路径:Td=Tcell+Td4+Td5+Td6=1+4+3+1=9对于黄色路径:Td=Tcell+Td4+Td5+Td6+Td8=1+4+3+1+2=11对于紫色路径:Td=Tcell+Td1+Td2+Td3=1+2+3+2=8对于路色路径:Td=Tcell+Td7+Td2+Td3=1+2+3+2=8所以Tlongest=11,Tshortest=8对于setuptime的slack:Tclk-Tlongest-Tsetup=20-11-1=8对于holdtime的slack:Tshortest-Thold=8-0.5=7.543时序优化方法-Ritiming时序优化方法-Pipeline45边沿触发系统中的最长逻辑路径ClkTTSUTClk-QTLMLatestpoint
oflaunchingEarliestarrival
ofnextcycleTJI+d46边沿触发系统中的时钟约束条件如果发射边缘晚到、接收边缘早到,数据不会太晚:最小的周期时间是由最大延迟通过逻辑决定:Tc-q+TLM+TSU<T–TJI,1–TJI,2-dTc-q+TLM+TSU+d+2TJI<TSkewcanbeeitherpositiveornegative47最短路径ClkTClk-QTLmEarliestpoint
oflaunchingDatamustnotarrive
beforethistimeClkTHNominal
clockedge48边沿触发系统中的时钟约束条件最小逻辑延时:
如果发射边缘早到、接收边缘晚到:Tc-q+TLM–TJI,1<TH+TJI,2+dTc-q+TLM<TH+2TJI+d49505152Flip-Flop为基础的时序Flip
-flopLogicff=1f=0Flip-flop
delaySkewLogicdelayTSUTClk-QRepresentationafter
M.Horowitz,VLSICircuits1996.53Flip-Flops+动态逻辑f=1f=0LogicdelayTSUTClk-Qf=1f=0LogicdelayTSUTClk-QPrechargeEvaluateEvaluatePrechargeFlip-flops只用于静态逻辑54Latch时序DClkQtD-QtClk-Q当数据到达透明锁存器当数据到达关闭锁存器数据必须是已经发送锁是一种“软”障碍55单相位时钟Latch电路LatchLogicfClkPPWTsklTsklTsktTskt时钟脉冲宽度的变化对Latch有重要影响56Latch为基础的设计L1LatchLogicALogicBL2Latchf
L1latch
在f=1时透明
L1latch在f=1时透明57剩余时间(Slack)借用剩余时间(Slack)借用举例58剩余时间(Slack)借用举例5960Latch为基础时序L1LatchLogicLogicL2Latchff=1f=0L1latchL2latchSkew可以容忍偏差LongpathShortpathStaticlogic61时钟分布网络Clockisdistributedinatree-likefashionH-tree采用分布式树结构(二叉树或H树),使每个模块可以得到完好的时钟,能与模块的延时很好地匹配,或者使时钟的分配可以安排得使任何RC延时发生在SafeSlew的方向上(如与数据流的方向相反)。62更实际的H-tree[Restle98]63栅格分布时钟•时钟偏差小•设计灵活•功耗大64例子:21164时钟网络300Mhz,9.3M晶体管2分布式驱动通道减少了RC延时/偏差改进热分布3.75nF时钟负载58cm最终驱动宽度trise=0.35nstskew=150pstcycle=3.3nsClockwaveform时钟驱动模的位置预驱动最终驱动6566Alpha处理器的时钟偏差672相位,多个条件缓冲时钟2.8nF时钟负载40cm最终驱动宽度本地时钟可以“关闭”来节省电能减小负载/偏差减少产热问题很多时序竞争检测trise=0.35nstskew=50pstcycle=1.67nsEV6(Alpha21264)Clocking600MHz–0.35micronCMOSGlobalclockwaveform6821264时钟系统69EV6时钟偏差分布GCLKSkew(atVdd/2Crossings)ps5101520253035404550ps300305310315320325330335340345GCLKRiseTimes(20%to80%Extrapolatedto0%to100%)70EV7时钟层次+分散驱动+dll补偿静态和低频变异+划分设计和验证-DLL的设计和验证工作增加+定制时钟活跃的时钟偏差管理+多个时钟域71自定时逻辑(一种异步设计)异步设计时钟功能1)作为一个完成信号2)确保事件的正确次序真实的异步设计2)事件次序是隐含在逻辑中1)仔细的时序分析可以确保操作的完成自定时设计1)操作的完成是由“完成”信号来保证的2)逻辑排序是依靠“握手协议”来确定的72流水线同步数据通路同步设计方法的缺点:(1)由于存在时钟Skew,实际上并不是所有事件同时发生。(2)把实际的约束和逻辑的约束合在一起会明显影响性能。在同步的流水线系统中,数据的通过率是由在流水线中最慢的元件在最坏情况下的延时决定的,每一流水级的平均延时将小于这个最慢的延时,因此采用同步技术将因这个最慢的延时而不得不使放慢系统的数据通过率。73自定时流水线数据通路Done信号:电路完成运算的标志Start(Go)信号:启动一个运算Req(uest)信号:输出端已有合法信号Ack(nowledge)信号:回答信号。74延时模块产生完成信号优点:硬件开销少,缺点:电路延时大。75完成信号产生
——冗余信号编码双轨编码,在数据中引入冗余,以表明一个具体的数据位是处在过渡状态还是稳定状态。76完成信号(DCVSL)PDNB0PDNIn1In1In2In2B1StartStartVDDVDDDoneB0B1
用DCVSL产生“完成”信号比起非冗余电路来面积较大,所有各位的完成信号必须“与”在一起以产生N位数据的完成信号,因此完成信号的产生是同时以面积和速度为代价的77自定时加法电路产生差分进位产生完成信号78利用电流检测产生“完成”信号79握手协议两相位信号协议80事件逻辑–Muller-C单元功能:两个输入端必须都发生事件(即从状态0011)才能使它的输出端改变状态并产生一个输出事件。812相位握手协议优点:快速、简单(信号线少)缺点:对边沿敏感,要求有额外的逻辑,是所有握手模块初始化到合适状态82例子:自定时FIFOAll1sor0s->pipeline空交替1sand0s->pipeline满832-相位协议84Example(状态1)From[Horowitz]85Example(状态2)86Example(状态3)87Example(状态4)884-相位握手协议慢一些,但是鲁棒性好(界线明确)。AlsoknownasRTZ894-相位握手协议用Muller-C元件实现四相位握
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论