求助,dc中group和ungroup对面积和时序的优化影响
看到别人的脚本会加入这两句,
ungroup -flattern -all
group_path -nam "INPUT_PATH" -weight 10 -critical_range 0.5 -from xxx
求助下这两个命令对于工具来说,是将要做什么优化,对面积和时序的影响是哪些?
ungroup应该对面积和时序都有好处吧?
但是ungroup之后要找里面的某个cell什么的,就麻烦了。后仿也有点麻烦。
下面这句话不太懂。
1. ungroup为何对设计有优化?是因为工具将所有的module都统一到一个“面”(flat)上进行考虑,从而更易于优化吧?
2.第二个命令,其实就是普通的group,是将一些路径group起来,那么在一个脚本中,有了第一个ungroup命令,之后的group是为了什么?考虑一些特别的路径,需要group么?
1、我感觉是这样的,更利于优化,不需要保留之前的边界。2、这个命令没这么用过,学习了。查了下PT的命令手册。
这条命令应该是把一些path集合起来,这组path在优化时使用相同的cost function weight和critical range。
delay cost function weight,默认是1。这里设为10,感觉就是优化时候更多的考虑这个path。
critical range意思也大概如此,不设置的话。只有violation最大的path,才优化。这个值设得越大,被优化的path就越多。
望高手详细讲解一下。
不要完全ungroup -all -flatten,否则后端不清楚hierarchy , 后仿真也不太好做,
一般是ungroup底下的几个层次而已,
-range 越大越重视了,dc综合的时候,
我这里也不太懂,ungroup到底有什么用啊?小型的设计是不是可以使用ungroup使当前设计成为top啊?这样有什么好处吗?如果使用了ungroup是不是对于输入输出信号就只需要考虑被设置成顶层的这个design了?
一般是让工具自动ungroup一些小的层次吧, 全部flatten不现实吧, 造成hier都没了,
weight, range这些都是有利于timing fix的,
weight是设置优化的权重,weight值越大优化的权重越高,一般都会在给关键路径设置这个值。ungroup没有用过,另外group不是说把设计打平设置层次了什么的,而是根据门控时钟等等,把路径分成组,优化的时候根据分组进行优化。
多看看dc的书籍和帮助就好,自己试试也行的