自動布局布線

布局就是在版圖上給單元、宏模組等分配物理位置,使得單元、宏模組等部件互不重疊。該分配需要根據用戶給出的特定約束來對代價函式進行最佳化。布局之後,單元和引腳的確切位置己經確定,所需的互聯也已經確定。為布線預留的區域稱為布線區。布線必須在布線區內進行,要遵循布線規則,不能引起布線的規則違反。

基本介紹

  • 中文名:自動布局布線
  • 外文名:Automatic Placement andRouting, APR
  • 所屬學科自動化製圖
  • 類型:自動化製圖術語
術語簡介,布局的目標,布局主要算法,布線方法,全局布線,詳細布線,

術語簡介

布局是決定核心單元、宏模組等電路部件位於版圖平面的位置的設計步驟。給定一組標準單元和宏模組,以及這些組件的特性寬度、高度等,並給出連線這些單元、宏模組和引腳的一組連線。布線過程用於實現各模組的連線,生成所有連線的幾何互聯版圖,需加以適當的約束信息,如時序等。不同的設計對布線過程可能有不同的目標要求,一般設計都會要求布線總長度最小,時序驅動的設計還要求所有連線都能達到時序約束的目標。

布局的目標

在布局期間,需要最佳化一個特定的最佳化目標函式。目標函式通常包括連線長度、擁塞、切割線數目和晶片性能等。既然一些目標,如連線長度,在詳細布線之前不能精確得到,這種目標最佳化需要在布局過程中進行估計。

布局主要算法

布局工具主要是使用兩類布局算法,啟發式布局和增量式疊代布局。啟發式布局使用一系列的規則來實現,常用的方法是min-cut算法和特徵值算法。在系統劃分的時候,布局通常從一個啟發式的方案開始,接下來使用增量式算法。
Min-cut布局方法使用一系列的連續劃分來實現,首先將布局區域劃分為兩部分,接著交換兩邊的邏輯單元以使所切連線數最小,重複上述過程,直到所有的邏輯單元都以完成布局。增量式疊代方法對於一個已存在的布局,通過移動邏輯單元來試圖改善布局質量。該算法主要包括兩部分,選擇規則以決定試圖移動哪些邏輯單元評價規則以確定是否移動選擇的邏輯單元。

布線方法

布線所使用的方法可以分為兩類,第一種使用兩階段的方案來解決布線問題,首先執行全局布線,產生一個比較鬆散的布線結果,接著進行詳細布線面,把每一連線映射到最終的幾何版圖。第二種方法稱為區域布線,該方法試圖一次性解決所有的布線問題,對一條連線布線時需要考慮所有的布線區域,計算量十分龐大。

全局布線

全局布線並不作實際的連線,只是對互聯進行規劃,為每個線網尋求一個布線路徑,將各個線網的各個部分合理地分配到各個布線通道中去,並明確定義各布線通道區中的布線問題,其目標是為詳細布線提供詳細的布線指導。全局布線包含三個階段,區域定義、區域分配和引腳分配。

詳細布線

詳細布線包括通道布線、2D-switchbox和3D-switchbox布線。詳細布線使用全局布線得到的各連線使用的通道信息,來決定各互連線的確切位置和所在金屬層。布線過程中要遵守布線規則,如通孔間距、通孔與金屬線的距離等規則。通常在多層工藝中,各金屬布線層只在一個方向布線,以減少連線交叉的情況。詳細布線完成各邏輯單元的互聯之後,主要執行對己完成布線的最佳化工作,主要包括,最小化互聯長度和面積,減少層間的通孔數,最小化關鍵路徑延遲等工作。
詳細布線完成之後,可以提取連線確切的幾何信息,用於計算連線的延遲模型,不僅要考慮連線的幾何形狀長、寬、布線層的分配和通孔,還要考慮該連線與其他連線的關係。如果一些聯繫不能達到它們的時序約束可能需要對該過程進行疊代。

相關詞條

熱門詞條

聯絡我們