静态时序分析11——精度提升(Improve Accuracy)

科技 科技 3922 人阅读 | 0 人回复

<
STA阐发过程当中,要两全runtime战粗度的请求,正在阐发过程当中,一开端用简朴集约的设置,做开端时序阐发战时序支敛,其时序建到必然程度,做特定的设置,针对特定的timing path,让东西做具体阐发,从而汲引那些有violation timing path的更准确的阐发。
PT正在计较crosstalk,经由过程改动一些设置,进步准确度,进步 PTSI 精确性


  • 消弭时钟再支敛灰心性(clock reconvergence pessimism,CRP)
  • 挑选改良的window对齐形式(经由过程timing window的设置,进一步汲引crosstalk计较粗度)
  • 施行特定途径的时序(PBA vs CBA)
修正victim战aggressor收集的挑选方法
查抄有crosstalk的收集
消弭时钟再支敛灰心性(clock reconvergence pessimism)
CRPR那里触及两个内乱容 


  • OCV derating
  • crosstalk  topic
 OCV derating设置 


  • global variation:经由过程corner情势表现。经由过程读进不同PVT setting .lib文件去。global variation指die取die、wafer取wafer、lot取lot之间正在消费工艺、供电电压、温度的不同所酿成的cell的timing的不同。
  • local variation:经由过程 OCV derating系数设置引进分外的margin。统一种规范 std cell正在芯片中处于不同地位,因为工艺、所处地位的电压战温度的不同,形成统一种cell之间timing的不同。
launch path战capture path的OCV derating系数设置:


  • launch path delay,采取OCV ,正在计较setup的时分,考虑时序灰心性,让launch path延时越少越灰心,正在计较全部launch path delay乘以年夜于1的 OCVderating系数。不同工艺设置的系数纷歧样。比方,1.15x本初的launch path delay
  • capture path delay,采取OCV ,正在计较setup的时分,考虑时序灰心性,让capture path 延时越短越灰心,正在计较全部capture path 一切cell delay乘以小于1的OCV derating系数。不同工艺设置的系数纷歧样。比方,0.9 x 本初的capture path delay
common path
clock 发生泉源开端,走launch path战capture path,老是会有一些common path
144916w980fkd4s4fffqq9.jpg

成绩: 
common path的cell,地位牢固,某一时分,OCV derating系数该当是牢固稳定的。假如根据launch path 战capture path 别离设置不同的OCV derating系数,关于common path的cell有些过于灰心了。
打点:
需求来失落common path的cell上launch path 战capture path别离设置的OCV derating好值来失落。
东西计较方法:


  • 计较launch path 战capture path,根据该有OCV derating系数计较
  • 找到launch path 战capture path一切common path
  • 加来common path上因为不同设置不同的OCV derating系数所发生的延时好
Clock Reconvergence Pessimism (CRP)
CRP = 到大众面的最早抵达工夫 – 到大众面的最早抵达工夫
从 STA 中来除 CRP(Removal of CRP from STA (CRPR))


  • 默许状况下,PrimeTime 没有会删除 CRP
  • 施行芯片内乱变革时,将以下变量设置为true以从STA中删除CRP
  1. set timing_remove_clock_reconvergence_pessimism true
复造代码
timing report中呈现 CRPR是0的状况:


  • 变量出有翻开,出有enableCRPR的removal
  • launch path 战capture path之间有无common path
  • 有common path,也开了CRPR,出有肯定的答复,需求具体成绩具体阐发具体阐发,状况没有是很多
CRPR考虑crosstalk 
common path上引进的crosstalk
东西处置方法: 
hold timing path 引进crosstalk的处置,能够经由过程CRPR remove
数据不克不及正在时钟抵达之前发作变革,不然,时钟搜罗没有到数据。hold查抄同沿查抄 
同沿查抄状况下,common path上的cell,launch path 战capture path遭到的crosstalk影响是一样的。common path上,由SI惹起的的不同也会被remove失落。launch path引进的crosstalk记载一次,capture path引进的crosstalk记载一次,一共两次,需求remove一次记载。common path上 crosstalk,时序阐发的时分借好,会删失落 。
setup iming path 引进crosstalk的处置,不成以经由过程CRPRremove
旌旗灯号正在通报过程当中,capture clock正在颠末一个cycle以后,能否能够大要采到旌旗灯号。颠末一个cycle当前,判定data delay战clock delay之间干系。launch path正在前一个沿上,capture path是颠末一个沿(即颠末一个cycle)传过去。launch path战capture path没有正在统一沿。区分,aggressor有能够正在前一个沿上同时翻转,timing window overlap,对此发生crosstalk影响,旌旗灯号下一个周期的沿去的时分,有能够没有反转,没有发生crosstalk影响。正在做setup阐发的时分,common path上launch path战capture path所记载的crosstalk纷歧样,不克不及remove。common path 有比较年夜的crosstalk,会对setup阐发有很年夜的影响。
144917psjggyfhpggfjfah.jpg

仅当查抄是整周期查抄(zero-cycle check,也即同沿查抄)时,CRPR 算法才会正在launch战capture时钟途径的common path中消弭crosstalk惹起delay。 
正在整周期查抄中,aggressor  switching同时以不异的方法影响launch战capture旌旗灯号。
以下是 CRPR 能够合用于串扰惹起的提早的一些状况:
尺度hold查抄(同沿查抄):


  • 如正在 2 分频时钟电路中,register的Q pin出去,反接一个inverter到D pin ,有hold check的时分,便是同沿查抄。
  • 因为register的Q pin output战D pin input之间存正在寄死电容,连结对crosstalk feedback的查抄
  • multicycle设置为0的hold查抄,比方,正在launch 战capture之间存正在设想短处,操纵单个时钟边缘举办launch 战capture旌旗灯号的电路。
  • transparent latch的setup查抄(setup酿成同沿查抄)(latch,电仄触收。下电仄触收,时钟下电仄那一段是导通的,把数据从D传到Q。design中,呈现两个同沿(不管正沿依旧背沿)触收的latch级联,同时导通,会形成,同沿触收的latch,时序阐发中做的是同沿setup查抄)
两分频电路: 
144917fmtcvlwcvfvmclvv.jpg

transparent latch( latch 级联)
144918d0k0kll00l8oo9l5.jpg

144918qfqrv6mtyjfycv9y.jpg

 同沿触收,可是latch之间存正在延时(比方100ps),怎样满意时序请求。
timing borrow(借时序)
关于latch,只需是下电仄,便是导通的,全部下电仄的周期内乱,皆能够锁存数据。 
前级收数据,同沿,对后一个latch背后delay100ps,正在那里搜罗数据
disable timing borrow的办法,把latch看成沿触收的register做时序阐发(PT东西内里有相干号令)
crosstalk阐发方法
PrimeTime SI的victim 战 aggressor的timing window计较方法
粗度战runtime之间的平衡会有不同的设置
号令:
  1. set si_xtalk_delay_analysis_mode <mode>
复造代码
两种挑选方法:
  1. all_paths     //(default)
  2. all_path_edges
复造代码
144919k3k2urabf1ak32k1.jpg


144919rx8z0rhux8ffr08x.jpg

timing window:抵达某个面最短战最少时序途径之好 
选用all_paths设置,只需aggressor window跟那个面上颠末不同途径构成的年夜的timing window,只需overlap,不同途径上的一切crosstalk城市做一个计较。
可是,最少途径的timing window战aggressor timing window出有overlap,没有需求做crosstalk计较。可是all_path是计较不同途径上的一切crosstalk。如许过于灰心了。办法简朴粗鲁。计较快,可是准确度低。
选用all_path_edges设置,别离算。aggressor window跟最快的途径的timing window有overlap便计较crosstalk,战最缓的途径的timing window出有overlap便没有计较crosstalk。
144920vreevfjnfx3ddwt9.jpg

 不同阶段挑选不同的设置
简朴集约天报出全部design过程当中,哪些途径存正在crosstalk影响:
操纵 all_paths


  • 念要精确report哪些途径有violation,哪些出有
专注阐发有crosstalk影响的timing path:
操纵 all_paths_edges


  • 专注于阐发有violation的时序途径
  • 操纵 ECO 迭代来封闭时序
  • 分离PBA的阐发
  • 具有多个时钟传布或年夜delta
 施行特定途径的时序 
 Path Vs Graph
GBA(graph based analysis):为了灰心性的考虑,只记载一切途径通报过去的最好的transition。计较setup的时分只用那个最好的transition去计较一切途径的delay。【数据质变小,计较十分快。】用GBA举办年夜里积的时序支敛。
有些状况下过于灰心(好比某个pin上的transition很小,这类计较延时东西供给PBA去计较)
PBA(path based analysis):与每一个cell timing arc上的具体的transition值去计较。【完整依托实践状况计较,计较精确,可是runtime变得很缓】
先用GBA先大略举办时序阐发,剩下的path未几,violation没有年夜(跟工艺有闭,到几十p的时分)的时分操纵PBA。看能否满意时序请求。满意时序请求能够来做timing signoff请求。
PBA阐发,采取OCV derating,倡议总的violation条数掌握正在5000条以下考虑。timing violation最好小于-100ps,正在那个时分,根本满意setup时序阐发请求。violation条数年夜于1万条时,runtime很少,凡是需求一个小时以上阐发完。violation条数过年夜,PBA以后也只是将violation低落,没法支敛。
144920i4llqkt3qklt44q2.jpg

144920kw99flllwcwzmf5v.jpg


144921dy47yrgm2c4n7snz.jpg

  GBA战PBA的区分:Slew propagation(transition propagation)
144922g0hnmschhoxon0o7.jpg

AOCV:violation小于5000条,做PBA阐发
POCV:GBA战PBA的timing差异正在减少,两个run以后的延时疑息根本没有会有太年夜不同
 foundry厂,12nm以下采取PBA设置;28nm、40nm供给AOCV设置。
基于途径的阐发 (Path-Based Analysis,PBA)
 相沿户指定的感爱好的时序途径施行特定于途径的slew propagation。
沿感爱好的途径传布途径准确的slew,疏忽去自门侧输进的slew。
  1. #default and recommended
  2. set timing_slew_propagation_mode worst_slew
  3. # recalculate timing path using PBA user interface:
  4. report_timing -pba_mode path ...    //PBA
  5. get_timing_paths -pba_mode path ...
  6. # OR
  7. report_timing -pba_mode exhaustive...    //PBA
  8. get_timing_paths -pba_mode exhaustive …
复造代码
  1. -pba_mode path ...
  2. //只对曾经报出去有timing violation的path,再来做PBA阐发
  3. -pba_mode exhaustive ...
  4. //不论有无timing violation,只需给定一个面,便对其一切path停止PBA阐发
  5. //遍历一切的timing path
复造代码
  1. report_timing  path
  2. //把全部timing path挨印出去,包罗startpoint战endpoint,common cell的面、group
  3. get_timing    path
  4. //把获得的timing path做一个返回,返回数据范例collecting(Synopsys东西内里的数据范例)
复造代码
免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作!
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复 关闭延时

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则