徐智彬
(北京大學深圳研究生院 廣東 深圳 518055)
EDA 是指在工廠生產工藝限制的條件下,利用計算機運用數學原理輔助計算,尋找出滿足超大規模集成電路芯片前端邏輯功能設計、后端綜合、布局布線、物理驗證、工廠流程要求等過程的設計技術。EDA 具備學科交叉綜合、集技術大成的特征,是門跨學科的工程領域,由設備物理學家、化學家、應用數學家、電氣工程師、計算機專家、運籌學研究人員等攜手通力完成EDA 的抽象計算模型、算法、方法論和工具。
EDA 工具可以自動將復雜的線上系統設計從高級功能描述轉換為詳細具體的幾何描繪圖案。EDA 的創新將設計人員的生產力提高了許多數量級。然而,對設計中更多功能、性能和帶寬的需求促使設計團隊將盡可能多的功能整合到他們的集成電路設計中,例如將多核 CPU、GPU 和神經網絡協處理器打包到一個設計中,在目前芯片集成規模、密度和復雜度的進一步提高,芯片制造突破進展緩慢的新形勢下,芯片設計人員的生產力、芯片設計速度和公司投入成本的可承受性受到了越來越嚴重挑戰,因此,深入研究EDA 技術顯然很有必要。
標準的芯片設計流程使用各種不同的軟件工具來完成由功能描述到器件級別的過程。這些工具通過中間文本文件傳輸數據、定義和限制;其中一些中間文件非常大,例如標準延遲格式文件SDF 的容量可以達到千兆字節以上,光是解析這些文件就需耗費大量的時間。
EDA 設計流程中的中間文件可以使用多線程方式進行解析,見圖1。多線程通常通過并行任務或者并行數據處理兩種方式實現。根據文獻報道,使用數據并行的方法解析范圍從3 ~71 GB 的10 個SDF 文件,最佳多線程數目是7 個,就可以獲得相對標準解析方法平均6.16 倍的加速[1]。
幾十年來,電子設計自動化軟件已經極大地提高了半導體設計的生產力,并且成功支持摩爾定律延續了40 年,為我們帶來高性能和性價比合理的信息技術產品,使我們的生活和社會變得愈加便利美好。生產力的下一個飛躍將來自將機器學習技術添加到EDA 開發人員使用的計算軟件功能工具箱中。
根據摩爾定律,芯片集成規模每18 個月增長一倍;現在的設計和驗證方法會生成數以百TB 計的數據,其中22 nm 節點的數據量在200 TB 左右,而到10 nm 節點,數據量達到了600 TB。我們在IP、RTL 重用方面積累了相當的經驗,卻很少從這些從前端到后端階段生成的包括仿真和仿真結果、時序結果、寄生數據庫、封裝仿真結果的海量數據智能獲取以構建更好的設計工具。利用機器學習可以為設計人員和驗證工程師在功能和形式驗證、模擬電路性能建模到設計規則檢查、IP 重用設計提供超過一個數量級的生產力提升[2]。
電源部分的PCB 設計對電力電子電路非常重要。PCB設計包括元件布局、布線規劃和詳細布線3 個步驟。在EDA 軟件中可以輕松完成元件布局和詳細布線,但布線規劃必須考慮電磁兼容性、寄生電感、高dV/dt 和dI/dt 的影響。進行布線規劃需要大量的專業知識和經驗,這超出了EDA 軟件的能力,而學習經驗正是機器學習的拿手絕學。通過基于機器學習的方法,根據電路的布線規則設置獎勵函數訓練模型,見圖2,最終可以獲得能夠滿足電力電子電路的規范要求的布線規劃結果,并有效地縮短布線規劃時間。
如何優化數量以億計規模的晶體管的布局極具挑戰性,傳統EDA 工具使用CPU 并行處理數據。受限于4 ~16個CPU 內核的性能限制,芯片設計中不斷增加的設計復雜性,很快將遠遠超過許多現有EDA 工具在合理的設計時間和工作量下所能擴展的程度。為了使設計速度獲得里程碑式的改變,EDA 必須引入CPU 和GPU 異構并行處理的力量,見圖3。
由于機器學習的進步,TensorFlow 和PyTorch 等開源軟件引入了新穎的編程環境來簡化GPU 編程,結果為使用異構并行性加速EDA 開辟了許多新機會。根據文獻報道,已有研究人員使用PyTorch 和Taskflow 編程,為兩個典型代表設計做詳細布局和時序分析,獲得了500倍加速[3]。
近年來,摩爾定律在個位數納米設計方案中遇到了更多困難,通過制造工程升級伴隨著成本的飛漲,單片3D 集成電路(M3D)的出現有望繼續用合理可接受的成本繼續增加集成規模,因此引起產業界和科研院所濃厚的興趣。單片3D 集成電路是一種裸芯片堆疊技術,標準單元甚至晶體管可以在三維空間中彼此疊放,被人們寄以厚望來實現“More Moore”和“More than Moore”時代的高集成密度新興技術。與2D 集成電路相比,該技術在不縮小晶體管的情況下實現了更高的能效和更小的芯片尺寸。此外,單片層間過孔是納米級的(通常為50 ~100 nm),因此,允許超高密度邏輯電路與邏輯電路和內存與邏輯電路堆疊,而微米級硅通孔無法輕松支持。
單片3D 集成電路因為具備異構器件的能力,并且其豐富的垂直連接允許在減少線長和功耗的同時提高集成度,故備受人們應用青睞。但應用該技術的最大障礙是目前商用的EDA 工具有最大金屬層數等限制。根據文獻報道[4],研究人員使用變通的方法通過腳本和其他策略將現有的2D 工具用于3D 布局;其中一種用于單片3D 集成電路的優化流程,稱為Pin-3D 優化器的方法,模擬芯片設計竟獲得高達26%線長縮短、8.7%降低功耗的好處,3D 異構布局,見圖4。
在過去的幾十年中,人們設計了種類繁多的EDA 工具來應對電子電路日益復雜的設計。現代EDA 工具的結構,其核心功能是解決電子設計中的特定問題,例如邏輯設計或物理綜合、仿真、驗證或其他;通常通過圖形用戶界面訪問其提供的功能,而大多數解決方案還通過應用程序編程接口或腳本語言公開其核心功能,使用戶能夠重用甚至重新編程其程序以更有效地滿足他們的設計需求。應用程序編程接口可以通過外部編程語言訪問,而腳本語言通常嵌入在應用程序本身中。
與布局相關的應用程序常常使用OpenAccess 數據庫,而其他應用程序可能使用不同的數據類型,例如網表、硬件描述語言或自定義樹數據結構;來自不同供應商的EDA 工具之間的互操作性差異很大,缺乏廣泛可用的一站式的標準快速開發平臺,開發人員需要不斷重復地編寫代碼,使他們無法完全專注于他們本愿解決的問題,給開發人員帶來了沉重的負擔。并且,從企業的角度來看,缺乏通用平臺可能會增加上市時間,進而影響銷售和優先占領市場。EDA行業作為半導體行業不可分割的一部分,是一系列技術革命的重要參與者和推動者;最新的發展趨勢是開發通用開發框架平臺,見圖5,最大限度地減少將工具的核心功能鏈接到命令行或圖形用戶界面所需的代碼量,進而減少開發工作量,隨之推動技術躍上新的臺階。
典型的EDA 流程是迭代、耗時且具有挑戰性的,導致設計和原型制作時間較長。從前端功能描述開始,到后端綜合模塊布局、仿真、驗證,對設計的每一步某一方面所做的任何更改都可能會影響其他方面,例如電源模塊設計的電氣、熱和機械方面相互沖突。增加器件之間的間距可能會導致熱耦合減少和結溫降低,但會因環路面積增加而導致寄生電感增加。這導致了高度迭代的設計流程,其中設計過程的每個階段都需要依次檢查和重新評估每個性能指標,意味著需要耗費漫長的時間。
為了克服這些挑戰,必須整合更多的EDA 工具使用協同設計的策略獲得多目標優化的結果,見圖6。PowerSynth 和ParaPower 就是兩個協同設計EDA 工具創新代表,它們從彼此集成中受益匪淺,可以確保設計的電力電子模塊同時具備制造可行性和在高壓下可靠運行,它們為用戶提供共同優化的解決方案和折中方案只需要傳統分析方法所花費的時間[5]。
1.7.1 結合定向自組裝工藝
工藝的發展日新月異,定向自組裝(DSA)技術作為5納米以下工藝技術的可能方案被提上日程。定向自組裝是指自組裝聚合物由預制作的幾何形狀或引導圖案迫使形成目標幾何結構的方法。這種引導圖案使用表面電位、限制或兩者實現聚合物在基板上產生與電路相關的拓撲結構圖案。顯然易見,開發DSA 不能孤立地完成,它需要EDA、材料供應商、制造設備、電子制造商的全面協作。換個角度來說,如果EDA 工具忽略最新工藝過程細節,單純應用簡單的設計規則,則可能導致設計次優且產生利潤較低的密度目標結果[6]。
1.7.2 結合超導單通量量子單元庫
隨著摩爾定律接近其極限,對半導體電路的低功耗和高能效替代品的需求正在增加。超導單通量量子(SFQ)電路提供了一種可行的,并且同時保持了高速操作的可能性的超低功耗解決方案。ColdFlux 項目屬于IARPA SuperTool 計劃,專注于前端和后端的超導電子設計自動化和超導技術計算機輔助設計的開發。該項目的最終目標是實現超導電子的超大規模集成設計和驗證,作為開發節能、可擴展的高性能計算機的一步。
展望半導體電路的超低功耗替代方案,眾多研究團隊多年來開發了各種SFQ 單元庫。這些庫是根據特定制造過程的優點和限制設計的,而這些庫中有許多是封閉源代碼或已棄用,因此缺乏可以輕松適應任何流程的現代開源庫。IARPA SuperTools 計劃旨在開發能夠實現快速SFQ(RSFQ)設計和制造吞吐量的軟件工具。這些基于RSFQ 邏輯門的工具使我們能夠解決現代開源SFQ 的缺失問題,可以很容易地適應不同的制造工藝。研究人員提出一種在邏輯綜合中利用特殊的 RSFQ 門生成RSFQ 邏輯電路的方法。它適用于邏輯綜合工具中使用的標準技術映射流程,并能夠利用緩沖器和復位觸發器生成RSFQ 電路,從而通過減少邏輯深度來減少時鐘門的數量。最后通過結合一種新的映射方法,經過評估結果表明,與路徑平衡觸發器方法相比,可以降低30%的時鐘門的數量[7]。
1.8.1 針對功率器件優化
功率器件需要承載非常大的工作電流,因此芯片內部布局的寄生元件不僅會降低芯片性能,還會因芯片內部電流擊中造成局部擊穿。芯片設計初期就必須避免這種動態電流集中的情況,然而布線布局與動態電路的關系難以定量描述。
現有的EDA 技術利用有源元件的Spice 模型可以對芯片內部進行動態電流分析,但難以承認的事實是創建Spice 模型首先要起碼試制一次器件,既費時又費錢,而且提取器件的特性和布局的寄生情況并非易事。根據最新的研究發現,從器件開發的初始階段考慮布局寄生的影響,通過構建使用一種TCAD、Spice 模型和布局寄生提取技術無縫鏈接的方法,應用于第8 代IGBT 的版圖優化,片內電流變化與傳統版圖結構相比可降低約50%[8]。
1.8.2 針對物聯網時鐘網絡優化
隨著半導體技術的發展和晶體管尺寸的縮小,3 nm 節點悄然而至,物聯網設備的功耗和電池壽命正在成為限制約束,功率已成為超大規模集成電路設計中最重要的因素。研究表明[9],時鐘網絡是數字電路中消耗最多的信號,資料統計“永遠在線”部分消耗了大約30%~40%的總電路功率。由于時鐘信號不斷且連續地切換以同步電路的所有順序塊,所以在新推出的低功耗設備和電池供電的物聯網設備上降低時序元件及其功耗顯得尤為重要。
低功耗物聯網設備的設計方法在功耗方面尚未達到完美,設計流程中的功耗預期在大多數情況下仍然是樂觀的,但也導致了更多未被注意的功率性能和面積損耗。時鐘網絡是現代低功耗超大規模集成電路設計和物聯網應用中功耗方面最大的設計元素,大多數以前的關于時鐘網絡研究工作表明[10],在布局過程中應用多位觸發器(MBFF)雖可以降低功耗、無時序優化和降低電路面積,然而在MBFF合并過程中仍然存在功率泄漏。最新研究提出了一種新的布局流程,一種前所未有的迭代MBFF 合并算法,通過測量了功率、性能和面積與傳統MBFF 實現相比,結果表明以76.6%的覆蓋率獲得更好的總MBFF 合并覆蓋率,以更少的擁塞獲得良好的布線結果,減少了3.8%的導線長度,從而在沒有惡化時序和電路面積的情況下,開關功率提高了約3.3%。
EDA 技術和行業本身經過半個世紀多的洗禮發展處于目前的成熟狀態,現在迫切需要重新審視該領域將如何發展以應對新的形勢問題。EDA 涉及的任何技術細節創新,需要政府和工業界最大限度地發揮引導支持作用,增加對創新活動的課題經費和基礎設施投入,提供充足豐厚的資金,筑巢引鳳,吸引各個領域專家人才和深入地進行前瞻性、開創性研究。只有齊心協力、通力合作,微電子設計自動化技術才有望取得突破性進展,技術創新方可獲得井噴式涌現。