今天把公式
criticality=
l
*10/(1+slack-wns)+(1-
l
)*10/(1+dis)中的
l从
0.9调小做了数据统计,发现时序在0.9的情况下是最好的,对此我认为,distance在公式中相当于是一个tie break的参数,因为对于一条critical path上的所有pin的slack是相同的,所以用原公式计算的这些pin的criticality是相同的,选择哪个pin的net所连接的两个cell进行pack完全由pin在队列中的位置决定,而(1-l)*10/(1+dis)这一项正好能将这些优先度相同的pin做一个更细致的排序,所以作为tie break来说,l=0.9就足够了,而当l再减小就会把一些非critical的pin提前pack,这就破坏了优先pack critical path上的cell的初衷。
下午我觉得有必要再增加一些case进行测试,于是把mcnc_bt、quit等目录中含有FF的case加入到了测试列表,测试过程中遇到了一些问题,比如之前没有考虑8个SLICE构成MUXF tree的情况,现在正在debug。