微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 为什么ICC 在place_opt后会将一些nets tie low?

为什么ICC 在place_opt后会将一些nets tie low?

时间:10-02 整理:3721RD 点击:
在执行 "place_opt -area_recovery -effort medium -congestion -optimize_dft" 后, 用命令“ report_tie"显示tie high or tie low情况,
report_tie的结果显示某些signals居然也被tie low ,而这些signals属于普通的节点,他们的驱动源都是某些寄存器的输出,这些寄存器输出不会是固定电平,report_tie结果:
Design has 136 tie low net(s):
net U_hpf_v_flt/n98 connects wicht following port(s) or pin(s):
U_hpf_v_flt/add_95_4/B[4]
...........
最后跑完整个ICC流程,在ICC output的verilog 文件中:assign n98=1'b0; 而输入到ICC的verilog文件中n98其实是来自于一个寄存器输出端Q;所以经过icc之后,电路逻辑发生了变化,请问各位大侠这是什么原因造成?谢谢

先跑形式验证,看是逻辑等效还是ICC真的出错了;如果真的出错了,试试不用optimize_dft,我遇到到optimize_dft出错的情况

谢谢chrisyl.
拿掉-optimize_dft,place_opt的结果依然是一样的。
我确信ICC 将这些节点tie low会造成逻辑错误的。
不知道会是什么原因造成的?

ICC有个特性,会在OPT时i将无驱动的input PIN自动接到Tie Low上,检查你在palceopt之前的那些pin
是否是悬浮或者没有驱动。

opt的时候,会有pin swap ,place后的n98与place前的n98已经或许不是同一个等价的net了。
所以你没有必要专门看某个net,需要形式验证来检验。

楼上说的没错,做下后续验证下其实是没有任何问题的。

请问如果确认是悬空的pin 请问如何解决呢?是要让前端去掉或者tie 到固定电位吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top