佈局與繞線 這是矽晶片設計中的關鍵步驟,電子設計自動化(EDA)工具會將邏輯閘在晶片上進行物理佈置(佈置),並透過佈線路徑將其相互連接(佈線)。佈局與繞線 確保數十億個邏輯閘與佈線能以最佳方式容納於晶片有限的面積內,這將影響晶片的效能、功耗及可製造性。
矽晶片的設計是借助 EDA 工具完成的。矽晶片的設計過程包含許多複雜的步驟,但若從最基礎的層面來看,主要步驟如下:
EDA 工具是一套軟體(以及部分硬體)應用程式,能協助設計人員自動化並簡化上述複雜步驟,為晶片設計人員在設計此類複雜裝置時節省了難以估量的時間與精力。當今的矽晶片可能包含數十億個相互連接的邏輯閘,若沒有眾多 EDA 軟體及硬體設計驗證工具的協助,根本無法製造出矽晶片。
在矽晶片設計過程中,關鍵的一步是物理層面佈局(實體設計 ),通常也稱為佈局(佈局與繞線 )。在此步驟中,邏輯設計已完成,接下來將在矽晶片上進行物理佈局。物理層面佈局(佈局與繞線 )主要包含兩個步驟:
佈局: 邏輯閘被佈置在矽晶片上的最佳物理位置
佈線: 邏輯閘的引腳是 透過蝕刻在矽晶片上的金屬化路徑(即「佈線」)相互連接的
由於現代矽晶片上的數十億個閘極在晶片面積上排列得極為密集,且佈線(即物理連接數十億條導線)的空間有限,因此對於實體設計 軟體而言,設計、最佳化佈置與佈線工作極具挑戰性。EDA工具的優劣,主要取決於其佈局與繞線 結果的品質與效率,以及完成實體設計 所需的CPU時間。
在透過 EDA 軟體工具執行佈局與繞線 設計步驟之前,必須先將矽晶片晶粒 設計資料庫以及晶片的邏輯設計提供給佈局與繞線 工具。設計資料庫猶如一張空白畫布,用以承載實體(及邏輯)設計,並向工具指示晶片的實體大小與尺寸;而邏輯設計資料庫則包含邏輯閘及其引腳間的連接關係。
EDA 工具面臨的挑戰在於將邏輯設計佈局與繞線 ,並將其正確且最佳地轉換為實體設計 。給定一個邏輯設計與空白的實體設計 ,可能存在多種佈局與繞線 解決方案;這並非只有唯一解的拼圖。真正的挑戰在於,如何得出一個既符合設計者對功耗、效能與面積(PPA)的目標,又能滿足最終負責製造矽晶片的晶圓代工廠所規定的實體設計 規則的佈置與佈線設計。
關於「佈局與繞線 」實體設計 步驟的相關細節:
在 EDA 軟體完成設計佈局與走線後,即可對生成的實體設計 進行分析,以評估其品質。常見的評估指標包括:
用於佈線的總線長度(通常越短越好)
佈局與佈線擁塞(擁塞程度越低通常越好)
剩餘短路或開路數量(若無法找到訊號路徑,某些訊號可能會發生短路或開路)
設計規則違規次數(無法避免設計規則違規的情況)
EDA 工具還具備強大的圖形顯示功能,可呈現邏輯閘的佈置與實體佈線路徑。工程師可以放大檢視存在問題或擁塞等狀況的特定區域,以便進行除錯或視覺化分析。
圖 1 顯示邏輯閘的佈置(矩形):
圖 2 顯示了多層路由區段。每層皆以不同顏色表示:
EDA 工具在考量設計者所指定的限制條件的同時,能完全自動化執行「佈局與繞線 」步驟。這使工程師能夠引導佈置與佈線結果,以滿足其設計的特定需求。限制條件的例子包括:
除了滿足設計限制外,由 EDA 驅動的「佈局與繞線 」還能檢查設計規則,並確保未違反這些規則,從而產生符合代工廠要求的設計。設計規則的例子包括:
現代的 EDA 軟體工具善用多核心 CPU、多執行緒以及其他軟體與硬體並行技術,以加速佈局與繞線 的各階段流程;這些步驟往往非常耗時,特別是在規模龐大、擁有數十億閘極的設計中。佈局與繞線 軟體可處理任何規模的設計,從小型晶片到大型系統單晶片(SoC),這些設計若以人工方式進行將難以實現。 該軟體亦支援採用任何晶圓代工廠或矽製程技術所創建的設計。佈局與繞線 軟體由 EDA 公司持續優化,以適應新的矽製程技術與封裝選項
透過全面實施自動化實體設計 ,工程師便能專注於更高層級的設計挑戰與創新,而非耗時費力的低階佈局工作。
新思科技 提供全面且自動化的佈局與繞線 解決方案,能生成最佳的物理佈局設計,以滿足嚴苛的時序、功耗及面積要求,同時兼顧個別設計人員的限制條件與指示。 新思科技 具備自動化佈局與繞線 功能的產品包括:
這些產品提供完整的矽晶片設計解決方案,其中「佈局與繞線 」是其中關鍵的一環。作為統一的設計環境,它們涵蓋可行性探索、原型設計、佈局規劃 、設計、優化、分析、驗證以及先進封裝等環節,完整涵蓋整個矽晶片設計流程。 新思科技’佈局與繞線 解決方案是在整個流程背景下整合的機能,而非獨立、孤立的設計步驟。舉例來說,佈置與佈線步驟是由時序與面積驅動的,這使得優化與實體設計 緊密連結。這為晶片設計師提供了一套完整的端對端整合解決方案,而非一組彼此脫節的軟體工具。
從早期的架構探索、設計實作、測試、IP、軟體與硬體驗證, 新思科技 持續推動矽晶片設計的下一波創新浪潮。
為了幫助釐清本部落格中討論的一些關鍵術語和概念,我們在下方彙整了一份簡短的常見問題集。本節將針對矽晶片設計及佈局與繞線 製程的常見問題進行說明。
邏輯閘是矽晶片設計的基本構成單元。它們被安置在矽晶片上,並透過邏輯連接與物理佈線相互連接。
亦稱為 版面配置 或 佈局與繞線,佈局與佈線(實體設計 )負責在矽晶片設計中建立邏輯閘的實體佈置與互連。
佈局是指對矽晶片進行實體設計的過程,亦稱為 實體設計 以及 佈局與繞線。
佈局與繞線 是矽晶片開發中的關鍵步驟,旨在將設計中所有邏輯閘在晶片上進行實體佈局與連接。此過程亦稱為「佈局佈線」(實體設計 )。
矽晶片設計中的佈局階段,會透過最佳化演算法,並考量設計者的需求,來決定設計中每個邏輯閘的位置。
在矽晶片設計的佈線階段,會建立並佈線金屬走線(導線),用以連接邏輯閘的引腳。
設計規範是由晶圓代工廠所制定的要求,旨在確保晶片能夠成功量產。
限制條件是由晶片設計人員所定義的要求,用作「佈局與繞線 」工具的輸入參數。這些限制條件包括時序、線寬、線間距、佈局限制等。