布线后修复时序违规的方法研究内存时序_第1页
布线后修复时序违规的方法研究内存时序_第2页
布线后修复时序违规的方法研究内存时序_第3页
布线后修复时序违规的方法研究内存时序_第4页
布线后修复时序违规的方法研究内存时序_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

布线后修复时序违规的方法研究内存时序 摘要:90/65nm下后端设计中由于多模式-角落,以及布局布线工具和签收工具之间的误差性,布线后修复各种时序违规如渡越时间、负载、建立时间、保持时间、串扰等将是一项十分耗时的工作。如何快速修复各种违规,取得设计收敛是后端设计者所关注的。本文分析了各种情况,提供了一些解决方案。 关键词:90/65nm;渡越时间;负载;建立时间;保持时间;串扰噪声;多模式-多角落;签收 Methodology research on fixing timing violations during post-route ZENG Hong (Verisilicon Microelectronics (Shanghai) Co., Ltd, Shanghai xx04, China) Abstract: In IC backend design under 90/65nm, due to multi-mode multi-corner as well as correlation problems between place & route tools and signoff STA tools, the fixing timing violations such as slew/load, setup/hold, crosstalk during postroute stage remains a nontrivial and tedious work. Backend designer trys to remove these violations to achieve timing closure faster. In this paper, all the problems have been analyzed, together with corresponding solutions for your reference. Keywords: 90/65nm; slew/load violation; setup time; hold time; crosstalk; multi-corner multi-mode; signoff 1引 言 90/65nm下芯片的后端设计变得更加复杂,随着模式(mode)和角落(corner)的增多,如何快速取得各种情况下的时序收敛成为设计的重要目标。由于串扰影响严重,在布线完成后(postroute)往往会产生很多新的时序违规,通常布局布线工具的布线后优化功能能够修复大部分的违规,但是由于布局布线工具(如IC Compiler, ICC)与签收工具(如PrimeTime)的不完全一致性,签收阶段(signoff)的静态时序分析将报告出最终的剩余违规结果。对于这部分违规,只要弄清原理,用人工手动或写脚本的方法都能快速修复,比布局布线工具修复要高效很多。 2修复渡越时间/负载违规 据文献1,一个逻辑门的延迟特性由它的输入信号的渡越时间(slew)和输出引脚的负载(load)来决定。Synopsys Liberty(.lib)格式用输入信号渡越时间和输出负载构成的二维查找表来描述门单元的延迟和输出信号渡越时间2,如下面的公式: T(delay)=f ( Input slew , output load ) T(output slew ) =g ( input slew , output load ) 目前的静态时序分析工具都是基于这个查找表来进行单元延迟的计算的。通常来说,输入信号渡越时间越差,单元负载越大,则输出延迟越大,输出信号渡越时间越差。输出信号渡越时间经过连线传播以后的值可作为下一级单元的输入信号渡越时间用于新的计算。信号渡越时间/负载违规使得输入项超出了查找表的范围,造成了外插值(extrapolate),这样得到的计算值是不准确的。而且较差的信号渡越时间会一直传播到下几级逻辑中去,引起更多违规,并增加整条路径延时。较差的信号渡越时间还会使门单元更容易受到串扰噪声的影响,还增加了门单元的短路功耗。通过修复信号渡越时间/负载 违规,使信号渡越时间/负载输入值落入查找表的正常范围,不仅可以得到精确的计算结果,还能减少路径延时,增加门单元抵抗噪声的能力。 信号渡越时间和负载 违规经常伴随着一起出现,其主要原因是一个弱驱动单元(小单元)去驱动一些重负载(大单元)所造成的。如果修复了其中一个,其他违规也会少很多。下面分析几种常见的情况。 2.1 小单元驱动大单元,连线过长 图1 (a) 显示,BUF1驱动一个很长的线Net1上的BUF16,造成BUF1/Z端出现负载 违规,BUF16/I端及BUF1/Z端都出现信号渡越时间违规。解决方法之一是增大驱动单元(upsize driver),见图1 (b) ,这种方法对布线的影响最小,应优先考虑。注意驱动单元不能增加的过大,因为本级单元同时是上一级的负载,过大的单元会造成新的信号渡越时间/负载违规,并且会增加上一级的延迟。如果驱动单元本身已经很大,没法再增大,则只能通过添加驱动单元(buffer)来解决。 添加驱动单元要讲究物理位置。图1 (c)显示了3种加驱动单元的位置,分别是靠近驱动单元(BUFI)的位置A,偏中央的位置B,和靠近负载单元的位置C。其中以位置B效果最好,它既能减轻BUF1的负载,又能给BUF16提供足够的驱动能力,能一次性解决2个信号渡越时间违规和1个负载违规。如果在位置A加入,则能修复BUF1/Z的信号渡越时间/负载违规,但可能没法修复BUF16/I的信号渡越时间 违规。如果是在位置C插入,则能修复BUF16/I端的信号渡越时间 违规,但是BUF1/Z端的信号渡越时间/负载违规不一定修复,而且新加的BUF8/I端也还可能出现新的信号渡越时间违规。 新加的驱动单元(buffer)就像中继器(repeater)一样,能驱动比较相等的距离最好,有的甚至要加23个。有时候加入反相器对(inverter pair)比驱动单元效果要更好,因为反向器本身延迟小,单元面积小,而且它们数量比驱动单元多,相应可以驱动更远的距离,见图2 。 可以看出假设让一个BUF1驱动1000um的连线和一个BUF16,加一个BUF8需要在偏中间位置,每边500um左右,而一组反向器对可以分隔成300um,400um,300um的距离,从而达到更好的驱动效果。连线分隔得短,有利于减少上一级的连线负载,可以减少整条路径的延时。在连线更长的时候,反向器对的优势能够更加明显。反相器对对于恢复信号的相位及保持占空比有着特殊的作用,这也是时钟树路径(clock tree path)上偏好用反向器对而不是驱动单元的原因之一。 2.2 多扇出情况,其中一个负载很大,连线很长 多扇出情况比较复杂,如果其中有一个负载较重,会造成所有连接的引脚(Pin)的信号渡越时间/负载违规。见图3 :BUF1/Z端通过Net1 连接到3个输入pin,较近的AOI2/A1 ,OAI3/B2端, 还有一个较远的BUF16/I端,由于BUF16负载很大,连线过长,BUF1/Z 出现负载违规,BUF1/Z,AOI2/A1,OAI3/B2及BUF16/I端都出现信号渡越时间违规。 同样可以考虑增大BUF1的驱动能力,比如增大到BUF8,见图3(b)左下侧。如果要插入驱动单元,也必须注意添加驱动单元的物理位置,图3(b)显示了2种位置,位置B的效果要好于A,因为这些违规都是由于BUF16的输入电容过大,连线太长引起的,在BUF1/Z到BUF16/I的连线中段(B处)加入驱动单元,可以全部修复所有的违规。如果在靠近BUF1/Z输出端(A处)加,BUF1/Z端的负载违规将被修复,AOI2/A,OAI3/B2端的信号渡越时间 违规可能被修复,但BUF16/I端的信号渡越时间违规可能仍然维持。 总体来说,对于信号渡越时间/负载违规,优先考虑增大驱动单元;如果要插入驱动单元(或反向器对),则需考虑其物理位置,对于修复负载违规,可直接在输出引脚周围加,对于修复信号渡越时间违规,应尽量在连线的中间位置加。 3修复串扰噪声违规 在90/65nm下,由于线间距的减小和金属层次的增多,串扰延迟(crosstalk delay)和串扰噪声(crosstalk noise)的影响越来越大。串扰延迟主要是影响时序路径的结果,造成一定的偏差,如出现新的违规,造成新的信号渡越时间/负载违规。串扰噪声是不确定性的噪声信号,会产生毛刺信号引起电路误操作。这两者都必须设法消除。串扰的预防在布线前,可以通过设置信号渡越时间限(limit),宽松布局等来实现,在布线后则靠后端工具(如ICC)的串扰优化修复能去除大量的串扰延迟违规,对于少量的剩余违规,可以考虑下面的方法手动操作: 1) 对违规线定义使用23倍线间距布线规则(non-default rule),进行局部重新绕线(re-route),拉开它们与其它线的距离,在布线资源充足的条件下还可采用2边VDD/VSS做屏蔽线(shielding )。或者移动连线相关单元的位置,进行重新绕线。也可手工拉开违规线与其他线的间距,或采取调换金属层次的方法,减小相邻线间的耦合作用。 2) 和修复信号渡越时间/负载 违规一样,可以加大受害线(victim)的驱动单元或者加入驱动单元,增强驱动能力。通常可以把修复信号渡越时间/负载违规和修复串扰违规放在一起修复,因为可以使用同样的修复方法。 3) 为了减小数字和模拟区域之间的干扰,可以在数字和模拟区域交界处设置布局布线阻挡区域(placement/route blockage),禁止数字信号线从模拟区域穿过。模拟模块周围加N+/P+保护环(guard band/ring)接电源或地线,隔离噪声。在模拟与数字区域之间可放置大量的去耦电容(decap)单元,过滤毛刺信号。 4修复建立/保持时间违规 时序方面的2种基本检查是建立时间检查(setup time check)和保持时间检查(hold time check)。建立时间检查是为了保证电路的正常工作频率,保持时间检查是为了保证芯片的正常工作。对于建立时间违规,必须加快数据路径,对于保持时间违规则必须减慢。 手工修复建立时间违规的方法有: 1) 增大驱动单元(driver cell),但不能增大太多,因为这同时也加重了前级负载,造成前级延迟增加。 2) 如果库单元支持多阈值电压如HVT/RVT/LVT,可以考虑把路径中的HVT单元替换成RVT/LVT,因为低阈值单元电路速度快。 3) 连线中间插入驱动单元,增强驱动能力,但对减小路径延时不一定有效,因为驱动单元自身也有延迟。 手工修复保持时间违规的方法有: 1) 在路径终点(endpoint)加驱动单元/延时单元。 2) 在路径中间建立时间余量(slack)最大的节点处加驱动单元/延时单元。 3) 把RVT/LVT单元替换成HVT。 修复建立时间/保持时间的一个关键点是修复建立时间违规不会引起新的保持时间违规,修复保持时间违规不会增加新的建立时间违规。这可以从一个时序余量(slack)的角度来考虑,即在修复建立时间(保持时间)违规时造成的时序路径变快(慢)不至于使得该节点的最小(min)(最大)余量变成负值,即发生违规。余量反映的是通过该节点的最差值,可以通过Primetime的report_timing ?through $pin ?delay max 和 report_timing?through$pin?delay min来得到。如果该值的变化都没有造成新的违规,那么修复所引起的变化将是安全的。随着各模式-角落情况的增多,可以把各种模式-角落(即场景,scenario)下的节点余量合并到一起,取最差的值作为合并后的值,形成查找表供手动修复参考,见图4。 同时前文所讲的修复信号渡越时间/负载和串扰违规同样也会造成节点余量的变化,有可能出现新的建立时间/保持时间违规,这些都需要引起注意。例如修复信号渡越时间/负载,减少了路径延时,会产生新的保持时间违规;添加驱动单元来修复串扰,造成新的建立时间违规等。 以上都是在数据路径(data path)上进行修复,当数据路径上已经没有余量可以优化时,可以考虑在时钟树路径(clock tree path)上进行调整,即采用有用的时钟歪斜(useful skew)技术,见图5 。 如图,假设FF2有建立时间违规,中间的数据路径很长,已无法进行优化,这时可以在FF2的CK端多增加一级驱动单元或延时单元,即推迟到FF2的时钟到达时间,这样实际上给数据路径增加了余量,从而修复了这个建立时间违规。同理,对于FF2的保持时间违规,可以给FF1的CK端加驱动单元,推迟到达FF1的时钟信号。由于对时钟路径进行了调整,有可能会引发别的建立时间/保持时间违规,设计者可以查询FF1,FF2本身的余量来评估一下。Useful skew技术在修复建立时间违规方面有很显著的作用,使用的较多。 5结论 对于芯片后端设计工作者来说,修复布线后的信号渡越时间/负载违规、建立时间/保持时间违规、串扰违规是签收阶段重要的工作内容,经常要经历反复迭代。设计者必须弄清原理,具体问题具体分析,如果能加以脚本进行处理,必能快速解决问题,取得时序收敛。 _ 1 杨华中,罗嵘,汪蕙等. 面向微系统芯片的建模方法M. 清华大学出版社,xx: 105107 2 Synopsys online document. Library Compiler Manual. Synopsys Inc, xx.09 version: 232235 3 Synopsys online document

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论