晶片設計是一個巨大且複雜的工程,包括數字與模擬電路設計、物理後端設計、封裝設計、可測性設計等。作為世界上最複雜精密的製造業,IC設計無疑是最頂端、技術密度含量最高的產業。
作為整個IC行業的最前端,數字電路設計關係到後面每一步的狀況。數字前端是在RTL級做的設計。數字電路實際上就是基於邏輯的設計,邏輯上等效的單元,完全可以替換。
工欲善其事,必先利其器。在沒有誕生EDA工具(電子設計自動化,Electronic Design Automation)前,開發者只能以人工畫圖的方式進行電路設計。以設計一塊具有4萬個電晶體的集成電路為例,其共有36個輸入輸出的埠,用來處理16位(也就是16個1、0組成的信號)或者8位的信號,還需要考慮各種不同組織的相關標準要求 。
隨著晶片集成度的提高和性能的多元化,設計要求變得越來越複雜,開發者拿到設計要求之後的工作便是將一個較為複雜的設計劃分成若干個模塊,比如一個負責存儲的模塊,一個負責分析數據的模塊……隨後,開發者開始設計每個模塊,通過硬體描述語言表達清楚每個模塊的設計邏輯,接下來的工作就交給了EDA工具。EDA 所扮演的角色主要在於提供開發者工具,而其最重要的功能是自動化減少晶片設計的時間及製造的周期。
值得一提的是,1986年新思科技(Synopsys)創始人Aart de Geus博士發明了邏輯綜合工具,使原本用單個門來手動設計晶片電路的工程師可以用電腦語言來「寫」電路,提高了晶片設計的抽象層次,極大提升了集成電路設計的效率,從而讓工程師將更多精力集中在創造性設計上,讓人類有機會在今天設計出包含超百億個電晶體的複雜晶片。
觀看視頻,傾聽來自合作夥伴的聲音
邏輯綜合對於EDA設計領域來說是一個偉大的成就,邏輯綜合的行為是將數字電路的寄存器傳輸級描述(RTL,Register Transfer Level)的Verilog HDL/VHDL文件「綜合」為描述設計結構的門級(Gate-Level Netlist)Verilog HDL/VHDL文件。將RTL和根據設計需求編寫的約束文件以及半導體廠商的庫文件作為輸入綜合出門級網表,在性能、面積和功耗之間進行trade-offs。後端布局布線工具將門級網表作為輸入生成GDSII文件用於晶片製造。
簡單說,邏輯綜合 = 翻譯 + 映射+ 優化;就是首先把描述RTL級的HDL語言翻譯成GTECH,然後再映射和優化成工藝相關的門級網表。邏輯綜合工具主要就是新思科技的Design Compiler,自1987年以來在全球範圍內使用,幾乎所有的晶片供應商、IP供應商和庫供應商都在使用,是目前90%以上ASIC設計人員廣泛使用的工具。該工具大幅提高了ASIC設計效率的自動化,在這一創新的邏輯綜合工具推出並得到應用之前,所有IC設計都停留在門級或電晶體級別。
2004年後,晶片工藝尺寸不斷向65nm甚至40nm邁進,一塊晶片上可以集成幾百萬、幾千萬乃至上億個電晶體,這對EDA工具提出了更高的要求,也促進了EDA技術的大發展。Design Compiler 升級迭代成Design Compiler Graphical,加入物理綜合,即在綜合前加入版圖的布局規劃信息(floorplan),然後調用庫信息和約束條件,生成帶有布局信息的門級設計結果,進一步提高了綜合與布局布線結果的相關一致性,這不僅可以更精準地估算連線延時,還可以預測布線擁堵情況並進行相應優化。
21世紀,人工智慧、5G、自動駕駛等新興領域技術的不斷發展對晶片設計帶來全新的挑戰,所有EDA方法都要在非常龐大的數據集上執行複雜的算法,需要花費大量計算時間。隨著技術的快速擴張,加強並行運算來加速EDA算法執行的吸引力也越來越大。新思科技也隨之推出支持5nm以下工藝的Design Compiler NXT,建立於行業標準Design Compiler®Graphical之上,可提供基於雲計算的分布式綜合技術,相比以往版本顯著加快了運行速度。並且通過平臺化的通用庫以及與布局布線工具校準的RC寄生參數提取,實現在5nm以及更先進工藝節點下極為緊密的相關一致性。該工具的意義還在於其驗證了下一代電晶體技術GAA架構的可用性,解決了先進工藝技術包括更高電晶體密度和利用率、設計規格和更高可變性引起的複雜性問題。
綜合獲得了門級設計,即有了各種元件以及元件間的邏輯連接關係之後,怎麼建立元件之間的物理連接,就像在PCB上,把元件放在哪兒,元件之間的連接走線又是怎樣安排的,這就需要布局布線。
布局完成=自動布局+自動布線。布局布線應該細分為單元的 Placement(布局)和信號線的 Route(布線)兩個環節,在實際設計中 Placement(布局)的質量會影響到Route(布線)結果,因而有時需要花費額外時間做更多調整。和PCB上的Placement類似,晶片設計的Placement也是基於一系列的需求和規則來完成的,只是複雜度高出了許多而且需要擺放的單元數多了好幾個數量級,尤其是在大型的項目中,一定要等單元的布局及優化滿足要求並完成時鐘樹綜合及優化後,再開始信號線的連接,也就是布線的過程,在這裡我們只看IC Compiler這個工具是如何實現布局和布線整個流程的。
在晶片工藝尺寸還是0.18μm時,Astro是新思科技第一代布局布線系統。由於布局、時鐘樹和布線獨立運行,有其局限性,所以新思科技繼此之後推出了IC Compiler,擴展物理綜合(XPS)技術突破了這一局限,將物理綜合擴展到了整個布局和布線過程。
在不斷發展的晶片技術的推動下,設計上的難題成倍湧現。面對集中於消費類產品的全球市場的動態變化情況,晶片設計對開發者工作效率提升的要求也達到了前所未有的高度。當時物理設計的複雜度已經遠遠超出了前幾代晶片技術的難度。幾年前才開始佔據主導地位的互連方面的難題,變得愈發複雜。設計規模較之前大幅度增加,使得總布線長度也在急劇上升。在各個布線層之間的電阻變化程度比先前大了2到3倍。以宏單元的形式出現的布線阻擋區域的數量增長了10倍。過孔阻抗可以達到線路阻抗的2至3倍。複雜的時鐘廣泛存在,並且使得整體互連管理更加不穩定。先進的晶片工藝和設計上的變化也要求在精確時序sign-off與實現過程之間達成緊密的結合。晶片成品率的問題也不再當成設計後續事項來考慮,必須在設計流程中結合進來。
這些挑戰都迫切需要新的物理設計解決方案。作為下一代物理設計系統,IC Compiler的推出,解決了不斷出現的設計難題,並通過實現並髮式的物理設計,真正超越了上一代布局布線設計工具。該工具針對RTL一直到矽片工藝,提供時序、區域、耗電量、測試性與良率共同一致的最佳化;與sign-off相互關聯性整合,避免潛在風險,減少Design ECO的次數。此外,隨著設計限制條件數量大幅成長,複雜度也越來越高,開發者需花費大量時間來確認限制條件,將SDC驗證功能變成標準的作業流程,前端開發者將gate-level的netlist交給後端進行布局及繞線前,做最後確認動作。
2014年後,適用於新興的、更成熟的晶片工藝技術節點IC Compiler的繼任產品IC Compiler II問世,其核心是一種全新的多線程基礎架構,能夠處理例化單元數量大於5億的設計。該工具基於行業標準的輸入和輸出格式,以及熟悉的界面和工藝技術文件,同時引進了創新設計存儲功能,並從開發之初就關注全晶片級設計,部署新穎的設計規劃功能,並使其性能提升了10倍,內存佔用減少了5倍。這使開發者能夠快速地評估多種可選晶片布局方案,以確定設計實現的最佳起點。與這些晶片級功能互補的是單元模塊級的功能,它得到了一個新的global-analytical優化引擎、一個全新的時鐘發生器以及獨特的布線後優化算法功能所支持, 它們結合在一起共同提高了時序、功耗和面積的結果質量。
IC Compiler II還包含了IC Compiler中所採用的先進技術,例如共軛梯度布局器和ZRoute布線器。與原有的解決方案相比,它使運行時間平均提高5倍,所需內存平均降低2倍。通過將運行時間加速、高超的晶片布局、可實現的QoR以及高效的輕量級環境相結合,能夠減少設計迭代次數,進一步提高設計產能。
靜態時序分析(Static Timing Analysis,STA)是對數字電路所有關注的時序路徑進行提取,然後計算和預計信號在路徑上的延遲是否存在違背時序約束的錯誤,主要是檢查建立時間和保持時間是否滿足要求。靜態時序分析的特點是不依賴於測試激勵,且可以窮舉所有路徑。
傳統上,人們常常將工作時鐘頻率作為高性能的集成電路的特性之一。為了測試電路在指定速率下運行的能力,人們需要在設計過程中測量電路在不同工作階段的延遲。此外,在不同的設計階段(例如邏輯綜合、布局布線以及一些後續階段)需要對時間優化程序內部進行延遲計算(Delay calculation)。儘管可以通過嚴格的SPICE電路仿真來進行此類時間測量,但是這種方法在實用中耗費大量時間。靜態時序分析在電路時序快速、準確的測量中扮演了重要角色。靜態時序分析能夠更快速地完成任務,是因為它使用了簡化的模型,而且有限地考慮了信號之間的邏輯互動。
靜態時序分析工具可以識別的時序故障要比仿真多得多,包括:建立/保持和恢復/移除檢查(包括反向建立/保持);最小和最大跳變;時鐘脈衝寬度和時鐘畸變;門級時鐘的瞬時脈衝檢測;總線競爭與總線懸浮錯誤;不受約束的邏輯通道等。有一些靜態時序工具還能計算經過導通電晶體、傳輸門和雙向鎖存的延時,並能夠自動對關鍵路徑、約束性衝突、異步時鐘域和某些瓶頸邏輯進行識別與分類。
靜態時序分析在最近幾十年中,成為了相關設計領域的主要技術方法。新思科技PrimeTime自推出以來,成為深受開發者廣泛使用的工具,在靜態時序分析工具領域佔有壟斷地位。
PrimeTime簡稱PT,被用來分析大規模、同步、數字ASIC。其主要功能是對晶片進行靜態時序分析,工作在電路設計的門級網表層次,可以和其它EDA軟體非常好的結合在一起使用。該工具提供高準確度的延遲分析,以Spice的精度來計算單元和連線延遲,減少設計冗餘並迅速的發現時序問題和減少ECO(Engineering Change Order)修復的時間;針對設計時序籤核需要考慮不同操作模式、電壓、溫度和工藝角的單獨場景,提供了分布多場景分析(DMSA),簡化了分析和管理這些場景的分析。
隨著納米級設計的工藝尺寸的縮小和時鐘頻率的提升,信號完整性效應如串擾延遲和噪聲(或者毛刺)傳遞能夠導致功能失效或者時序失效。PrimeTime SI是PrimeTime的信號完整性解決方案,在上一代工具中加入準確的串擾延遲、噪聲(毛刺)和電壓降(IR)延遲分析,來應對90納米及以下的信號完整性分析。
為了支持14/16nm及以下工藝的設計特點,新思科技繼續推出了PrimeTime ADV,支持識別物理信息的ECO,避免ECO對當前版圖的影響,加速時序收斂;提供功耗ECO修復,利用正向時序,尋找漏電流功耗降低機會;提供參數化片上變異(POCV)分析方法,儘可能的消除悲觀的時序估計,加速時序和ECO收斂。