《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于接口邏輯模型的MCU物理設(shè)計(jì)優(yōu)化研究
基于接口邏輯模型的MCU物理設(shè)計(jì)優(yōu)化研究
來(lái)源:微型機(jī)與應(yīng)用2012年第16期
王 鵬,侯立剛,吳武臣,彭曉宏
(北京工業(yè)大學(xué) 電控學(xué)院集成電路與系統(tǒng)研究室,北京100124)
摘要: 以一款基于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í)序的正確性。
Abstract:
Key words :

摘  要: 以一款基于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)生門(mé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)致管腳排布失敗。為了滿(mǎn)足分層次設(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ì)稱(chēng)軸以及離散程度并沒(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。