由人工智慧驅動的設計應用
您知道一個手持裝置有多少顆電晶體(transistor)嗎?這個數字在過去每十年呈指數型成長。可攜式音樂播放器就說明了這一點。在 1979 年,一台電晶體收音機大約需要 200 顆電晶體構成;1984 年,CD 播放機需要約 1,500 顆電晶體;到了 1990 年,一台 MP3 播放機需要約 10,000 顆電晶體。至於 2015 年的數位音訊播放器,需要的電晶體數量則大幅增加至約莫 1,000,000 顆。製程技術的進展,推動了電晶體數量的成長。如今,由先進 AI 及 5G 應用驅動的多晶粒(multi-die)系統,將有助於實現另一層面的大躍進。事實上,在 2023 年,一般智慧型手機就擁有超過 100 億顆電晶體!這樣的躍進對於使用者來說,好處顯而易見。以音樂播放為例,這代表音質保真度(fidelity)更高且能享受更身歷其境的體驗,以及擁有更大的存儲空間可以播放、儲存及串流最喜歡的音樂,此外也能夠享受分享、回放及與其他裝置的互通性等更多功能。然而,要實現這樣的精密性,背後存在著許多設計挑戰。
然而,隨著運算資源需求日益成長,內部部署(on-premise)伺服器資本支出或安裝伺服器所花費的時間也隨之增加,且已逐漸跟不上強勁需求。面臨成本壓力、不斷縮短的銷售時機(market window),以及更佳效能與更多功能等市場需求,內部部署儲存空間成為許多企業再也無法承受的負擔。由此可見,將雲端運算資源應用於IC 設計,以符合彈性擴展需求的時代已經來臨。
「新思雲」 (Synopsys Cloud))為首款利用雲端執行 IC 設計的大規模 SaaS 解決方案。其結合了先進運算及儲存空間基礎架構的可用性,以及無限存取的隨選(on-demand) EDA 軟體授權。新思科技身為台積公司 (TSMC) 開放創新平台® (Open Innovation Platform®, OIP) 生態系統的一員,近期與台積公司、微軟(Microsoft)合作進行測試案例,運用新思雲提供的Synopsys IC Validator™ 物理驗證功能,在微軟 Azure 雲端中針對 TSMC N3E 製程執行設計規則檢查 (Design Rule Checks, DRCs)。
至於結果為何?經證實,在雲端中執行設計規則檢查,可以協助大型繁複的新一代 IC 設計以更快的速度完成簽核(signoff),方法如下。
所以說,為什麼要選擇設計規則檢查(DRC)作為測試案例?DRC 可以確保設計正確運作,且可以在晶圓廠中製造。使用傳統內部部署運算資源執行 DRC,可能會耗費寶貴的時間,隨著設計尺寸增大、複雜度日益增加,更是如此。
由於當今的晶片設計尺寸更大,因此製程規則數量也隨之增加。事實上,當今諸多設計中的製程規則可能數以千計,而日益增加的設計複雜度可能衍生出數百個步驟。對於擁有數十億顆電晶體的多晶粒(multi-die)系統,執行 DRC 或電路佈局驗證 (LVS)作業可能會花費數天時間,且需要耗費數百個 CPU 核心資源。
上市時程 (Time-to-market, TTM)不斷縮短,所需的算力卻日益增加,因而為物理驗證(physical verification)帶來了挑戰。隨著製程節點從 7 奈米發展至 5 奈米、3 奈米,甚至更小的晶片時,情況更是如此。舉例來說,3 奈米製程的程序執行檔(runset)可能包括 15,000 條以上的繁複規則,並需要 10 倍的 DRC 運算運作才能執行。因此,僅僅是全晶片(full-chip) DRC 簽核的一次迭代(iteration),就可能花費數萬小時的處理時間。雖然物理驗證一直以來都是運算密集型任務,在當今晶片設計尺寸微縮和複雜度增加等因素的推波助瀾下,將物理驗證這項挑戰帶領至全新的境界。
執行 DRC 和 LVS 的序列相依性(serial dependency)意味著,取得更多算力並不一定等同於會有更快的執行時間。如果IC 驗證必須進行運算擴展,代表在序列運作期間,部分運算功率會處於閒置狀態。針對這種情況,若沒有找到優化運算資源的方法,將會進一步影響到利潤;換句話說,仍然必須支付這些閒置資源的費用。
利用雲端運算進行IC 驗證,有助於減少這種情況。有了雲端驗證,即可將內部部署 數百個CPU 核心規模擴展至雲端上數千個CPU核心。這種彈性賦予了靈活性、敏捷性及可擴展性,在需要時只使用所需的運算資源。而程序執行檔中的 DRC可以分佈於多個核心中並同時運作,藉以優化運算資源,進而節省時間與金錢。
在新思科技、台積公司和微軟的合作中,針對內部部署驗證及雲端驗證進行對照評估。為了啟動測試,我們將台積公司的製程設計套件 (Process Design Kits, PDKs) 及 DRCs上傳至新思雲環境,並根據Synopsys IC Validator (新思雲環境中用於物理驗證的獨立應用程式)中既有的設計類型選擇不同資源,而該資源的運算選項則為預先選定。在上傳執行測試案例的必要指令碼,並選擇 FX 系列與 Mdsv2 系列運算及共享儲存空間的 Azure Netapp Files (ANF) 等微軟 Azure 執行個體(instance)後,只要點擊幾下,就可以創造出含有數百個 CPU 核心的虛擬機器(Virtual Machines, VMs)群集。
實驗流程已準備就緒並在幾小時內就可以啟動,我們快速執行了一次大型測試案例,針對TSMC N3E 製程在雲端及內部部署環境中的運作結果進行比較。所有結果(雲端和內部部署)均使用XOR操作並儲存為GDSII 檔案,兩次執行中的任何錯誤都必須完全匹配,才能取得無瑕疵且準確的成果。
在此測試案例中,雲端作業的執行時間從約略 50 小時,即時縮短到 20 小時以下,與內部部署作業相比,前者花費的時間縮短了 65%。此外,在雲端執行測試時所耗費的 處理時間與成本,比本地運作時降低了 25%。
TSMC N3E 製程透過雲端IC 設計流程縮短 65%執行時間 (圖片來源:TSMC)
新思科技 IC Validator 為一款物理驗證工具,可以將工作分佈至數以千計的 CPU 核心中。此技術成功的關鍵在於排程器(scheduler),佇列每個核心的指令,以 DRC 順序優化檔案位置。除此之外,該技術也針對各個核心的記憶體需求進行估計並取得平衡,將磁碟空間的尖峰用量最小化,動態監控每個核心的負載量並調整系統,進而改善核心和記憶體利用率。IC Validator 透過故障容許度功能,在具有真實延遲(real-world latency)的異質(heterogenous)設定中運作,以偵測並修正主機重啟、網路和通訊端故障、機器當機及硬碟空間限制等問題。
IC Validator 動態彈性 CPU 管理功能可與常用工作佇列系統,例如負載共用設備 (Load Sharing Facility, LSF) 和 Sun Grid Engine (SGE) 等無縫接軌地協作。此管理功能適用於內部部署和雲端等不同類型的運算網路,在加速時序收斂以滿足投片(tape-out)時程的同時,可實現資源和成本優化;在維持與傳統 DRC 和 LVS 工作相似效能的同時,最多只使用 40 % 的運算資源。由於所需資源和儲存空間皆能夠按時間來計價,這代表著在雲端環境中進行運算,可以有效節省成本。
除了前述優勢,IC Validator不需要等到所有資源都準備到位才開始運作。也就是說,IC Validator 可以用最少的資源立即啟動作業,並隨著可用性增加運用更多資源。微軟 Azure CycleCloud 和加速網路 (單根I/O 虛擬化(SR-IOV) 可以將大部分 Azure 的軟體定義網路堆疊,從CPU 卸載至 FPGA 智慧型網路介面卡(NICs)),則有助於確保該擴展已分別對虛擬機器和增加的資料處理能力進行優化。
除了所有時間及成本優勢之外,使用者也可以採取相應措施來確保系統受到適當保護,以保障雲端部署EDA的安全性。隨時掌握安全標準資訊,並確保網路安全系統處於最新狀態。而另一項關鍵在於擁有管理良好、各自獨立的虛擬網路(Virtual Network, VNET) 。
如需更多資訊,請查閱台積公司在雲端輕鬆執行物理驗證的最佳作法指南「TSMC DRC 使用 IC Validator 在雲端簽核」技術白皮書,或造訪新思科技雲端 IC Validator網頁。