论文部分内容阅读
随着集成电路的设计规模越来越大,特征尺寸越来越小,集成度越来越高,设计难度成倍增加。为了充分利用人力和硬件资源,设计规模超过千万门时一般采用层次化物理设计。传统的层次化物理设计流程是先在顶层进行网表划分,当子模块进行时钟树综合后,采用基于设计(要求)驱动时序图(CDTV,context-driventiming view)的设计方法,利用ETM(Extracted Timing Model)或者ILM(InterfaceLogic Model)模型来提取子模块I/O边界的时序模型,然后反标回顶层进行组装,接着进行顶层的布局布线流程,评估子模块端口的时序在顶层是否收敛,反复迭代以确保子模块和顶层的时序都最终收敛。本文的主要工作及创新包括:1总结了层次化物理设计中顶层网表的物理划分依据及需要注意的事项,旨在顶层网表物理划分时就尽量减少子模块间的端口时序路径,从而减少子模块间的端口时序问题。2本文提出了基于底层子模块物理设计数据,针对子模块间端口时序问题的分析算法。首先,从顶层网表中匹配相对应的端口。然后,从端口出发提取出最大路径延迟。最后预估子模块间端口时序在顶层是否收敛。由于子模块间端口时序的分析算法数据来源于底层子模块的物理设计,不用提取ETM或ILM模型反标回顶层,就能预估出,在不存在时钟偏差等因素的影响下子模块间的端口时序在顶层是否满足,从而节省了迭代次数,缩短了设计周期。3为了减少分析算法的复杂度,本文不考虑端口的时钟偏差因素的影响并着重分析建立时间是否满足,但输入数据中已存在传播时钟,因此为减少端口时钟偏差,本文总结了几种减少端口时钟偏差的方法并实验证明。4通过子模块间端口时序的分析算法进行端口间时序预估后,针对子模块间端口时序不满足的情况,本文总结了四种针对子模块内部端口时序的优化方法及其实现。工程实践表明,本文针对层次化物理设计模块端口时序提出了一整套分析与优化算法及流程,能切实有效地解决层次化物理设计子模块间端口时序问题,减少了迭代次数,缩短了设计周期。本文的实验和结论基于工程项目及建立时间的分析与优化,研究方法和分析算法同样适用于其他项目及保持时间的分析与优化。