摘要:上,时序分析的时候还好,会删掉。在零周期检查中,同时以相同的方式影响和信号。的检查变成同沿检查,电平触发。用进行大面积的时序收敛。最好小于,在这个时候,基本满足时序分析要求。
STA分析过程中,要兼顾runtime和精度的要求,在分析过程中,一开始用简单粗放的设置,做初步时序分析和时序收敛,当时序修到一定程度,做特定的设置,针对特定的timing path,让工具做具体分析,从而提升这些有violation timing path的更精确的分析。
PT在计算crosstalk,通过改变一些设置,提高精确度,提高 PTSI 准确性
修改victim和aggressor网络的选择方式
检查有crosstalk的网络
消除时钟再收敛悲观性(clock reconvergence pessimism)
CRPR这里涉及两个内容
OCV derating设置
launch path和capture path的OCV derating系数设置:
common path
clock 产生源头开始,走launch path和capture path,总是会有一些common path
问题:
common path的cell,位置固定,某一时刻,OCV derating系数应该是固定不变的。如果按照launch path 和capture path 分别设置不同的OCV derating系数,对于common path的cell有些过于悲观了。
解决:
需要去掉common path的cell上launch path 和capture path分别设置的OCV derating差值去掉。
工具计算方式:
Clock Reconvergence Pessimism (CRP)
CRP = 到公共点的最晚到达时间 – 到公共点的最早到达时间
从 STA 中去除 CRP(Removal of CRP from STA (CRPR))
set timing_remove_clock_reconvergence_pessimism true
timing report中出现 CRPR是0的情况:
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分析有很大的影响。
仅当检查是零周期检查(zero-cycle check,也即同沿检查)时,CRPR 算法才会在launch和capture时钟路径的common path中消除crosstalk引起delay。
在零周期检查中,aggressor switching同时以相同的方式影响launch和capture信号。
以下是 CRPR 可能适用于串扰引起的延迟的一些情况:
标准hold检查(同沿检查):
二分频电路:
transparent latch( latch 级联)
同沿触发,但是latch之间存在延时(例如100ps),怎么满足时序要求。
timing borrow(借时序)
对于latch,只要是高电平,就是导通的,整个高电平的周期内,都可以锁存数据。
前级发数据,同沿,对后一个latch向后delay100ps,在这里采集数据
disable timing borrow的方法,把latch当作沿触发的register做时序分析(PT工具里面有相关命令)
crosstalk分析方式
PrimeTime SI的victim 和 aggressor的timing window计算方式
精度和runtime之间的平衡会有不同的设置
命令:
set si_xtalk_delay_analysis_mode
两种选择方式:
all_paths //(default)all_path_edges
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。
不同阶段选择不同的设置
简单粗放地报出整个design过程中,哪些路径存在crosstalk影响:
使用 all_paths
专注分析有crosstalk影响的timing path:
使用 all_paths_edges
执行特定路径的时序
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降低,无法收敛。
GBA和PBA的区别:Slew propagation(transition propagation)
AOCV:violation小于5000条,做PBA分析
POCV:GBA和PBA的timing差距在缩小,两个run之后的延时信息基本不会有太大差别
foundry厂,12nm以下采用PBA设置;28nm、40nm提供AOCV设置。
基于路径的分析 (Path-Based Analysis,PBA)
沿用户指定的感兴趣的时序路径执行特定于路径的slew propagation。
沿感兴趣的路径传播路径正确的slew,忽略来自门侧输入的slew。
#default and recommendedset timing_slew_propagation_mode worst_slew# recalculate timing path using PBA user interface:report_timing -pba_mode path ... //PBAget_timing_paths -pba_mode path ...# ORreport_timing -pba_mode exhaustive... //PBAget_timing_paths -pba_mode exhaustive …
-pba_mode path ...//只对已经报出来有timing violation的path,再去做PBA分析-pba_mode exhaustive ...//不管有没有timing violation,只要给定一个点,就对其所有path进行PBA分析//遍历所有的timing path
report_timing path//把整个timing path打印出来,包括startpoint和endpoint,common cell的点、groupget_timing path//把得到的timing path做一个返回,返回数据类型collecting(Synopsys工具里面的数据类型)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/118870.html
摘要:近日,阿里云宣布高性能时间序列数据库简称正式商业化。对于物联网平台企业可以利用和阿里云的产品能力基于如下的架构构建云上的物联网平台。 近日,阿里云宣布高性能时间序列数据库 (High-Performance Time Series Database , 简称 HiTSDB) 正式商业化。 先跟大家聊一下什么叫时序数据。简单的说,就是时间上分布的一系列数值,关键字是数值,我们一般认为的时...
摘要:摘要近日,阿里云宣布高性能时间序列数据库简称正式商业化。对于物联网平台企业可以利用和阿里云的产品能力基于如下的架构构建云上的物联网平台。商业化首发期间,官网推出折优惠活动。 摘要: 近日,阿里云宣布高性能时间序列数据库 (High-Performance Time Series Database , 简称 HiTSDB) 正式商业化。 近日,阿里云宣布高性能时间序列数据库 (High-...
摘要:线下评估策略通常在数据竞赛中,参赛者是不能将全部数据都用于训练模型的,因为这会导致没有数据集对该模型的效果进行线下验证。当时,也就是折交叉验证,被称作留一验证。率也叫真正例率,率也叫假正例率,注意区别于准确率和召回率。 ...
阅读 3826·2021-10-08 10:12
阅读 4322·2021-09-02 15:40
阅读 932·2021-09-01 11:09
阅读 1602·2021-08-31 09:38
阅读 2540·2019-08-30 13:54
阅读 2247·2019-08-30 12:54
阅读 1240·2019-08-30 11:18
阅读 1396·2019-08-29 14:06