物理设计sign_off阶段hold修复问题
时间:10-02
整理:3721RD
点击:
在物理设计的sign_off阶段,hold修复的过程中,由于设计密度偏高,最后ICE工具修复不干净,需要手动修复;现在写了脚本插入低倍数的BUFF,能把最后工具修不干净的hold问题解决,但是单元插进去之后出现overlap的地方主要是通过ecoplace这个命令来解决的;现在需要写一个挪动单元解决overlap的tcl脚本,不知道怎么解决,求高手、大神指导!感激不尽
你要是能写出overlap removal的脚本,那也太牛了,
直接ecoplace不就好了, 你是想直接修改def 来修timing么,
ice又不是什么好工具,不如ets, pt eco修的好,
dbGetCellFreeLegalLoc 能找到1个坐标多少um范围的合适插某cell的位置。不过还是可能会出现些问题。
1. 这个合理的位置可能会被重复找到,会有2个buffer插到同一个位置
2. 有时候这个坐标多少um范围的确没有位置,会返回一个0x0,这个情况你也得考虑。ecoPlace一般都可以的。
现在工程上用的就是ecoplace,但是写论文的时候老师要求找出一种算法并写出tcl脚本来实现,就说是先实现简单的只考虑挪动单元消除overlap的算法;再进一步考虑其他因素,比如说所动到的线也最少,对setup影响最小什么的。求指导......求交流