數位佈局全自動上線 類比佈局更待何時?

作者 : Mark Waller,Pulsic用戶支援總監

類比設計界迫切需要一種能夠解決類比佈局設計自動化的變革性技術。如同數位設計一樣,類比設計也應該從運算能力的進展中顯著獲益...

1985年,英特爾(Intel)推出80386微處理器,首次在1顆晶片中裝載了275,000個電晶體,在當時令人驚嘆。到了2020年,蘋果(Apple)發表首款自產微處理器M1,其中裝載了160億個電晶體。在短短35年的時間裡,Apple最新元件內含的電晶體數量比其前輩多了58,000倍。M1甚至算不是市場上最大的處理器,據說輝達(Nvidia)的GA100 Ampere內含約540億個電晶體。

儘管80386的佈局可能主要使用當時的CAD工具以手動進行設計,但是Apple M1中的電晶體哪怕只有一小部份佈局設計涉及人為參與,也是一件不可思議的事情。在1980年代中期,也就是80386微處理器發佈之際,Tangent Systems的EDA先驅們幾乎就已經實現數位佈局設計的全自動化了。當今大多數的數位工程師幾乎很少考慮到電路的佈局設計,當然更不可能想到單個電晶體的佈局設計了。

如今,透過先進的EDA工具,具有數億元件的數位模組通常在幾個小時內就能完成佈局和佈線,幾乎無需人為介入。這對數位設計生產效率的影響確實是相當巨大的。雖然M1背後的團隊比當時開發80386的團隊要大得多,但其整體佈局設計的生產效率卻比1985年時高出至少三個數量級,即1,000倍以上。

相反地,自積體電路誕生以來,類比佈局設計就一直是手動任務——甚至時至今日,對於大多數設計者來說,類比IC佈局設計仍然是一項手動作業。許多類比設計人員仍在手動佈局各個電晶體,手動佈線每一條走線,並且手動繪製每個阱的形狀和保護環。過去幾年來,隨著模板化佈局設計崛起,儘管情況已有所改善,但類比設計仍然是一項非常耗時的任務。

多年來,在類比設計流程方面有了許多漸進式的改變,也提高了該領域的佈局設計生產效率,但這些進展還不夠。這些改變包括參數化單元、原理圖驅動佈局,以及近期的模板化佈局。這些改變的整體效益可能帶來多達10倍的提升。在1985年,一位設計者可能要花三個星期才能完成的佈局設計,現在只需要2-3天即可完成。

生產效率提高10倍已經很不錯了,不是嗎?那問題出在哪裡?問題在於,與此同時,製程改變使得類比設計的收歛變得更加困難。如今,以佈局為導向的效應變得至關重要,以至於無法預先確定最佳佈局。工程師和設計人員經常需要對其設計進行4到5次的調整和重新設計,才能達到規格要求。實際上,生產效率的有效提高最多為2~3倍。

類比佈局設計已成為「迴路佈局設計」(layout in a loop)。電路工程師們需要盡快進行多次佈局迭代,實現擷取和模擬,以便能夠完成設計。由於每次迭代都需要花費數小時或數天的時間,因此算是一種昂貴且耗時的方案。

就像Tangent和Tancell在1980年代實現了數位設計一樣,類比設計界迫切需要一種能夠解決類比佈局設計自動化的變革性技術。類比設計也應該像數位設計一樣,從運算能力的增加中顯著獲益。我們需要逐步改進現有的手動佈局設計技術,並真正實現類比自動化。否則,類比設計師將繼續作為IC設計界的「灰姑娘」,永遠在重複最不討好的手動佈局設計任務。

1:典型類比電路設計流程中的反重迭代。

多因素性質

那麼,為什麼類比佈局設計很難實現自動化呢?主要問題在於類比設計的多因素本質。即使是一個簡單的運算放大器,也可能需要對其輸入偏置電流、偏置電壓、CMRR、PSRR、增益餘裕、相位餘裕、雜訊、失真、電壓擺幅等參數進行最佳化。類比模組的佈局設計會對所有這些因素造成影響。

在數位案例中,標準單元途徑能有效地將佈局問題精簡為一個核心問題,即只需考慮三個需要最佳化的主要因素:時序、功耗和面積。創建標準單元庫是一項複雜的自定義任務,不過,一旦有了一個具有多種輸出驅動強度的雙輸入反極(NAND)閘,就不必再一遍又一遍地創建新的電晶體級佈局。

這種抽像也意味著,數位自動化工具不必考慮絕大多數複雜的設計規則檢查(DRC)規則。它們必須考慮佈線層規則,但不用理會決定主動層佈局設計的上百條複雜規則。自動進行數位佈局設計的任務主要是應用圖論和電腦科學中的一種實踐。這種表述雖然有些過於簡化,但與自動化類比佈局設計相較並不為過。

數位MOSFET被強行驅動至飽和區工作,並起著開關的作用,或開或關。在類比設計中,MOSFET在其線性(歐姆)區作業,因此對於其周圍的佈局環境就非常敏感。要將類比元件視為可以像數位單元一樣佈局和佈線的抽像模組,根本是不可能的。佈線還會以複雜的方式影響類比設計。在數位環境中,較長的佈線對於訊號延遲具有簡單且可預測的影響。在類比電路中,較長的佈線會使電路的電容增加,從而在雜訊、失真、頻率響應等許多因素造成負面影響。

多年來,人們多次嘗試著讓類比佈局設計實現自動化。其中大多數都著眼於修改數位標準單元的方法,但都沒有成功。這些演算法並不瞭解其所產生的解決方案如何影響電路性能。一些嘗試採用了來自數位領域的平面規劃技術。平面規劃演算法旨在將不規則形狀有效地封裝至最小空間中。但是,類比佈局設計的重點並不在於封裝問題。實際上,儘管緊密而節省空間的封裝很重要,但它在類比佈局設計的優先級並不高。

另一個問題是佈線。在數位世界中,配置和佈線是先後兩步操作。首先是利用配置演算法對標準單元進行配置。配置器能「顧及佈線」,並考慮到佈線擁堵以及來自導線的寄生電阻和寄生電容等效應,但它實際上並未對導線和標準單元進行同時佈局。這種佈線和配置相分離的方法不適用於類比佈局設計。可以用多晶矽接頭的簡單示例來說明這種情況。MOSFET閘極的連接點需要在多晶矽層留出空間,以用於閘極的短距離擴展,以及連接到較高金屬層的過孔。這種幾何結構造成元件間在垂直方向上的距離越來越遠,從而直接影響元件的佈局。此外,這些多晶矽接頭會增加多晶矽幾何結構的數量,並影響多晶矽的密度。超過某個閾值時,可能有必要橫向擴大元件的間隔,從而避免違反某些設計規則。

之前所有的方法都遇到了相同的問題。它們從未真正顧及到類比,而是過於演算法化,試圖透過蠻力或隨機概率複製人們所獲得的解決方案。要獲得「理想」的佈局設計,需要工程師對問題進行高度約束。這是一項艱鉅的任務,通常需要進行多次迭代才能為每個設計找到一組良好的約束條件。

此外,這些演算法的核心並不理解設計規則,CAD團隊需要維護極其複雜的技術文件,這就包含所有規則。然後,所產生的解決方案通常仍然包含大量違反設計規則的問題需要解決。總體而言,以前的方法對生產效率的影響充其量是微不足道的,而且經常是很不利的。

經過這麼多年失敗的嘗試,設計人員對於類比佈局設計是否可以實現自動化表示懷疑,這也可以理解。許多人認為,這簡直是個過於複雜的問題而永遠無法解決。

類比佈局設計自動化工具的屬性

那麼,類比佈局設計自動化工具需要具備哪些屬性,才能完成這項看似不可能的任務呢?

  • 類比電路辨識:工具必須要能瞭解並理解許多類比電路結構,並能在其出現於所工作的電路中加以辨識。
  • 自動約束:瞭解電路之後,工具必須自動產生適當的約束條件,而無需工程師花費數小時來編輯它們。
  • 類比佈局策略:工具必須能在其演算法中內建許多經過實作檢驗的佈局策略,並將佈局設計與電路理解和約束條件聯繫起來。
  • 遵守深層設計規則:真正理解演算法核心深層的設計規則。工具不僅要有檢查錯誤的能力,而且還必須能在第一時間避免錯誤的形成。
  • 靈活性:類比設計工作是非常困難的,一旦採用硬性規定的佈局風格,即意味著失敗。嚴格遵守約束條件會產生品質不佳的佈局。成功的類比自動化工具需要靈活的智慧,以便在需要的地方達到良好的效果。
  • 易於使用:類比設計流程已經很複雜了,流程中的任何新工具都必須讓工程師的任務更容易,而不是更難。

2:電路原理圖中顯示識的電路拓撲結構及相關約束。

經過多年的研究和開發,Pulsic團隊推出了一款稱為Animate Preview的新工具,期望涵蓋上述所有屬性。Animate Preview整合於電路工程師的原理圖環境中(3)。當工程師還在編輯其原理圖時,該工具會自動為電路創建一個佈局視圖,為他們提供設計決策的快速反饋。工程師可獲取其電路詳細佈局的可視化數據以及準確的面積估算。

3Animate Preview嵌入原理圖編輯軟中。

Pulsic將這些佈局稱為「預覽」——這是高品質且自動產生的電路佈局視圖。Pulsic並未聲稱這些佈局是終極品質,但已經非常接近了,比之前任何工具所產生的視圖都更接近於終極品質。先前所討論到為電路產生約束條件的問題得到了解決。Animate可以理解類比電路拓撲,並自動為電路產生適當的約束條件(當然,工程師也可自行編輯約束條件以達到特定結果)。Animate Preview的演算法對設計規則也有深刻的理解,而且其所產生的結果也滿足DRC的要求,因此工程師能夠充份信任這些佈局預覽。同樣地,配置也是在考慮佈線的情況下進行的,實際上,許多關鍵結構將在佈局預覽中進行佈線。

(參考原文:Digital Layout is Fully Automated—Why Isn’t Analog Layout?,by Mark Waller)

本文同步刊登於EDN Taiwan 2021年6月號雜誌

加入LINE@,最新消息一手掌握!

發表評論