PT session 读入 spef 问题
现在情况是我有:
1. Top的 PT session
2. ICC抽RC其中一个block的spef, pin/net之类的名字修改成TOP能mapping到的。
我现在用PT session读spef: read_parasiticsXX.spef
不到一秒钟时间输出1(成功),但是log 也是空的,应该是没有正确读入?
问题:
1. ICC抽的RC PTsession 可以正常读取么?
2. block的spef top读入, spef需要改动什么?, block的port 怎么改?我现在的改动
2.1 spef 第二行 从 DESIGN BLOCK 改成 DESIGN TOP
2.2 spef pin/port/net 名字加“block/" 以在top能找到。
感谢。
read_parasitics -path可以指定block name的,
report_annotated_parasisitcs可以报出读取的情况的,
通常pt是在report_timing的时候自动反映read spef情况的,生成parasitics_command.log这个文件
感谢小编。 -path prefix真是个好东西!
有可能原始的spef有问题,-path 依旧读不出来,现在在重新抽spef.
目前用 read_sdf -path xx 先用sdf大概其凑合着分析block的时序关系。
小编,搭车问个问题。 关于PT报timing.
比如,进block有源clock:CLK1, CLK2.每个clock都有很多generate clock : CLK1 -> CLK1_generate1, CLK_generate2......
在这种情况下。想看两个源CLK group之间的timing
-report_timing -from CLK1 -to CLK2, 报不出timing,
-只能report_timing -from CLK1_generate1 to CLK2_generate2, ......,clock 太多了。而且看起来不是很直观。
有没有什么好的办法可以直接CLK1 - CLK2 timing ?
我现在的做法是把所有generate clock remove 掉, 然后report from CLK1 to CLK2. 但是后来发现sdc种set的false path也没了。 报出了很多不应该有的path...
有点儿长,感谢。
sdc都是人写的,clock的个数多少直接影响到后端sta的复杂性
能否再仔细分析或者找前端讨论下,到底这些generated clock有无必要?
而且clk1,clk2如果本身就是非同源clock的话,还有必要check两者之间的timing么?
感谢小编! 有日子没上论坛了。
这个block大概其是个TOP下面的一个bus block, 所有的其他physical clock都会从里面过一圈,所以就有了80+个create_clock和 200+ 个两级generate_clock.
并且这80+个create_clock 大概其在top上从20+个ICG cell fanout 出来。 结果用 report_timing -from xx -to xx 跑了280x280个combination 跑了三天。
结果重新出了一版netlist, 又得重来。
至于为什么check timing, 我也就是个虾米,日本人也不跟我说细节。
我个人理解(请指正)
- 对于同ICG cell fanout 的clock,
- 如果有timing path, 会把ICG cell放在接近于physical block的地方 1. 增加clock comment path 物理长度,减小clock path ocv 影响。 2. 多数情况下利于ICG hold 收敛(?)
- 如果没有timing path, ICG放在接近PLL 的clock block里面, gating 靠前, 缩短 pll 到 ICG的物理距离,在clock gating的时候,减小pll->ICG 的clock net的动态功耗。
- 对于不同ICG cell fanout 的clock,
- 如果有timing path, balance 各自clock 之间的skew, 减小OCV, 考虑H-tree(ICG拉到block脸上,用宽金属drive ICG ?)。
- 如果没有timing path, ICG 放置接近pll.
额,一知半解。