ldpack工作日記 2016 5 19 20

2021-07-11 22:46:59 字數 463 閱讀 6365

修改了packedge的演算法,每次group後更新當前path的criticality(=10 / (1 + slack - wns)),計算方法如下:

1. 計算group前的edge delay(ed1)

2. 計算group之後的edge delay(ed2)

3. 計算差值edoffset = ed1 - ed2,其中必有ed1 >= ed2

4. 計算新的criticality = 10 / (10 / old cirt + edoffset)

5. 找出當前path上的所有pin,修改criticality為新的值,重新對當前佇列中的pin根據criticality和distance進行排序。

該演算法(不做預布局)比原演算法有1.2%的增益。

然後我修改了該演算法的一些引數做了200組測試,正在等待結果,先確定不做預布局的新演算法的最優引數,然後再修改預布局的引數進行測試,找出最優引數,觀察結果。

ldpack工作日記 2016 4 22

1.發現了乙個packing的bug 在對muxf進行打包時,會將和muxf相連的ff一起打包進來,這時候沒有判斷和ff相連的pin是不是d,所以在乙個group中,乙個muxf和ff的r端相連,這個ff也被一起打包進來,這顯然不符合slice結構。已解決。但是這是不是說明pack的drc有缺陷?沒...

ldpack工作日記 2016 4 27

今天把公式 criticality l 10 1 slack wns 1 l 10 1 dis 中的 l從0.9調小做了資料統計,發現時序在0.9的情況下是最好的,對此我認為,distance在公式中相當於是乙個tie break的引數,因為對於一條critical path上的所有pin的slac...

ldpack工作日記 2016 5 6

關於等價單元無法推開的問題,在前五次迭代中,每次迭代找出座標重疊最多的單元,對這些單元的座標加上乙個隨機的擾動,公式如下 x 0.02 rand 100 即會出現 0,2 之間的座標變化,加上隨機擾動後,大部分case能把最大密度降低到2以下,仍然有case的最大密度保持在2以上,還需要繼續debu...