不論晶片的規模大小,自動化晶片生產平台使得從RTL到最後出片的設計時間縮短到2天2小時
簡介
下載白皮書(英文版)
現今的數位積體電路(IC)設計可謂規模龐大、複雜度極高、成本高昂,而且極其耗費開發時間。舉例來說,一個90奈米技術(90 nm technology) ,運行頻率為500MHz,而且閘數(gate count)大於100M的IC而言,其晶片面積將可達到18毫米×18毫米,耗電量也將介於50瓦到100瓦之間,並且有超過2000的輸入/輸出(I/O)。設計這種規模的晶片,需要大約一千萬行左右的RTL code,投入開發的工程師也將高達八十多名。除了RTL code的設計工程師外,開發團隊還必需有廣泛技術領域的專家,涉及的領域包括RTL和實體設計整合的邏輯合成(physically aware synthesis)、可測試性設計(DFT)、clock-tree 合成、power-grid設計、place and route、信號完整性分析(signal integrity analysis)、功率分析(power analysis)、以及設計的收斂(design closure)。建構出這樣的晶片可能需要高達八千萬美元的投資。
設計這種類型的晶片包括兩個主要的層面。流程的邏輯設計部分涉及到獲取所需的功能,並生成設計的RTL表述﹔而流程的物理設計部分則包括取得這一RTL表述、生成一個物理實施(physical implementation)、執行簽核級驗証,並最終完成設計的出片。
利用傳統的設計流程,執行整個流程中物理設計部分的單次過程可能就是相當耗時的﹔僅生成一個布局規劃圖及其相應的物理實施就能輕易地耗費掉數個月的時間。其中一個重要的問題就是對設計功能的變更-包括後期階段的工程變更申請單(ECOs)-直至出片之前就一直在發生。這就意味著經常需要重新延長物理實施中的絕大部分任務,它們都耗時數周,而且必須重新延長整個設計並不是什麼稀罕的事,事實上是經常發生的,包括從頭開始設計一個全新的布局規劃圖。
事實上,問題的本質在於傳統的電子設計自動化(DEA)工具能夠提供的僅僅是“設計輔助”(如圖1a所示)。通過比較我們不難發現,Talus產品藉由如圖1b中展示的自動晶片設計(Automated Chip Creation)形式實現了真正的“設計自動化”。

圖1:傳統的物理實施流程與Talus流程比較
為了更詳盡地描述問題,表述如下,Talus自動晶片設計方法以設計的RTL為輸入,然後執行下列任務:
- 自動化的RTL綜合、DFT(面向測試的設計)綜合以及物理綜合。
- 自動化的邏輯到物理分區映射、功能塊構圖形成以及平面布局規劃。
- 自動化的clock-tree 合成。
- 自動化的power grid 設計。
- 由信號完整性(SI)推動的自動化布線。
利用並行的、分布式的協同處理技術,實現跨多處理器的自動化分區物理實施任務意味著執行一次完整的從RTL到GDSII的流程(包括合成、布局規劃、clock-tree合成、power grid 設計以及詳細的布線)只需要兩天的時間,而無需考慮設計的規模大小。同時緊接著最後的流程,執行出片之前的自動化簽核設計只需要兩個小時。
這一創新的革命性技術衍生了很多分支,包括-但不僅限於-下列各項:
- 設計流程的物理實施部分可在流程的早期就著手開始。
- 全部物理實施的快速周轉時間實現了設計的可預見性以及對可實現性能的更早反饋。
- 全部物理實施的快速周轉時間使得系統設計師能夠在物理實施層面針對功能成本比執行“假設分析式”的探討﹔比如,減少金屬層的數量或者評估使用各種不同技術節點的可行性等。
- 全部物理實施的快速周轉時間同時也允許系統和設計工程師能夠充分利用現代化的電子系統標準(ESL)設計工具,該設計工具能夠用來研究各種可替換的設計結構。
- 為滿足RTL功能變更的物理實施所需要的周轉時間有效地縮短了50%到90%,這一事實意味著在後期階段進行設計需求的變更是可行的,而且也不會導致項目進度的延遲。
- 流程中物理實施部分所需要的工程資源數量能夠縮減到一個項目僅需要分配一到兩名工程師。這意味著整體設計成本能夠有效地減少30%到50%,同時額外的物理設計工程資源能夠被分配到其它項目中。
- 與傳統的流程相比,Talus生成的實施在時序、面積、功率以及信號完整性等方面提供了更好的性能(例如,與利用傳統流程生成的物理實施相比,一個Talus生成的參考設計所佔用的矽片面積將縮小17%)。這意味著製造成本將大幅度減少。
- 設計的面市時間得以極大地縮短。
盡管Talus是革命性的創新,然而在使用時它非常容易採納,原因是該系統以捷碼(Magma)經行業驗証的著名架構和技術為基礎構建而成。而且,Talus可用於實現完整的從RTL到出片的解決方案(推薦使用),或者從閘門
網表 (gate-level netlist) 到出片的解決方案,抑或是作為一種混合解決方案的一部分,僅僅簡單地提供自動化的布局規劃(稍後,本文將更為詳細地論述所有這些選擇)。
傳統物理實施流程存在的問題
勿庸置疑,傳統的實施流程中存在著很多問題。第一個問題,同時也是首要的問題就是創建初始的實施以及實施的後續修改和細化所耗費的時間。如圖2所示,從設計開始一直到出片結束,RTL以及設計的時序約束等一直都在發生變化的事實更加加劇了上述問題-包括對設計功能需求和後期階段工程變更申請單(ECOs)的修正。

圖2:傳統的設計流程(以一個含10M閘數電路的設計為例)
在傳統的流程中,當RTL完成到90%時,物理設計工程師才能夠開始投入到工作流程中。原因是他們深知,即便他們能夠更早的投入進去,他們所作的任何工作到最後幾乎都會被全部推倒重來。一旦物理設計工程師開始投入工作,生成最初的布局圖 (floorplan) ,並實現相應的物理實施往往需要大約四周的時間。(注意圖2和我們討論的部分反映了具有典型意義的10M閘數電路設計的流程﹔相應的,對1M閘數電路器件預估的時間會縮短,同時,100M閘數組件預估時間也會相應增加。)
當RTL完成95%的時候,大部分原始物理實施毫無疑問將會被修改並升級﹔當達到布局圖最終完成被鎖定(當然是理想的狀態了)的階段往往需要耗費四周的時間。而且,即便RTL最終百分百完成了之後,在物理實施最終完成可以準備出片之前,仍然需要耗費九周甚至更多的時間在密集的資源和耗時的活動上。
與這些耗時的物理實施迭代 (physical implementation iterations) 相關的副產品有很多,分別是:
- 設計的物理實施部分必須在流程的邏輯(RTL)設計部分完成之後。
- 全部物理實施的漫長周轉時間將導致可預見性的缺失,以及可實現性能的延遲反饋。
- 全部物理實施的漫長周轉時間妨礙了系統設計師在物理實施層面針對功能成本比執行“假設分析式”的探討。
- 全部物理實施的漫長周轉時間意味著後期階段對設計需求的變更無疑將導致專案進度的延遲,延長面市的時間(通常會導致最終的產品推遲上市,甚至乾脆失去了所有的市場機會)。作為一種解決方法,管理層可能會做出這樣的決策,採用次優化的布局規劃圖,盡管該布局會導致疊片尺寸的加大、功率損耗的增加、製造成本的增加、性能的降低,最後是良率的降低。
與傳統的實施流程相關聯的另一個重要問題是設計所耗費的工程資源數量。以典型的設計為例,通常一個物理實施工程師只能被分配到一到兩個大型的功能塊中﹔而且,一個工程師所分配的全部任務只能是設計的物理實施部分。因此,以一個包含十個大型功能塊的層次化晶片設計為例,至少需要六名物理實施工程師。此外,還需要為設計的clock-tree綜合、power grid 部分特別增加資源﹔而且可能還需要為解決信號完整性問題增加更多的資源。將所有這些資源都投入到一個項目中,無疑將大幅度增加設計的成本,同時也制約了可同時進行的設計數量。
而且,一個必然的事實是,在現實設計中情況還會發生變化。在一個現實的設計實例中,從物理設計工程師開始介入的角度來看,當設計需求從800個存儲宏 (memory macros) 變更到1300個存儲宏,而且全部設計涉及到的閘門
電路從250萬變更到350萬時,利用傳統的流程,在創建物理實施的第一次通路過程中,上述變更無疑將導致項目進度的延遲。而且,設計團隊預計迭片的尺寸將從最初的15毫米×15毫米,發展到17毫米×17毫米左右。而利用Talus 系統,這些變更能夠與物理實施過程輕鬆地融合到一起,同時不會影響項目進度﹔更為重要的是由Talus生成的新布局規劃圖非常有效,以至於疊片的尺寸不會發生任何變化。
解決方案:Talus 自動化晶片生產平台(Automated Chip Creation)
能夠解決傳統物理實施流程所產生的所有問題的解決方案就是由Talus提供的自動化晶片生產平台(Automated Chip Creation),從根本上改變了流程的物理實施部分(如圖3所示)。
 圖3:以Talus自動化晶片創建為基礎的設計流程
新流程最重要的影響是-無論設計規模的大小-每個項目只需要分配一名(或者兩名,最多兩名)物理實施工程師就足夠了。拋開其它的因素不管,這意味著整體設計成本將降低差不多30%到50%,而且餘下的工程師能夠獲得解放,進而補充到其它的項目中。
更為重要的是,由於物理實施工程師能夠盡早地投入到項目中,因此物理實施不再是一個瓶頸。在某些情況下,物理實施甚至可以在RTL已經編碼之前開始(即初始的規範定義之後)。此時,物理實施工程師能夠利用Talus的黑盒子 (black-box) 原型生成功能來估計各種功能塊的尺寸,創建初級的布局圖 (floorplan) ,開始規劃時鐘方案,等等不一而足。在有些情況下,物理實施可能在RTL只完成30%之前就開始了。在這一階段,Talus只需要一天甚至更短的時間就能夠自動生成完整晶片物理實施的事實(包括創建布局圖,而且與設計規模無關),提供了可實現性能的早期反饋。而且,每個後續迭代都是在前一結果之上創建的,因此能夠保証每個新的實施都擁有與前一實施一樣甚至更優秀的質量。此外,全部物理實施的快速周轉時間使得系統設計師能夠在物理實施層面執行功能和成本比的“假設分析式”探索﹔例如,減少金屬層的數量,抑或是評估利用各種技術節點的可行性等。
當RTL完成95%的時候,無論設計的規模大小,從頭開始到生成一個全新的完整晶片實施僅需要兩天甚至更少的時間。滿足RTL重要功能變更的物理實施所需要的周轉時間縮短了50%到90%,這意味著設計需求後期階段的變更能夠實現,而且不會導致項目進度的延遲。一旦RTL百分百完成時,緊隨其後出片之前的自動簽核驗証只需要兩個小時就能完成。
自動分區和初始的布局規劃
當設計進展到分區階段,在決定邏輯層次部分與物理層次部分的一一對應關係時,Talus實現了智能決策。而且,當執行分區操作時,Talus同樣能夠力爭最小化每個功能塊引腳 (block-related pin) 的數量,以簡化時序的預算(如圖4所示)。(注意:當涉及到諸如功能驗証等活動時,Talus的分區活動不會影響初始的設計層次。)

圖4:Talus自動執行智能的分區
在某些情況下,如果Talus認為有必要(如果需要的話,用戶可用利用簡單的約束鎖住功能塊),那麼含有膠連Glue邏輯(或者相似邏輯)的邏輯塊內容能夠分布到貫穿整個物理層次。例如,當考慮到時鐘系統中的多路復用器 (multiplexers) 時。如果必須存在相同的物理塊,或者強制保留特殊的布線通道,那麼在時序和擁塞層面的結果將是極其難堪的。在這種情況下,Talus將自動分割邏輯,因此膠連Glue邏輯能夠符合邏輯地分布到適當的分區中(如圖5所示)。

圖5:Talus自動地跨區分配膠連glue邏輯
自動軟宏構圖 (Automatic Soft Macro Shaping) Talus也具備自動化的軟宏構圖功能,能夠利用成熟的具有擁塞意識和時序意識的算法同時構圖並布局宏。在這種情況下,Talus在處理晶片平面時實現了相似的結果質量(QoR),而且與利用傳統的自底向上布局規劃方法相比,運行時間從數天和數周,縮短到了數個小時(參見圖6)。
 圖6:Talus自動形成軟宏構圖
觀察Talus在核心內創建直線塊,它能夠根據需求在晶片外圍使用任意形狀(無法自動創建任意形狀的特點一直以來都是這個行業的不足之處)。構圖和布局包括邊界邏輯和關鍵的輸入/輸出(I/O)﹔即,如果有必要,小的單元組可能被分配到與它們相應的I/Os 鄰近的位置。
自動硬宏布局
同時,Talus也能夠執行自動的硬宏布局﹔而且,當然也是根據擁塞和時序來推動的。硬宏布局與功能塊構圖算法完整地整合在一起,如果需要的話,也包括了阻塞的自動創建(如圖7所示)。

圖7:Talus 自動地執行硬宏布局
與Talus硬宏布局相關聯的一個非常重要的特徵是算法規則最小化標準單元域 (cell regions) 周長的方法,以及為了避免擁塞問題形成這些域的方法。Talus使用的另一個成熟的技術是分析所有的邏輯錐體,並提取其連通性以決定各種存儲塊彼此之間的關聯性。然後,Talus利用這些知識來實現最優化的功能塊布局。
關聯布局約束
整個過程中一個非常重要的方面是Talus的關聯布局約束概念。在這裡,布局圖中功能塊的位置分配與其它的功能塊相互關聯,舉例說明,右邊的“功能塊n”可能被定義為與左邊的“功能塊m”相鄰,或者說一個PLL的位置被定義為與某個特定的金屬焊墊相關聯。
圖8示例了一個非常簡單的例子,功能塊B2被定義為與晶片的左上角相關。功能塊B4的左邊線與功能塊B3的右邊線相關聯,依此類推。

圖8:Talus 利用關聯布局約束
與傳統的流程不同的是,傳統流程以固定的X/Y坐標的應用為基礎,由於取自一個迭代的關聯布局約束被用於下一個迭代,因此Talus被賦予了遞增的變更功能。這意味著後續的迭代基於前一個迭代的結果而創建,因而能夠保証每個新的實施都和前一個實施一樣(或者更好)。
自動功率網絡生成
Talus解決方案的另一個重要特徵是完全自動化的功率網絡生成。Talus首先生成金屬焊墊環,其次是核心環,然后利用自動生成金屬化層M6到M9層的絲網完成網絡(參見圖9)。當實施這些絲網時,Talus利用成熟的算法來平衡擁塞和IR電壓降。Talus分析整個晶片的IR電壓降,並根據情況實施不一致的power grid :IR電壓降稍微高一點兒的區域將提供較高的power grid 密度,同時將被逐層優化。而且,隨著訊息更加細化,Talus根據布線之後的clock-tree和信號密度消耗的功率,逐步更新功率絲網。
值得注意的一點是Talus在整個晶片級實施power grid ,然後將其下推到物理功能塊中。這樣,在Talus實施功能塊時,它對功率分布已經有了一個非常透徹的理解,因而消除了意料之外的功率問題。

圖9:Talus 自動執行power grid 合成
自動clock-tree合成
在晶片設計項目中,經常發生的事情是進度的延遲,原因是直至設計的其它部分都完成之後,才能夠進行clock-tree的部分。為了避免這樣的延遲,Talus將自動執行clock-tree生成的方方面面(參見圖10)。

圖10:Talus自動地執行clock-tree合成
首先,Talus在開始實施功能塊本身之前,先實施每個功能塊內部的時鐘網絡原型。這種方式使得Talus能夠決定為了實現準確的時鐘平衡而不得不使用的各種插入延遲(這些原型最終將被丟棄,而且clock-tree將在最後的實施階段自動創建)。
同時,Talus 也確保了功能塊中時鐘引腳的布局位置,以實現通用路徑的最大化。例如,如果一個clock-tree的分支驅動五個功能塊中的五個時鐘引腳 (clock-pin) ,Talus將會為這些引腳安排位置,以確保這些時鐘信號盡可能多地共享通用路徑,從而最小化了晶片上差異 (on-chip variation) 的影響。
重複的功能塊
在傳統的流程中,重複的功能塊通常是“唯一化的”(每個示例都被看作是獨一無二的實體,個別實施)。在某些情況下,可能會導致稍微好一點兒的面積利用,但是同時也意味著上層母表述 (parent representation) 的任何變更都將導致每個子示例重新實施。Talus使得用戶能夠在需要時採用這一技術﹔作為可選項,Talus也完全支持重複功能塊的概念(如圖11所示)。

圖11:Talus完全支持重複功能塊的概念
圖11中的左上角和右上角顯示了八個重複的功能塊,共分兩個組,每組四個功能塊(每組中的四個功能塊與其相鄰功能塊的關係是旋轉90度角)。Talus確保了這些重複功能塊的構圖是一致的,同時,他們的功率絲網也是一致的,信號以及時鐘引腳分配都是一致的。所有這些都使得下游的任意ECOs都能夠快速地、一致地傳遞到每個重複的功能塊中。
並行的、分布式的協同處理
使Talus能夠在兩天或者更短的時間內執行全晶片級物理實施的關鍵特徵是採用了並行的、分布式的協同處理技術。這意味著能夠跨多處理器自動分區並智能地分配綜合和實施任務,同時在過程結束時,各個分區的結果將自動地整合在一起。
例如,一個擁有兩個大型功能塊和兩個小功能塊的設計,其物理實施環境是三個處理器,兩個小規模的功能塊可能在一個處理器上順序處理,而且該處理器將於其它兩個處理器並行運行,另外兩個處理器將分別處理兩個大型功能塊。
盡管如果希望的話,用戶能夠提供輸入(諸如指定最小/最大的分區尺寸,這一點稍後將在本文中予以論述),而實際上需要的是用戶指明使用的機器數量(指明名稱)。設計規模越大,將有更多的計算資源應用到這一問題上。
特別需要指明的是不論用來執行物理實施的處理器數量多少,QoR(成果質量)都能夠得以保持。以一個800萬閘門
電路測試晶片為例,在一個處理器上執行將導致設計運行在523兆赫。比較發現,運行在三個分布式處理器的同一項目將導致設計運行在524兆赫,由於差別只有0.002%,可以視為結果相同。
Talus值得誇耀的特徵還有很多很多,在這種介紹性白皮書上無法一一表述,但是仍然存在一些重要的特徵值得特別說明如下:
- OCV 多模式多角度時序分析:Talus基礎的時序分析引擎(與其它引擎緊密整合在一起)利用成熟的片上變異(OCV)分析來弱化不利的層面。時序引擎也具備多模式、多角度優化特徵,意味著該產品有能力從各個角度同時分析設計,以決定並分析佔主導優勢的角度。
- 頂層的收斂:除了上文所描述的所有活動之外,Talus還能夠自動執行頂層設計收斂。在所有其它事項中,收斂涉及到對時鐘插入延遲做任何必須的修正,以及完成圍繞此類修改的詳細布線。
- 先進的功能:Talus能夠處理特徵極其複雜的設計,包括電壓島、倒裝晶圓以及有封裝意識的金屬凸塊布局。
- 設計師保留控制:即便是完全自動化的流程,一樣有必要為設計師保留控制。這是由於團隊由大量的專業設計專家組成,對關鍵的布局規劃需求非常了解,諸如PLL布局以及具有特殊I/O需求的知識產權(IP)功能塊,比如SERDES。因此,Talus允許設計師就這些需求進行溝通、試驗比較最大和最小的分區尺寸、鎖定布局圖(或者鎖定其中的部分),等等不一而足。
- 有封裝意識的設計:Talus解決方案非常重要的一個特性是有封裝意識的設計技術。Talus同時進行晶片和封裝的設計,在晶片層面上執行I/O布局和金屬凸塊分配,並在封裝層面上進行迂回分析以及迂回布線等。作為過程的一個組成部分,Talus 繼續開發各種不同的設計方案,同時分析功率完整性以及信號完整性對任意設計決策的影響。晶片設計過程的結果是最優化的金屬凸塊布局和凸塊分配,以匹配封裝以及最優化的疊片尺寸。封裝設計過程的結果利用最經濟的封裝以及最少量的層,並以最小化任意功率完整性和信號完整性的方式來執行所有的分配。
Talus 與現有流程的整合
建議將Talus與現有的流程整合使用,這樣它在RTL創建之後就能夠立即投入使用了。由於Talus中整合的綜合引擎能夠作出決策,從而在進行到流程的其餘部分時可以確保可重複性和可預見性。
另外,Talus也可以用於獲得由外部RTL綜合或者有物理實施意識的綜合引擎生成的閘門
電路網表。盡管依然能夠提供一個極其有效的解決方案,但是這種方法意味著Talus實現的可重複性和可預見性的水平將會打些折扣。
最後,Talus也可用於混合流程,其中Talus只用於布局圖的自動生成﹔設計的其餘部分(包括邏輯綜合 (logic synthesis)
、clock-tree整合以及power grid 生成)可以通過利用現有的設計環境來執行。再次重申,這種用法極大地推動了現有的設計環境,但是它也的確意味著設計人員不會實現快速、有效、準確、高質量的結果,而採用Talus自動執行整個物理實施過程就能獲得上述結果。
總結
由Talus提供的自動晶片創建方法為大型數位積體電路(IC)設計的實施提供了革命性的方法. Talus 使得設計的物理實施部分能夠在流程的早期就開始進行,而且每個設計只需要分配一名到兩名物理實施工程師,這意味著設計的整體成本將減少30%到50%,餘下的物理設計工程資源能夠被分配到其它的項目中。
Talus實現的快速周轉時間帶來了可預見性,以及可實現性能的盡早反饋。這也使得系統設計師在物理實施的功能與成本比上執行“假設分析式”的探索。更為重要的是,Talus使得設計團隊都將更多的時間用在設計架構階段的試驗上,並充分利用現代的電子系統標準(ESL)設計工具。物理實施為滿足RTL中的功能變更所需要的周轉時間能夠被縮減50%到90%的事實意味著設計需求後期階段的變更能夠實現,而且不會導致專案
進度的延遲。
最後一點,Talus生成的實施在時序、面積、功率以及信號完整性等層面,與傳統的流程相比實現了更好的性能(例如,與利用傳統流程生成的物理實施相比,Talus生成的參考設計佔用的矽片面積減小了17%)。這意味著製造成本得以大幅度地下降。
|