摘 要: 以一款基于TSMC 0.18 μm工藝的MCU芯片WT20為例,采用設計規(guī)劃的方法在原有的展平式設計中將ARM Cortex-M0處理器的核心部分分離出來,,作為一個接口邏輯模型(ILM)進行設計,,之后在整個設計的頂層調入設計好的接口邏輯模型,完成整個MCU芯片的物理設計,。采用接口邏輯模型的分層次物理設計與原有的展平式物理設計相比,,設計耗時顯著縮短。此外,,在新的物理設計中,,穿過處理器核心部分的關鍵路徑在時序方面也有了一定的改善,,證明了接口邏輯模型在縮短設計耗時的同時可以保證時序的正確性,。
關鍵詞: 接口邏輯模型;分層次物理設計,;降低設計耗時,;時序優(yōu)化
隨著VSLI設計進入深亞微米時代,人們一方面因為芯片功能的極大提高而受益,,另一方面,,隨著特征尺寸的不斷縮小,芯片的物理設計變得越發(fā)復雜,。同時,,為了贏得市場,芯片設計的周期被不斷壓縮,,而芯片設計的規(guī)模卻仍舊飛速地增長,,這使得物理設計的耗時問題得到了越來越多的關注。因此,,需要有一種能夠提高物理設計效率和競爭力的方法,。
采用接口邏輯模型進行分層次的物理設計可以解決上述問題。接口邏輯模型(ILM)是由模塊的接口邏輯電路轉化而成的一種結構模型,,它只包含時序受模塊外部環(huán)境影響的邏輯單元,。ILM在簡化模塊復雜度的同時可以提供準確的時序模型,,在大型設計的頂層中,用ILM替換若干個模塊,,可以提高整個設計的時序優(yōu)化質量,,縮短設計耗時。
1 WT20芯片的展平式物理設計
WT20芯片是一款基于ARM Cortex-M0處理器的通用MCU芯片,,其系統(tǒng)總線采用AMBA AHB,、APB雙總線結構,掛載的IP包括UART,、ADC等,。
如圖1所示,WT20芯片的傳統(tǒng)展平式物理設計以IC Compiler為平臺,,采用自下而上的設計方案:芯片經過RTL設計仿真,,通過邏輯綜合產生門級網表以及對應的標準時序約束SDC文件,再調用單元庫中的標準單元和大模塊單元,,以及這些單元的時序庫,,通過布圖規(guī)劃、電源規(guī)劃,、布局,、時鐘樹綜合以及布線實現物理設計,提取RC參數進行時序分析,,最后產生GDSII文檔完成全部設計,。
2 分層次物理設計
如圖2所示,分層次物理設計方法通過層次化預算和模塊分割,,使一個很大的設計轉化成多個小的設計,,從而降低了設計的復雜度。設計頂層在例化設計好的模塊之后,,在布局(place),、時鐘樹綜合(clock)以及金屬布線(route)三個階段的工作量會大大減小,從而縮短設計耗時,。此外,,在大型設計中,各個模塊的物理設計同步進行,,最后在設計的頂層進行芯片組裝,,做到并行不悖。WT20芯片基于接口邏輯模型的分層次物理設計的具體實現過程將在第3節(jié)和第4節(jié)中進行介紹,。
3 ILM分層次物理設計的設計規(guī)劃
在WT20芯片基于接口邏輯模型的分層次物理設計的初始階段,,首先需要為接口邏輯模型構造獨立的模塊(block),這部分工作在設計規(guī)劃階段完成,,因此,,設計規(guī)劃是整個分層次物理設計的基礎,。設計規(guī)劃包括如下工作:
(1)確定芯片面積。芯片的面積越小,,每張硅片上產出的裸片數量越多,,平均到每個芯片上的成本也越低。但如果芯片的面積過小,,一方面會增加芯片中標準單元的擁塞程度,,提高物理設計后期布線的難度,另一方面也會使芯片管腳難以擺放,。因此,,一個合理的面積設定可在保證布線及管腳排布的同時盡量節(jié)約產品的成本,所以設計規(guī)劃的最初目標是估計芯片面積的大小[1],。
(2)創(chuàng)建plan group,。plan group劃定了接口邏輯模型所包含邏輯的范圍。在創(chuàng)建plan group時需要考慮設計中的邏輯關系,、模塊規(guī)模以及在虛擬布局中的物理連接關系,。通過IC Compiler的create_plan_group命令可以實現plan group的創(chuàng)建,plan group的形狀及在芯片中的位置可以根據需要進行調整,。在本設計中,,通過對原有的WT20芯片設計進行靜態(tài)時序分析,發(fā)現關鍵時序路徑大量分布于ARM內核中mcu/sys/timing/init_imp/cortexm0integration區(qū)域內,,因此將cortexm0integration作為一個plan group進行獨立設計,。
(3)plan group的管腳排布(pin assignment)以及時鐘預算(timing budget)。IC Compiler根據plan group的物理位置以及從plan group中獲得的時序信息設定管腳的位置,。在進行管腳排布時,,應該避免在小面積的plan group邊界上排布大量的管腳,否則會導致管腳排布失敗,。為了滿足分層次設計時序收斂的要求,在管腳排布階段要保證plan group擁有充裕的時序預算,,這些工作可以通過allocate_fp_budgets命令來實現,。
在完成上述三步后,plan group會被轉化成軟模塊,,其在接口邏輯模型的實現階段會被用于生成ILM模塊,。圖3中的黑色矩形部分是包含了plan group接口電路邏輯關系以及時序信息的軟模塊。
4.1 分層次物理設計數據庫的準備
在這一階段,,需要為物理設計的頂層(top)以及由plan group生成的軟模塊分別構建物理設計所需的數據庫,。每一個數據庫中包含能夠被IC Compiler識別的milkyway library、標準設計約束SDC文件以及物理設計中所需的腳本,。將plan group 轉化成軟模塊之后,,通過split_library命令就可以生成模塊級物理設計數據庫,。
4.2 接口邏輯模型的生成
在構架好物理設計庫之后,由plan group 轉化成的軟模塊就可以在不影響頂層其他部分的情況下獨立進行布局,、時鐘樹綜合以及布線等物理設計工作,。完成軟模塊的物理設計之后,通過create_ilm 命令將plan group生成接口邏輯模型,,同時在頂層和模塊層分別生成包含接口邏輯模型所有時序信息的庫文件,。圖5是本設計中完成物理設計之后的軟模塊以及生成的接口邏輯模型,可以看到,,相比右側的軟模塊,,左側的接口邏輯模型的結構得到了明顯的簡化,這會使頂層設計的物理設計耗時大大減少,。之后用create_macro_fram命令為生成的接口邏輯模型創(chuàng)建一個FRAM模型,,該模型包含了對應接口邏輯模型的抽象物理結構信息,借助FRAM所提供的信息,,IC Compiler可以在接口邏輯模型的上方進行布線,。在MCU芯片設計的頂層例化組裝已經完工的ILM模塊,并完成其余的頂層物理設計后,,WT20芯片基于接口邏輯模型的分層次物理設計就完成了,。
5 分層次物理設計結果分析
本文從物理設計所耗費的時間(runtime)和物理設計靜態(tài)時序分析結果兩方面來對傳統(tǒng)的展平式物理設計方法與基于ILM的分層次物理設計方法進行對比,驗證后者是否能在節(jié)約設計耗時的同時,,保證設計靜態(tài)時序的相關性,,優(yōu)化時序結果。
5.1 物理設計耗時分析
通過比較在物理設計的布局優(yōu)化,、時鐘樹優(yōu)化以及布線優(yōu)化三個階段展平式物理設計與基于ILM的分層次物理設計的設計耗時,,計算后者與前者之比,如表1所示,。得益于模塊分割后,,設計難度降低以及并行設計的特點,基于接口邏輯模型的分層次物理設計與傳統(tǒng)的展平式物理設計相比,,在布局優(yōu)化,、時鐘樹優(yōu)化以及布線優(yōu)化階段的設計耗時都有大幅降低,有效地縮短了設計周期,。
5.2 物理設計靜態(tài)時序結果分析
通過靜態(tài)時序分析可以得到時序路徑終點的信號到達時間(arrival time)以及代表路徑時序緊張程度的slack,,slack越大表示時序越寬松。采用統(tǒng)計的方法,,選取10 000條穿過接口邏輯模型并且時序最緊張的關鍵路徑作為采樣,,在布局、時鐘、布線三個階段進行靜態(tài)時序分析,,以路徑的信號到達時間為隨機變量,,繪制正態(tài)分布曲線。如圖6所示,,從左至右依次為布局優(yōu)化,、時鐘優(yōu)化、布線優(yōu)化三個階段的信號到達時間正態(tài)分布曲線,,三條曲線的對稱軸以及離散程度并沒有發(fā)生明顯的變化,,說明采用接口邏輯模型的分層次物理設計在不同設計階段的靜態(tài)時序分析結果是相對收斂的,具有較好的靜態(tài)時序相關性,。
分層次物理設計的布線工作完成后,,從穿過接口邏輯模型的時序路徑中,同樣選擇10 000條關鍵路徑作為采樣進行靜態(tài)時序分析,。同時,,在展平式物理設計中的布線完成階段,對同樣的路徑也進行靜態(tài)時序分析,,比較相同路徑的slack優(yōu)化情況,。發(fā)現通過基于接口邏輯模型的分層次物理設計,37%的關鍵路徑的slack值升高了,,時序得到了優(yōu)化,,表2列舉了其中的5條;57%的關鍵路徑其時序結果未發(fā)生明顯變化,;僅6%的關鍵路徑其時序結果出現了輕度惡化,。
從以上結果可以看出,基于接口邏輯模型的分層次物理設計方法,,在有效縮短設計耗時的同時,,可以保證設計靜態(tài)時序結果的相關性,并能優(yōu)化部分關鍵時序路徑,,在大規(guī)模ASIC物理設計中,,相比傳統(tǒng)的展平式物理設計方法具有明顯的優(yōu)勢。
參考文獻
[1] 陳春章,,艾霞,,王國雄.數字集成電路物理設計[M].北京:科學出版社,2008.
[2] IC Compiler User Guide[S].2009:1-11.
[3] IC Compiler Design Planning User Guide[S].2009:1-4.