❓ 问题:流片前做功能ECO,后端改完 ecoPlace 和 ecoRoute 就可以交片了吗?

❓ 问题:流片前做功能ECO,后端改完 ecoPlace 和 ecoRoute 就可以交片了吗?

这是景芯训练营里被问最多的"致命错觉"之一。很多同学觉得:前端就改了几行RTL,后端用 Innovus 跑个 ecoPlace、ecoRoute,PrimeTime 里 setup 看起来没恶化,是不是就能直接 tapeout 了?答案是:远远不够。功能ECO不是"打补丁",逻辑一变,物理、时序、功耗、验证全都会连锁受影响。

一、Formal Verification 必须重做

先用 Formality 或 Conformal 跑逻辑等效性检查,确认 ECO 脚本在逻辑层面没"改坏"设计。重点看 report 里有没有 Unmatched Points,必须全部清零才能往下走。这一步跳过去,后面所有工作都是建立在"网表可能不对"的基础上。

二、ECO 物理实现要检查三个坑

Pre-mask ECO 可以直接调用库里的标准单元,用 addInst 加新 cell,再跑 ecoPlace 和 ecoRoute。

Post-mask ECO 只能用预先散布的 spare cell,工具会自动映射新逻辑到可用 spare cell 上。

不管哪种,都要检查:有没有 Unplaced Cells?新增绕线区域有没有拥塞?有没有 DRC 违例?这些 APR 工具都能快速筛查,别偷懒。

三、CTS 要慎之又慎:小改可尝试,大改则重跑

如果 ECO 只改了数据路径,没碰时钟,可以不动 CTS。但如果动了时钟分频器、时钟 MUX 选择端,或者插了超过 3~5 个带 clock enable 的 DFF,时钟树结构已经变了。这时候做局部 CTS ECO 风险极高,insertion delay 和 skew 很难恢复到原来收敛的状态,大概率越修越乱。更稳妥的做法是:直接放弃 ECO 方案,重跑全套 APR。

四、STA 必须全部重跑

所有工艺角(corner)的 setup 和 hold 都要重新 signoff。不仅看 ECO 新增路径,还要检查周边受影响路径的 slack 是否仍然充足。如果 hold 出现违例,插 delay buffer 会进一步影响面积和功耗,要评估连锁反应。

五、最容易被忽略的一步:带 SDF 的门级后仿真

STA 只能覆盖同步路径的建立/保持时间,抓不到三类致命问题:异步逻辑冒险(Glitch)、X 态传播(X-Propagation)、跨时钟域同步器采样错误。必须从 ECO 后的版图提取寄生参数,反标生成新的 SDF,重新跑一遍带时序信息的 gate-level simulation。后仿如果挂掉,前面的 STA 收敛都是白搭。

💡 训练营学员踩坑实录: 有个项目 ECO 后 STA 全绿,跳过 gate-level simulation 直接送片,结果回片测试发现状态机在上电时进入未知态。追查发现 ECO 引入的新逻辑在复位过程中产生了 X 态传播,而 STA 根本抓不到这个问题。后仿不是"可选",是必须

六、最后别忘了物理验证和功耗分析

DRC、LVS 要重新跑,dummy insertion 可能要重做或人工修改。动态功耗分析(Voltus/Redhawk)也要更新,因为新增 cell 和绕线会改变电源网络负载。记住一句话:ECO 改的是逻辑,但后端要重走的是全套流程。

相关推荐
景芯SoC芯片实战16 天前
ICG的TE端到底该接scan_enable还是test_mode?
数字ic
日晨难再16 天前
Design Compiler:精确映射(-exact_map选项)
数字ic
日晨难再1 个月前
SDC命令详解:使用set_size_only命令进行约束
数字ic
景芯SoC芯片实战1 个月前
Hard Macro的Float Pin设错了,skew balance全白干
数字ic·soc后端
景芯SoC芯片实战1 个月前
12nm工艺下,6T-Turbo Cell的Filler到底该怎么插?
数据库·数字ic·dft·soc后端
日晨难再2 个月前
SDC命令详解:使用quit、exit和return命令进行控制
数字ic
日晨难再3 个月前
Formality:层次化验证(write_hierarchical_verification_script命令)
数字ic·formality
IC修真院3 个月前
高赞问题:NPU可不可以代替GPU?
gpu·ic设计·芯片·微电子·数字ic·npu
日晨难再3 个月前
SDC命令详解:使用report_hierarchy命令进行报告
数字ic