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