从表2和表3中可看出,在使用signoff端角进行时序检查时,各个端角下的违反路径并不能相互覆盖.而在少量增加违反路径的情况下,定制的端角组合C7和C16能够99%以上地覆盖其他端角.
2 定制RC端角的应用
2.1 改进时序分析流程
在目前先进工艺的集成电路设计流程中,设计完成布局布线以及优化后,需要在多种signoff端角下进行多模式多端角的时序检查(MMMC时序检查),如用wc_cworst, wc_rcworst, wcz_cworst, wcz_rcworst, tc_cworst, tc_rcworst 6个signoff端角进行建立时间检查;用wc_cworst, wc_rcworst, wcz_cworst, wcz_rcworst, tc_cworst, tc_rcworst, bc_cbest, bc_rcbest, bc_cworst, bc_rcworst, ml_cbest, ml_rcbest, ml_cworst, ml_rcworst 14个signoff端角进行保持时间检查.这就意味着在进行MMMC时序验证的时候,如果每一种模式下都用20个端角来进行时序检查,就会产生大量的时间开销.
我们在第2小节中定制了两个RC端角——rccustom_max, rccustom_min,分别用于最差电阻电容和最佳电阻电容计算.试验结果表明这两个RC端角下互连线延时可以覆盖工艺厂商提供的5个RC端角,且wc_ rccustom_max组合端角在建立时间检查时,可以99%地覆盖用于建立时间检查的signoff端角,而bc_ rccustom_min组合端角可以99%地覆盖用于保持时间检查的signoff端角,故每次时序分析的端角由原来的20个减少为2个,减少工具运行时间达90%.
改进的时序分析流程如图5所示.
2.2 应用实例及分析
1.2节中对定制的两个RC端角的评估结果显示,定制的端角组合C7和C16能够99%以上地覆盖其他端角.以设计模块X1为例,采用图5所示的改进后的流程,对模块X1进行设计优化直至时序收敛.然后,分别从时序结果、插入缓冲单元数目以及时间开销等方面对比分析改进的时序分析流程与传统的MMMC时序分析流程.结果如表4和表5所示.
从表4中的结果可以看出,在定制端角组合下时序都收敛后,在其他signoff端角下时序也都收敛.从表5中可以看出,X1模块在signoff阶段,相比传统的MMMC时序分析流程,改进后的分析流程下缓冲单元数增加了22.07%,而面积则增加了21.65%.
在传统的MMMC时序分析的过程中,需要提取cworst_0c, cworst_125c, rcworst_0c, rcworst_125c, cbest_0c, cbest_125c, rcbest_0c, rcbest_125c八个RC端角下的寄生参数,改进后的流程中需要提取rccustom_max和rccustom_min两个RC端角下的寄生参数,而单个端角下寄生参数提取大约需要4~5 min.因此,相对传统的分析流程,改进的分析流程在寄生参数提取这一环节中,每次可以减少大约24~30 min的时间开销.
在传统的MMMC时序分析流程中,建立时间检查需要运行6个端角,保持时间检查需要运行14个端角.而在改进的分析流程中,只需要运行C7和C16两个端角.而单次静态时序分析大约需要2~3 min.因此,相对传统的分析流程,改进的分析流程在静态时序分析这一环节,每次可减少约36~54 min的时间开销.
综上分析,对于改进后的时序分析流程,虽然缓冲单元会有22.07%的额外开销,在只有计算工具运行时间的情况下(不包括人为参入的时间),每次时序分析大约可减少60~84 min,即时间开销大约减少了84%.
3 结 论
在进行传统的MMMC时序分析时,每次时序分析需要运行近20个端角,导致单次时序分析时间过长.又因为端角间不能相互覆盖,这就进一步增加了实现与时序验证工具之间的切换次数以及手工ECO的时间.
本文的主要工作是定制一个可以覆盖其他端角的RC端角,使得该RC端角下优化收敛的电路在其他所有signoff端角下都可以时序收敛.然后根据定制的RC端角,对传统的MMMC时序分析流程进行改进,并通过应用实例在时序结果、插入缓冲单元数目以及时间开销等方面对比分析改进后的分析流程与传统的MMMC时序分析流程.
以设计模块X1为例,当芯片在定制的端角下时序收敛后,在signoff端角下也同样时序收敛,且相对于传统的MMMC时序分析流程,缓冲单元数增加了22.07%,单元面积增加了21.65%,但是每次静态时序分析,在不包括人为参入时间的情况下,工具运行时间减少了84%.
相关专题:华北煤炭医学院 山东行政学院学报投稿