数字后端 | Innovus RCFactor 详解:解决与 PT 的时序不一致问题

张开发
2026/4/6 1:38:02 15 分钟阅读

分享文章

数字后端 | Innovus RCFactor 详解:解决与 PT 的时序不一致问题
前言应粉丝要求本文详细讲解数字后端工具 Innovus 中的 RCFactor 功能帮助大家解决 PR 工具与签核工具如 PT之间的时序不一致问题。一、RCFactor 是什么RCFactor 是一个 RC 缩放因子用于校准寄生参数提取值。不同工具Innovus 与 StarRC/QRC提取 RC 的算法存在差异导致提取出的寄生参数数值不同进而造成时序分析结果不一致。RCFactor 的作用就是抹平这种工具间的差异。RCFactor 可以校准的维度包括· 工具之间Innovus vs PT签核· 阶段之间Placement vs CTS vs PostRoute经过合理校准后Innovus 与 PT 的时序差距会显著缩小WNS/TNS 与签核标准的一致性将大幅提升。二、实战步骤三步校准 RCFactorStep 1用 StarRC 抽取标准 SPEF以 PostRoute 版为基础使用 StarRC 抽取 SPEF 文件。该文件将作为校准的 参考标准。Step 2编写 spef_mapFile.tcl映射 RC cornercmax_125 star_rc_max.spef.gz cmax_m40 star_rc_max_m40.spef.gz将 StarRC 抽取出的 spef 文件按 corner 一一对应。Step 3使用 generateRCFactor 生成校准因子generateRCFactor -preroute true -postroute medium \ -reference externalSpef \ -spefMapFile spef_mapFile.tcl \ -outputFile updateRC.tcl· -preroute true提取 Placement 阶段的 RC factor· -postroute medium提取 PostRoute 阶段的 RC factor运行后updateRC.tcl 中会生成新的 RC factor格式示例如下update_rc_corner -name rc_cmax_125 -preRoute {1.05 1.08} -postRoute {1.02 1.03}将这些内容复制到 MMMC 脚本中 create_rc_corner 之后即可生效。三、进阶技巧使用 Ostrich 进行精准校准Innovus 安装目录下提供了一个名为 Ostrich 的工具专门用于对比两个 SPEF 文件的差异。使用方法如下用 StarRC 抽取一版 spef 文件用 Innovus 自己抽取一版 spef 文件将两个 spef 文件输入 Ostrich 进行对比Ostrich 会输出更精确的校准因子比直接使用 generateRCFactor 更加精准。四、避坑指南gba 模式的影响Innovus 默认 GBA 模式下的结果可能无法完全覆盖 PT 的结果需要适当调整 RC factor 才能实现覆盖。preroute 阶段可以适当过约建议将 preroute 阶段的 RC 参数设置得比 postroute 阶段更保守一些提前预留 margin。shrink 工艺需要留意某些工艺例如从 0.13um shrink 到 0.11um 的工艺qrcTechfile 中可能已经包含了 scale factor 0.9。如果文件中未定义需要手动指定setShrinkFactor 0.9一次校准可复用如果你的设计规模足够大一次校准得到的 RC factor 可以复用到同工艺下的其他设计中无需每次重新校准。五、总结RCFactor 是打通 PR 工具与签核工具时序一致性的关键钥匙。通过合理校准可以显著减少工具差异带来的时序分析误差提高设计收敛效率。建议在项目初期就完成 RC factor 的校准工作并在整个项目中保持一致。更多数字后端技术分享欢迎关注#芯片设计 #数字后端 #Innovus #时序收敛 #RC提取 #PT #PR

更多文章