ldpack工作日記 2016 4 27

2021-07-11 11:48:18 字數 571 閱讀 4375

今天把公式

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。

ldpack工作日記 2016 4 22

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

ldpack工作日記 2016 5 6

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

ldpack工作日記 2016 5 11 12

這兩天主要對max density存在異常的case進行了除錯分析,有乙個case的max density有乙個位置的density只能收斂到1.24,debug發現在最後幾次的迭代中,處在該點位置的單元梯度較小,而處在邊界位置的單元梯度較大,導致高密度處的單元移動步長很小,和似飛討論後,修改了一些...