下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
专用集成电路的时序约束与静态时序分析(一)设计的时序约束为使电路的性能达到设计者的预期目标,同时又能满足电路工作环境的要求。必须对一个电路设计进行诸如时序、面积、负载等多方面的约束,并自始至终使用这些约束条件来驱动电路设计软件的工作。设计约束一般包括ASIC生产厂家的设计规则约束和设计者自定义的设计优化约束。大多数工艺库都指定有设计规则约束,对任何一个使用该工艺库的设计都适用,它反映了一个设计要正常工作所必须遵守的特定工艺的要求,它的优先权高于设计优化约束,通常包括最大转换时间、最大扇出、最大、最小电容等等。设计规则约束是隐含的,无需设计者指定,因此重点讨论设计优化约束。设计优化约束包括设计者对电路性能上的一系列在时序、面积和版图布通性等方面的指标,其中时序约束是最重要的、最复杂的,是我们关注的重点。(1)单时钟同步电路的时序约束先讨论最简单的单时钟同步电路的时序约束,要对一个电路的时序行为进行充分约束至少应从以下几个方面来考虑:(A)时钟网络a.时钟的传播延时(Latency和不确定性(Uncertainty)对于一个实际的时钟网络,最重要的两个属性就是时钟的不确定性(Uncertainty和时钟的传播延迟(Latency)。时钟的传播延时包括时钟源的延时和时钟网络的延时。时钟源的延时是指从系统上时钟产生点到设计中时钟定义点(电路端口)的延时;时钟网络的延时是从时钟定义点到寄存器时钟管脚的延时。时钟的不确定性是指在一个时钟域或时钟域间寄存器时钟管脚到达时间的最大差别,这个时间通常又称为时钟歪斜(SKEW)。时钟的不确定性将影响建立时间和保持时间的计算。一个电路的时钟网络在版图设计完成后可能如下图所从图1很容易理解时钟的这两个重要属性。在版图设计完成之后,时钟树上电路单元和网络延时等参数可以反标回来,通过适当设置让这些延时信息在时钟网络上传播可以自动获得时钟的这些重要属性。可是在版图设计之前,只能通过设定相应的约束来近似模拟时钟的这种不确定性。这些时序约束将被用作分析电路最坏情况的标准,如果在最坏情况下,所有建立时间和保持时间的约束都不被违反,则可以肯定电路的性能不会存在问题。图2给出了时钟的这种不确定性对电路建立时间和保持时间计算的影响。从图2中可以看出影响建立时间和保持时间的两条路径:时钟路径和数据路径。最坏情况即指以下两种组合:数据路径取最大延迟而同时时钟路径取最小延迟;数据路径取最小延迟而同时时钟路径取最大延迟;在第一种组合下电路中不能有建立时间约束被违反;而在第二种组合下,不能违反保持时间约束。具体算法如下:时钟周期+时钟路径最小延迟喽攵据路径最大延迟>建立时间数据路径最小延迟■时钟路径最大延迟案>保持时间
'…建立时间余量■■■■■■■■时钟不确定'…建立时间余量■■■■■■■■时钟不确定=xxxxxx图2时钟不确定性对电路时序的影响b,门控时钟单元的时序约束当时钟网络上包含除缓冲器和反相器之外的逻辑时就会产生门控时钟信号。如果不对门控时钟单元的控制信号进行适当约束,就很可能发生当时钟脉冲通过门电路时,门控信号发生变化,这将使时钟脉冲丢失或在时钟信号上产生毛刺。如下图所示,通过约束使门控信号在相对时钟沿的建立时间和保持时间区域内保证不发生变化。c,最小时钟脉宽的检查最小脉宽的检查对时序电路非常重要,由于时钟网络上的门控单元和延时等的影响,使得脉冲宽度在时钟的传播过程中会减小。这样可能会造成如下问题:>如果寄存器时钟引脚上的时钟脉冲宽度太小,那么寄存器可能不能正确地捕获数据。一般库单元都有一个最小脉宽要求。>由于脉宽减小,可能在时钟网络的某些点上时钟不再往后传递。因此必须设定脉宽的最小限制。(B)端口延时端口输入延时指外部路径到电路输入(或双向端口)的相对于时钟沿的时间。端口输入延时应该等于从源寄存器时钟脚到驱动单元(输入脚的直接驱动单元)输出脚的延时减去驱动单元和负载相关的那部分延时。端口输出延时指输出脚(或双向端口)到外部寄存器的路径延时,端口输出延时的最大值等于从输出脚到外部寄存器数据端的路径延时的最大值加上寄存器的建立时间。端口输出延时的最小值等于从输出脚到外部寄存器数据端的路径延时的最小值减去寄存器的保持时间。(C)端口的驱动和负载特性端口的驱动和负载描述了电路和外部环境的接口,驱动和负载特性将影响到电路的时序行为。可以为不同的输入端口从库单元中选择不同的驱动单元,为输入、输出端口指定负载值,同时还可为输出端口设定扇出负载的大小。在对端口进行时序约束时应考虑端口驱动和负载对时序的影响。参见图3。图3端口延时、驱动和负载(2) 多时钟同步电路的时序约束多时钟同步电路是指电路中的多个时钟都从同一时钟源派生而来,它们之间有相对固定的相位关系,其中有的时钟不一定有实际对应的电路端口。总体上说多时钟同步电路可以和单时钟同步电路采用同样的约束策略,也包括定义时钟(必要时需要建立虚拟时钟作为端口输入、输出延时的参考)、指定I/O脚相对时钟的延时等步骤。由于可能出现在一个端口或网络上存在多个约束的情况,时序分析工具总是选择最苛刻的约束条件作为计算建立时间和保持时间的约束条件。对于特殊的电路结构还可以通过设置多周期路径和最大最小延时等办法来满足建立时间和保持时间的要求。(3) 异步电路的处理通常静态时序分析工具不能对含有如组合反馈环、自定时电路等异步逻辑进行静态时序分析,一般采取打断组合反馈环路或将异步电路和同步电路隔离开并将时序路径设为无效等措施来处理,也可以采取设置最大、最小延时等约束条件来约束异步逻辑。当设计完成后一定要做一次全芯片的功能仿真来验证异步电路的行为是否正确。以上讨论了各种电路的时序约束,事实上当我们拿到一个电路时开始可能不清楚具体的时序目标,那么可以先不加任何约束,将电路映射到门级,分析一下此时电路的工作速度,根据这个结果设定具体的约束,再对电路重新编译,如此不断反复调整,直到对设计进行正确、合理的约束。此外当得到电路的门级网表时还可以借助一些参数提取工具获得有关电路的实际的负载、驱动和时序等方面的信息。(二)时序约束的特别考虑前面讨论的时序约束和后面将要讨论的静态时序分析都假定时序路径工作在一个时钟周期的时间内,数据从一条路径的源端传播到末端在一个时钟周期的时间内完成。但是有些电路并不遵守这种单周期时序,对这些电路如果不做适当处理将大大影响时序分析的效率。一般来说可以从下面几个方面来描述这些特殊的时序关系:(1)设置伪路径所谓的伪路径是指那些没有逻辑和功能意义的路径,这些路径虽然存在于电路中但是由于各种原因并不用来传递信号,比如两个异步时钟之间的路径。由于静态时序分析工具不考虑电路的动态行为,因此它不能完全识别电路中可能存在的伪路径,使得伪路径成为静态时序分析的一个重要障碍。因此设计者应根据对电路的理解正确而有效的设置电路中可能存在的这些伪路径。将一条路径设为伪路径后,原来施加给它的时序约束将不再存在。静态时序分析工具可能还会计算这条路径上的延时,但是不管路径上的延时多大都不再报错。(2)设置最大最小路径延时一般,静态时序分析工具按照单周期时序规则,根据时钟沿和路经的建立时间、保持时间来确定一条路径的最大、最小延时,其中建立时间和保持时间的检查将考虑所有相关的设计参数如路径上组合逻辑的延时、工艺库中寄存器的建立时间和保持时间的要求以及网络延时等等。但是有时侯通过这种方法估算出来的时序关系并不能满足设计者对某部分电路的时序要求,此时设计者可以使用有关约束命令来强行设定某些路径上的最大、最小时序要求。(3)设置多周期路径设计者可以指定在某条时序路径上数据从源端传递到末端所需的时钟周期数,以此来突破单周期时序规则的限制。设置多周期路径的办法比设置最大延时值的好处在于由此设定的最大延时值可以随时钟周期的变化而自动调整。需要特别注意的是对某条路径设置为多周期路径后,该路径将随之建立起新的建立时间和保持时间关系。(三)静态时序分析静态时序分析和动态时序仿真是分析和验证电路时序行为的两个基本手段。静态时序分析在不需激励的条件下就可以快速的分析电路中的所有时序路径是否满足约束要求。但是静态时序分析存在的问题在于它不了解电路的动态行为,因此受到电路中众多伪路径的困扰,同时目前静态时序分析还只局限于对同步电路的分析。因此设计最后一定要对全芯片进行一次动态仿真。静态时序分析工具将电路看成是由许多条时序路径组成,一般可以分成如下四类时序路径,如图4所示:>输入端口到寄存器的数据端(Path1)>寄存器的时钟端到寄存器的数据端(Path2)>寄存器的时钟端到电路输出端口(Path3)>电路输入端口到电路输出端口(Path4)图4时序路径静态时序分析工作过程一般包含如下三个步骤:>将电路打散为一系列的时序路径>计算每条路径的延时>分析并报告每条路径的延时是否满足时序约束的要求。随着电路设计规模越来越大、电路工作频率越来越高,应该在电路设计的各个阶段充分利用静态时序分析技术,尽早发现电路中存在的时序隐患。在芯片的早期规范和系统级设计阶段,就可以为一些甚至还不存在底层网表的模块创建时序模型,在顶层对整个电路的时序行为进行规范;随着设计的深入,在版图设计之前,还以根据工艺库中的器件延时和从线负载模型估算出来的网络延时进行更进一步的静态时序分析;至于在版图设计完成之后,则可从版图直接提取器件和网络延时进行精确的时序分析。ForRTLmodulesthathavetwoormoreasynchronousclocksasinputs,adesignerwillberequiredtoindicatetothestatictiminganalysistoolwhichsignalpathsshouldbeignored.Thisisaccomplishedby“settingfalsepaths”onsignalsthatcrossfromoneclockdomaintoanother.Thiscanbeatediousanderrorpronejobunlesstheguidelinesinthenexttwosectionsarefollowed.ClockNamingConventionsGuideline:UseaclocknamingconventiontoidentifytheclocksourceofeverysignalinadesignReason:Anamingconventionhelpsallteammemberstoidentifytheclockdomainforeverysignalinadesignandalsomakesgroupingofsignalsfortiminganalysiseasiertodousingregularexpression“wild-carding”fromwithinasynthesisscripts.DesignPartitioningGuideline:OnlyallowoneclockpermoduleReason:Statictiminganalysisandcreatingsynthesisscriptsismoreeasilyaccomplishedonsingle-clockmodulesorgroupsofdingle-clockmodules.Guideline:Createasynchronizermoduleforeachsetofsignalsthatpassfromjustoneclockdomainintoanotherclockdomain.Reason:Itisgiventhatanysignalpassingfromoneclockdomaintoanotherclockdomainisgoingtohavesetupandholdtimeproblem.Noworst-case(maxtime)timinganalysisisrequiredforsynchronizermodules.Onlybestcase(mintime)timinganalysisisrequiredbetweenfirstandsecondstageflip-flopstoensurethatallholdtimesaremet.Also,gate-levelsimulationscanmoreeasilybeconfiguredtoignoresetupandholdtimeviolationsonthefirststageofeachsynchronizer.Thenextlogicalstepwastopartitionthedesignsothateveryinputmodulesignalwasalreadysynchronizedtothesameclockdomainbeforeenteringthemodule.Whyisthissignificant?Ifallsignalsenteringandleavingthemodulearesynchronoustotheclockusedinthemodule,thedesignisnowcompletelysynchronous!Nowtheentiremodulecanbestatictiminganalyzedwithoutany“falsepaths”anddesigncompilercanbeusedtogroupallofthesame-clocksynchronousmodulestoperformcomplete,sequentialstatictiminganalysiswithineachclockdomain.SynchronizingfastsignalsintoslowclockdomainsAgeneralproblemassociatedwithsynchronizersistheproblemthatasignalfromasendingclockdomainmightchangevaluestwicebeforeitcanbesampledintoaslowerclockdomain.PassingmultiplecontrolsignalsAfrequentmistakemadebyengineerswhenworkingonmulti-clockdesignispassingmultiplecontrolsignalsfromoneclockdomaintoanotherandoverlookingtheimportanceofthesequencingofthecontrolsignals.Iftheorderofalignmen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福建货运从业资格证考试试题及答案解析
- 2025年鄂州货运准驾证模拟考试
- 2025年毕节货运从业资格证模拟考试题下载
- 2025年贵港从业资格证应用能力考些啥
- 茶艺师聘用合同范本
- 地热发电架电施工合同
- 互联网产品运营专员劳动合同
- 融资合作法律风险评估
- 宗教建筑承包协议
- 市政工程承诺函模板
- 2024年长江产业投资集团有限公司招聘笔试参考题库附带答案详解
- 麻醉药品及精神药品放区域、识别标志、贮存方法的规定
- 内蒙古奶制品行业现状分析
- 文明城市中的历史建筑保护
- 新生儿动态脑电图护理课件
- 2024年安徽合肥城市轨道交通有限公司招聘笔试参考题库含答案解析
- 劳动争议案件培训课件
- GB/T 10739-2023纸、纸板和纸浆试样处理和试验的标准大气条件
- 垃圾吊培训课件
- 护理脑梗死小讲课
- 脱发演示课件
评论
0/150
提交评论