求助一个多电压域设计的时序检查问题
时间:10-02
整理:3721RD
点击:
求助,如题
设计用的一套lib有1.1V和0.9V两个不同电压的lib, lib里面的cell都是同一个ref name,只是工作电压不一样而已。
pr完成之后想做个timing check发现一些问题
1. pt工具读完我的lib和我的netlists和upf之后,发现report timing。工具找的cell都是来自0.9V的lib。有些应该是用1.1Vlib的cell没有按照预期从1.1Vlib中找相应的cell delay值。
2. report_timing -voltage。这个命令试了下,看到这些找错lib的cell,报告出来的voltage都是1.1V的voltage。也就是说,voltage是对的。但是lib找错了。
3. 我试过如果我用命令 link_path_per_instance 非常明确的是把每个1.1V的cell单独拉出来做link。那么报告出来的timing就是对的。report_cell也可以看到这些cell是来自1.1V的单元。但是这样过UPF不就没用了?
我的primttime里面flow大致如下:
set target library ,link_library
link
source xxx.upf
target_library和link_brary都是把所有的0.9和1.1两个lib都放进去了。
我怀疑是我link的方式有些问题。导致工具找library找错了。而且upf是跟在link后面的,都link下去了。不知道有没有什么影响。
可能是因为两个不同电压的lib,里面的cell都是同名的,upf虽然加上去了。但是工具找cell还是找的有问题。都往我低电压的lib去找了。
没做过mv的项目,记得icc是通过set_voltage的约束确定使用那个lib的,只做参考意见
看了一些资料知道要用link_path_per_instance去做不同电压域之间的link了。普通的set_voltage 和load_upf没效果的。工具还是从target library link_library去找单元直接link过去了。