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