您好,欢迎访问三七文档
静态时序分析StaticTimingAnalysis--于斌2报告概要时序分析概述时序分析中的基本概念常用工具简介3概念+市场研究结构说明和RTL编码RTL模拟逻辑综合、优化、扫描插入形式验证(RTL和门级)布局前STA时序正确布局、CT插入和全局布线转换时钟树到DC形式验证(扫描插入的网表与CT插入的网表)布局后STA详细布线时序正确布线后STA时序正确结束是是是否否否41.结构及电学特性规范2.HDL中的RTL编码3.为包含存储单元的设计插入DFTmemoryBIST4.为验证设计功能,进行详尽的动态仿真5.设计环境设置,包括将使用的工艺库和其他环境属性6.使用DC对具有扫描插入(和可选JTAG)的设计进行约束和综合设计7.使用DC的内建静态时序分析机进行模块级的静态时序分析8.设计的形式验证,使用Formality将RTL和综合后的网表进行对比9.使用PT进行整个设计布局前的静态时序分析10.对布局工具进行时序约束前的前标注11.具有时序驱动单元布局、时钟树插入和全局布线的初始布局划分12.将时钟树转换到驻留在DC中的原始设计513.在DC中进行设计的布局优化14.使用Formality在综合网表和时钟树插入的网表之间进行进行形式验证15.在全局布线后(11步)16.从全局布线得到的估计时间数据反标注到PT17.使用全局布线后提取的估计延时数据在PT中进行静态时序分析18.设计的详细布局19.提取来自详细布局设计的实际时间延迟20.实际提取时间数据反标注到PT21.使用PT进行布局后的静态时序分析22.布局后的门级功能仿真(如果需要的话)23.在LVS和DRC验证之后交货6时序分析概述与时序相关的流程DesignEntrySynthesisTimingPlaceTimingRouteTiming动态时序仿真静态时序分析形式验证7动态时序仿真与静态时序分析动态仿真是时序针对给定的仿真输入信号波形,模拟设计在器件实际工作时的功能和延时情况,给出相应的仿真输出信号波形。它主要用于验证设计在器件实际延时情况下的逻辑功能。由动态时序仿真报告无法得到设计的各项时序性能指标,如最高时钟频率等。静态时序分析则是通过分析每个时序路径的延时,计算出设计的各项时序性能指标,如最高时钟频率、建立保持时间等,发现时序违规。它仅仅聚焦于时序性能的分析,并不涉及设计的逻辑功能,逻辑功能验证仍需通过仿真或其他手段(如形式验证等)进行。静态时序分析是最常用的分析、调试时序性能的方法和工具。8静态时序分析-StaticTimingAnalysisSTA是一种验证方法STA的前提是同步逻辑设计STA是使用工具通过路径计算延迟的综合,并比较相对预定义时钟的延迟STA仅关注时序间的相对关系而不是评估逻辑功能无需用向量去激活某个路径,而是对所有的时序路径进行错误分析,能处理百万门级的设计,分析速度比时序仿真工具快几个数量级,在同步逻辑情况下,可以达到100%的时序路径覆盖STA的目的是找出隐藏的时序问题,根据时序分析结果优化逻辑或约束条件,使设计达到时序闭合(timingclosure)9STA的作用确定芯片最高工作频率通过时序分析可以控制工程的综合、映射、布局布线等环节,减少延迟,从而尽可能提高工作频率检查时序约束是否满足可以通过时序分析来查看目标模块是否满足约束,如不满足,可以定位到不满足约束的部分,并给出具体原因,进一步修改程序直至满足时序要求分析时钟质量时钟存在抖动、偏移、占空比失真等不可避免的缺陷。通过时序分析可以验证其对目标模块的影响10STA的过程STA分三步走:1、将设计打散成一个一个的timingpath2、计算每条path的延迟3、检验延迟是否满足设计约束的要求。11时序分析基本概念建立时间(setuptime)保持时间(holdtime)时钟到输出延迟(clocktooutputtime)时钟偏斜(clockskew)时钟抖动(jitter)12建立时间tSU(setuptime)触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(假设上升沿有效)T时间到达芯片,这个T就是建立时间Setuptime.如不满足setuptime,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。13保持时间tH(holdtime)保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果holdtime不够,数据同样不能被打入触发器。14时钟到输出延迟tCO(clocktooutputtime)从时钟信号有效沿到数据有效的时间间隔15不满足建立/保持时间,可能出现亚稳态tMET—settingtime,亚稳态到稳态的时间,与工艺无关16最小周期TT=tCO+tDELAY+tSU17时钟偏斜(clockskew)时钟偏斜指的是同一个时钟信号到达两个不同寄存器之间的时间差值时钟偏斜永远存在,到一定程度就会严重影响电路的时序18时钟抖动(jitter)所谓抖动,就是指两个时钟周期之间存在的差值,这个误差是在时钟发生器内部产生的,和晶振或者PLL内部电路有关,布线对其没有影响jitter=T2-T119STA的过程STA分三步走:1、将设计打散成一个一个的timingpath2、计算每条path的延迟3、检验延迟是否满足设计约束的要求。20时序分析基本概念时序路径①从输入端口到触发器的数据D端②从触发器的时钟clk端到触发器的数据D端③从触发器的时钟clk端到输出端口④从输入端口到输出端口21时序分析常用路径时钟到建立clocktosetuppath时钟到管脚clocktopadpath结束于时钟引脚pathsendingatclockpinofflip-flops管脚到管脚padtopad管脚到建立padtosetup22时钟到建立clocktosetuppath23时钟到管脚clocktopadpath24结束于时钟引脚endingatclockpinofF-F25管脚到管脚padtopad26管脚到建立padtosetup27时序分析基本概念关键路径关键路径通常是指同步逻辑电路中,组合逻辑时延最大的路径。也就是说关键路径是对设计能起决定性影响的时序路径。静态时序分析可以找出逻辑电路的关键路径,通过查看时序分析报告,可以确定关键路径常用优化方法:Retiming、Pipeline28时序优化方法-Ritiming29时序优化方法-Pipeline30主流工具Synopsys公司的PrimeTime主要用于全芯片的IC设计,PrimeTime是业界最流行的分析工具各FPGA厂商的工具均提供静态时序分析功能,FPGA的静态时序分析比IC简单31TimingAnalyzerAltera公司的QuartusII自带的静态时序分析工具,可以进行:时序路径的时延分析(DelayMatrix)建立/保持时间分析(Setup/HoldMatrix)同步逻辑性能(RegisteredPerformance)32TimingAnalyzer33TimingAnalyzer34TimingAnalyzer35TimingAnalyzer36PrimeTimePrimeTime是Synopsys的静态时序分析工具,为业界标准,占据最大的市场份额PrimeTime是数字ASIC设计的sign-off必选工具,受到所有EDA工具和IC厂家的支持FPGA逻辑静态时序分析,仅用到PrimeTime的一小部分功能37Report术语ArrivalTime-信号到达时间表示实际计算所得的信号到达逻辑电路中某一点的绝对时间,等于信号到达某条路径起点的时间加上信号在该条路径上的逻辑单元间传递延时的总和RequiredArrivalTime-要求到达时间简称RAT,表示要求信号在逻辑电路的某一特定点处的到达时间Slack-余量表示在逻辑电路的某一特定点处要求到达时间与实际到达时间之间的差。Slack值表示该信号到达的太早或太晚38PT过程PrimeTime做STA分四步流程:1、读入设计及库2、约束设计3、指定延迟计算信息4、静态时序分析和报告391、建立设计环境-建立搜索路径(searchpath)和链接路径(linkpath)-读入设计和库-链接顶层设计-建立运作条件、连线负载模型、端口负载、驱动和传输时间2、说明时序声明(约束)-定义时钟周期、波形、不确定性(uncertainty)和滞后时间(latency)-说明输入、输出端口的延时3、说明时序例外情况(timingexceptions)-多周期路径(multicyclepaths)-不合法路径(falsepaths)-说明最大和最小延时、路径分割(pathsegmentation)和失效弧(disabledarcs)4、进行分析和生成报告-检查时序-生成约束报告-生成路径时序报告4041PrimeTime建立时间检查clockdelay1-clockdelay2+maxdatapath+tSU≦clockperiodMaxdatapath是寄存器的tCO加上寄存器间的组合逻辑延迟42建立时间检查clockdelay1=0nsclockdelay2=0nsmaxdatapath=tco+pathdelay=1.449ns+0.258ns=1.707ns若T=4ns,则slack=4ns-1.707ns=2.293ns43建立时间检查44PrimeTime保持时间检查clockdelay1-clockdelay2+mindatapath-tH≧045保持时间检查clockdelay1=0nsclockdelay2=0nsmindatapath=tco+pathdelay=1.449ns+0.258ns=1.707nsintrinsicholdtime=1.284ns则slack=1.707ns-1.284ns=0.493ns46保持时间检查47问题三个阶段时序分析有何不同?DesignEntrySynthesisTimingPlaceTimingRouteTiming区别?48综合后STA建立时间不符合-重新设计保持时间不符合-此处修改或布局后修改(根据大小)采用的统计线载模型时钟扇出和时钟翻转固定49布局后STA布局工具将关键单元彼此靠近放置用以最小化路径延迟修改保持时间违例(或根据违例程度选择布线后修改)插入了时钟树(clocktree,CT),改变了原有设计50布线后STA加入寄生电容和RC连线延迟修正保持时间(插入缓冲器)最接近实际情况51需要掌握的部分流程图和相对应的文字说明静态时序分析的概念、目的和作用建立/保持时间的概念和约束条件的计算PrimeTime的基本过程52补充题给定setuptime/holdtime的案例,要求算出最小时钟周期。也可以给定周期和setuptime和holdtime,计算时间裕度。我们假设时钟周期是20,每个触发器的cell延迟是1,触发器的建立时间是1,保持时间是0.5,分析下列图中的建立时间和保持时间的slack。53设时钟周期是20,每个触发器的cell延迟是1,触发器的建立时间是1,保持时间是0.5,分析图中的建立时间和保持时间的slack。54看到设计,首先要分析路径,找出最长和最短路径,因为dc的综合都是根据约束而得到最短和最长路径来进行器件选择的。接下来将图中的所有路径标出。因为没有前级(input_delay)和后级电路(output_delay),我们只分析图中给出的路径55对于红色路径: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
本文标题:静态时序分析
链接地址:https://www.777doc.com/doc-3929088 .html