尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

❓ 问题:postCTS 阶段检查时序,发现某条 path 的 hold violation 高达 250ps,这时候让工具自动修复靠谱吗?

❓ 问题:postCTS 阶段检查时序,发现某条 path 的 hold violation 高达 250ps,这时候让工具自动修复靠谱吗? ❓ 问题postCTS 阶段检查时序发现某条 path 的 hold violation 高达 250ps这时候让工具自动修复靠谱吗这是景芯训练营里被问烂了的经典问题。很多同学跑完 CTS 一看 reporthold 违例 200ps、300ps第一反应就是丢给工具自动修psynopt -only_hold_time或者optDesign -postCTS -hold。修完之后一看hold 是没了setup 崩了congestion 也炸了绕线绕不通。问题出在哪一、250ps 的 hold 说明什么正常的 clock tree 做完之后hold violation 一般在几十 ps 以内。如果一条 path 的 hold 违例高达 250ps大概率不是data path 太短这么简单而是clock tree 严重不平衡。要么 launch clock 比 capture clock 短了 200ps 以上要么某个 ICG 的位置被锁死导致局部 skew 爆炸。这时候让工具自动修工具只会做一件事在 data path 上疯狂插 buffer。250ps 可能要插三四颗 buffer 才能垫够 delay。buffer 一多setup 的 slack 直接被吃掉而且局部 density 飙升后面绕线全是 short。二、正确的处理流程是什么第一步先看 clock tree。打开 CTS debugger检查这条 path 的 launch 和 capture clock latency 差了多少。如果差值接近 250ps那问题在 clock tree不在 data path。回去调 clock balance比插一百颗 buffer 都管用。第二步区分 IO path 和内部 path。如果是从 pad 进来、直接打到寄存器的 IO holdpostCTS 阶段根本不该修。IO 的 hold 通常靠 IO buffer 内部的 delay 或者约束里的 set_input_delay 来处理在 PR 阶段硬修只会越修越乱。第三步如果真的要修等 route 之后用 PT ECO。PR 阶段自动修 hold 是盲修不知道物理位置PT 做 physical-aware ECO 能精确控制 buffer 插在哪里不会插出 overlap也不会把 setup 搞崩。 训练营学员常踩的坑有同学 postCTS 看到 250ps hold直接让工具跑了一晚上插了 2000 多颗 buffer结果 setup 从 0.3 变成 -0.5绕线全是 short。最后发现是 clock tree 里一个 ICG 被 dont_touch 锁死了skew 200ps。把 ICG 放开重跑 CTShold 直接降到 30ps一颗 buffer 都不用插。 答案详见知识星球「景芯训练营」星球内已更新① postCTS 阶段 hold 排查清单含 ICC2/Innovus 对应命令② PT physical-aware ECO 修 hold 的完整脚本含 setup margin 保护、buffer 位置控制③ 3 个真实项目案例IO hold 处理、clock tree skew 导致的 300ps hold、setup/hold 互卡的破解方法。加入后搜索hold 250ps即可获取。
返回列表