新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 在后版圖網(wǎng)表上優(yōu)化泄漏功率

在后版圖網(wǎng)表上優(yōu)化泄漏功率

作者: 時(shí)間:2011-04-23 來(lái)源:網(wǎng)絡(luò) 收藏

  這種算法的主要概念是根據(jù)其所影響的端點(diǎn)數(shù)目對(duì)標(biāo)準(zhǔn)/低Vth單元進(jìn)行分類(lèi)。

  比如,經(jīng)過(guò)單元D、E 和 F終止于單個(gè)端點(diǎn) (“端點(diǎn)1”和“端點(diǎn)4”) 的路徑,由于它們只影響一個(gè)端點(diǎn),故標(biāo)注為#1 (或“group_1”)。

  同樣地,單元B和C屬于#2 (或“group_2”),因?yàn)樗鼈冇绊憙蓚€(gè)端點(diǎn) (“端點(diǎn)2”和“端點(diǎn)3”),“group_2”……“group_n”以此類(lèi)推。

  對(duì)單元進(jìn)行分類(lèi)和標(biāo)注之后,我們就可以從“group_1”開(kāi)始,在一條正Slack路徑上執(zhí)行單元的遞增式交換,然后是“group_2”…… “group_n”。在 PrimeTime中,利用“what-if analysis”來(lái)完成這一任務(wù)。

  在任何兩個(gè)鄰近組“group_n”和“group_n+1”之間,算法都進(jìn)行時(shí)序更新,以便在對(duì)“group_n+1”的任何單元進(jìn)行交換之前,考慮到“group_n”上執(zhí)行的交換。這是為了避免因虛假交換導(dǎo)致稍后必需修正 (重新交換)。

  在進(jìn)入“group_n+1”之前,對(duì)“group_n”中的所有可能單元都進(jìn)行交換測(cè)試。這么做的目的是確保整個(gè)設(shè)計(jì)的最大交換次數(shù)。

  舉一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明這種方法的原理:

  路徑1:A --> D --> “端點(diǎn) 1”,正Slack +50 ps

  路徑2: A -->B --> C -->“端點(diǎn) 2”,正Slack +70 ps

  此外,假設(shè)在下列單元上交換到高Vth將導(dǎo)致:

  ● 單元D和B的單元延時(shí)將增加30 ps

  ● 單元C的單元延時(shí)將增加35 ps

  ● 單元A的單元延時(shí)將增加45 ps

  現(xiàn)在,對(duì)這兩條路徑的泄漏優(yōu)化,我們有兩個(gè)選擇:

  ● 選擇1:把單元A交換到高Vth;這將在路徑1上產(chǎn)生 +5 ps 的Slack,在路徑2上產(chǎn)生 +25ps Slack。不過(guò),這并非最佳方法,因?yàn)樗焕诮粨Q更多的單元 (B、D和C),節(jié)省的總體泄漏功耗較少。

  ● 選擇2:把單元D交換到高Vth,這將在路徑1上產(chǎn)生 +20 ps 的Slack;交換B和C將在路徑2上產(chǎn)生 +5ps Slack。這種方法是迄今最好的方法,節(jié)省的泄漏功耗較大 (假設(shè)單元B、C和D的總體泄漏功耗大于單元A的泄漏功耗。)

  此外,在交換某個(gè)單元時(shí),我們必須把影響相同端點(diǎn)的所有其他組單元排除在外。如上例,若我們現(xiàn)在在“group_2”中,并交換單元C,則我們就必需在下一次搜索中把“端點(diǎn)2”和“端點(diǎn)3”除去,直到時(shí)序更新完成。只有這樣,才能獲得路徑的正確時(shí)序,然后我們可以繼續(xù)檢查單元B的交換。否則,就可能導(dǎo)致虛假交換,而過(guò)多虛假交換也許會(huì)造成路徑出現(xiàn)負(fù)Slack。

  3.重新交換違反者 (violators)

  由于PrimeTime“what-if”分析的結(jié)果可能不同于執(zhí)行ECO及運(yùn)行整個(gè)Signoff的結(jié)果,在完整提取之后常常少有違反出現(xiàn),同時(shí)沒(méi)有在Signoff 運(yùn)行之前檢測(cè)。這是因?yàn)閱卧粨Q會(huì)造成單元電容的變化。在執(zhí)行“what if”時(shí),PrimeTime必需對(duì)這種變化進(jìn)行“在線”重新計(jì)算,同時(shí)在整個(gè)Signoff下重新提取,以提高精度。顯然,PrimeTime的重新計(jì)算要快得多,并因此讓整個(gè)方案具有可行性。

  把產(chǎn)生違反的單元Swapping-back (換回) 到其原始形式的次數(shù)應(yīng)該盡量小。

  因此,Swapping-back的情況與2.2節(jié)描述的過(guò)程相反。

  一般而言,每一個(gè)被交換過(guò)的單元都被標(biāo)注為“已交換的”,故在執(zhí)行重新交換時(shí),我們需要從違反端點(diǎn)沿路徑往回搜索,找到之前“已交換的”單元,就把它交換回原始形式。

  為了有效完成這一工作,并盡量減少換回次數(shù),我們首先換回那些影響端點(diǎn)數(shù)目最多的單元。

  且看下面的簡(jiǎn)單例子:

  假設(shè)A、B、C和D是準(zhǔn)備交換的單元,但在執(zhí)行ECO、提取 (即Signoff) 之后,在“端點(diǎn)1”、“端點(diǎn)2”和“端點(diǎn)3”上存在建立時(shí)序違反,出現(xiàn)較小的負(fù)Slack:

  路徑1: A --> D --> “端點(diǎn)1”,負(fù) Slack -3 ps

  路徑2: A -->B --> C --> “端點(diǎn)2”,負(fù) Slack -5 ps

  路徑2: A -->B --> C --> “端點(diǎn)3”,負(fù) Slack -5 ps



關(guān)鍵詞: 后版圖 網(wǎng)表 泄漏功率

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉