張 玲,羅 靜
(中國電子科技集團(tuán)公司第58研究所,江蘇 無錫 214035)
集成電路后端設(shè)計(jì)過程是從RTL綜合到GDSⅡ數(shù)據(jù)的實(shí)現(xiàn)過程,一個(gè)好的芯片版圖設(shè)計(jì)為集成電路物理設(shè)計(jì)和實(shí)施奠定了好的基礎(chǔ)。隨著集成電路工藝與設(shè)計(jì)技術(shù)的不斷發(fā)展,系統(tǒng)級(jí)芯片SoC已成為當(dāng)今IC的發(fā)展方向。如何縮短SoC芯片的設(shè)計(jì)周期,同時(shí)解決芯片特征尺寸縮小、芯片規(guī)模達(dá)幾百萬甚至上千萬、時(shí)鐘頻率提高以及電壓降等因素使SoC芯片物理設(shè)計(jì)復(fù)雜度越來越高的問題,已成為版圖設(shè)計(jì)師需面臨的主要設(shè)計(jì)挑戰(zhàn)。用自動(dòng)布局布線工具來完成芯片后端設(shè)計(jì)可以節(jié)省寶貴的設(shè)計(jì)時(shí)間,但后端設(shè)計(jì)絕不僅僅是自動(dòng)化工具的掌握和應(yīng)用,結(jié)合電路特點(diǎn)開發(fā)有針對(duì)性的后端設(shè)計(jì)流程對(duì)芯片的成功起著關(guān)鍵性作用。
本文介紹了采用Synopsys公司Astro后端工具對(duì)一款百萬門級(jí)、基于0.18 μ m工藝SoC芯片后端設(shè)計(jì)的過程,其中包括了設(shè)計(jì)之前的數(shù)據(jù)準(zhǔn)備、布局規(guī)劃、電源設(shè)計(jì)、單元放置及優(yōu)化、時(shí)鐘樹綜合、布線過程,另外還介紹了如何預(yù)防串?dāng)_和如何保證芯片的時(shí)序能夠滿足設(shè)計(jì)要求。芯片是基于0.18μm Salicide 1P6M CMOS工藝制造的SoC芯片,規(guī)模約為200萬門,工作頻率100MHz,封裝引腳391個(gè)。
本文研究的芯片是一款為用戶定制的專用SoC芯片,采用0.18μm 1P6M Salicide CMOS常規(guī)工藝。芯片內(nèi)部集成有ARM核、全定制設(shè)計(jì)的IP、專用IP、DPLL、多個(gè)SRAM IPs等宏單元,是一個(gè)典型的全數(shù)字SoC芯片,規(guī)模約為200萬門。芯片采用雙電源供電方式工作,分別為3.3V與1.8V供電。電源、地引腳分為三組,其中兩組為1.8V供電,一組為芯片內(nèi)核及端口前級(jí)驅(qū)動(dòng)供電,一組為芯片DPLL供電;另一組為3.3V供電,為芯片上所有端口后級(jí)驅(qū)動(dòng)供電。
此芯片后端設(shè)計(jì)采用Synopsys公司Astro工具進(jìn)行自動(dòng)布局布線,芯片物理驗(yàn)證使用M e nt o r Graphics公司Calibre進(jìn)行版圖的DRC/LVS等檢查,最后使用主流寄生參數(shù)提取工具Star-RCXT進(jìn)行寄生參數(shù)提取并將抽取的網(wǎng)表用于門級(jí)與晶體管級(jí)的混合后仿真驗(yàn)證。
此芯片后端布局布線設(shè)計(jì)流程見圖1。
這一步Astro完成對(duì)芯片做布局布線之前的準(zhǔn)備,首先創(chuàng)建一個(gè)設(shè)計(jì)庫,然后把創(chuàng)建的設(shè)計(jì)庫與參考庫鏈接起來,讀入網(wǎng)表,并將網(wǎng)表展開。打開設(shè)計(jì)庫創(chuàng)建一個(gè)初始單元,然后把讀入的網(wǎng)表捆綁到該初始單元中。
布局規(guī)劃是芯片設(shè)計(jì)的最初步驟,主要包含了芯片大小的規(guī)劃、芯片輸入輸出單元的規(guī)劃以及硬核或模塊的規(guī)劃等。 此芯片封裝管殼為CPGA391,輸入輸出單元的放置位置是按照封裝的要求與用戶的實(shí)際情況擺放。芯片的硬核較多,同時(shí)封裝時(shí)還要求在芯片內(nèi)疊放一片F(xiàn)lash裸芯片,并由主SoC芯片為疊放的Flash裸芯片提供電源供電。這給芯片的布局與操作的反復(fù)迭代帶來了挑戰(zhàn)。
后端設(shè)計(jì)時(shí)我們首先設(shè)計(jì)了一個(gè)包含所有信號(hào)及供電端口的Flash版圖黑匣子。在版圖黑匣子里預(yù)先完成了PAD位置的精確擺放,擺放時(shí)考慮了其他宏單元的位置以及全芯片走線的合理性;在版圖黑匣子里同時(shí)完成了這些PA D端口的電源、地線網(wǎng)絡(luò)全定制設(shè)計(jì),并設(shè)計(jì)了與主芯片SoC電源、地線環(huán)相連接的引腳(PIN),以便于后端設(shè)計(jì)過程中實(shí)現(xiàn)自動(dòng)連接。通過將這個(gè)版圖黑匣子包裝成為一個(gè)自行定義的IP模塊,生成Astro所需的所有模型,即可以方便完成正向布局布線流程的納入。
電源規(guī)劃是給整個(gè)芯片設(shè)計(jì)均勻的、供電充分、滿足長(zhǎng)期工作可靠性的供電網(wǎng)絡(luò),并解決不同電壓之間的隔離問題,其中主要包括電源環(huán)(Power Ring)和電源條線(Power Strips)規(guī)劃。根據(jù)此芯片的功耗(300mW)及電源網(wǎng)絡(luò)的電遷移、電壓降方面的要求,采用了增加電源/地線寬度及供電引腳數(shù)量的常用方法。由于芯片是采用0.18 μ m 1P6M Salicide CMOS工藝,根據(jù)工藝線提供的參數(shù)可知高層金屬較底層金屬厚,方塊電阻值小,承受電流能力最強(qiáng),因此設(shè)計(jì)時(shí)主要選擇了高層金屬作為電源環(huán)。依照這個(gè)原則,水平方向放置Metal5,垂直方向放置Metal6,但為了進(jìn)一步減小電源、地線網(wǎng)絡(luò)上的寄生電阻及最小化由此帶來的電源網(wǎng)絡(luò)電壓降問題,芯片環(huán)形主電源環(huán)水平方向采用了Metal3/Metal5疊層,垂直方向采用了Metal4/Metal6疊層的設(shè)計(jì)方法。在芯片內(nèi)部每隔一定距離放置電源、地線的Strips,以減小到達(dá)晶體管上的電壓降。將芯片的電源、地環(huán)連到電源/地 PAD 的VDD/VSSPAD 上,將 Strips連到主電源環(huán)上,將各個(gè)硬核的 Ring 連到主電源環(huán)上,用一系列與標(biāo)準(zhǔn)單元等寬的水平電源/地線將標(biāo)準(zhǔn)單元的電源/地與主電源環(huán)和 Strips 連接起來,就形成了芯片完整、密集的電源、地線供電“井”型網(wǎng)絡(luò)。
為了更好地穩(wěn)定電源、地線網(wǎng)絡(luò),在芯片設(shè)計(jì)過程中,我們自行設(shè)計(jì)了專門的片內(nèi)去耦電容,片內(nèi)去耦電容設(shè)計(jì)為標(biāo)準(zhǔn)單元形式,并生成布局布線工具所需要的EDA模型,納入本芯片的Astro流程,與標(biāo)準(zhǔn)單元及其他宏單元一起完成自動(dòng)布局布線,很好地保證了設(shè)計(jì)流程的可重復(fù)性,使芯片物理設(shè)計(jì)的反復(fù)迭代簡(jiǎn)單易操作。圖2陰影部分為自動(dòng)加入的片內(nèi)去耦電容。
時(shí)鐘樹綜合是時(shí)序優(yōu)化處理中最重要的一步,時(shí)鐘樹綜合的目的是減小時(shí)鐘偏斜和插入延時(shí)。在本芯片的時(shí)鐘樹綜合中主要考慮了以下幾點(diǎn):
第一,要評(píng)價(jià)芯片時(shí)鐘樹綜合的先后順序。結(jié)合本芯片存在八路不同頻率時(shí)鐘的特點(diǎn),我們?cè)u(píng)價(jià)了各路時(shí)鐘進(jìn)行時(shí)鐘樹綜合的優(yōu)先順序,最終選擇了把最重要的時(shí)鐘放在最后綜合的時(shí)鐘樹綜合方案;
第二,在Astro中要明確時(shí)序參數(shù)及模型的設(shè)置;
第三,為時(shí)鐘網(wǎng)絡(luò)設(shè)置專門的布線規(guī)則。我們采用了2倍于正常設(shè)計(jì)規(guī)則的線寬規(guī)則作為時(shí)鐘線的間距規(guī)則,以減小時(shí)鐘和毗鄰連線的耦合電容及由此帶來的信號(hào)間串?dāng)_;
第四,選擇具有相同上升及下降時(shí)間的Buffer/Inverter作為時(shí)鐘樹的驅(qū)動(dòng)單元,便于更好地控制ClockTree上的偏斜及插入延遲;
第五,考慮RC參數(shù)的優(yōu)先布線原則并進(jìn)行線長(zhǎng)優(yōu)化等策略。
芯片中有多種工作模式,主要的兩種工作模式是DFT模式與Function模式,DFT模式的優(yōu)先級(jí)低于Function模式。時(shí)鐘樹綜合時(shí)采用先綜合低優(yōu)先級(jí)時(shí)鐘,再綜合高優(yōu)先級(jí)時(shí)鐘的策略,即先綜合DFT模式下的時(shí)鐘樹,再綜合Function模式下的時(shí)鐘樹。前端設(shè)計(jì)人員把SDC文件分成DFT模式下的SDC文件和Function模式下的SDC文件,這兩個(gè)文件分別導(dǎo)入以上兩種工作模式。時(shí)鐘樹綜合的流程示意圖如圖3所示。經(jīng)過這種時(shí)鐘樹綜合策略,綜合后的時(shí)鐘樹便能很好地滿足此SoC芯片嚴(yán)格的時(shí)序要求。
布線是繼布局和時(shí)鐘樹綜合后的一項(xiàng)重要工作,其目的是將分布在芯片內(nèi)部的模塊、標(biāo)準(zhǔn)單元和輸入輸出(I/O)單元按邏輯關(guān)系進(jìn)行互聯(lián)。在自動(dòng)布線的過程中,被分為三個(gè)步驟,即全局布線(Global routing)、詳細(xì)布線(Detail routing)和布線修正(Search & Repair)。全局布線速度快、時(shí)間短,如果布線發(fā)現(xiàn)問題,可以及時(shí)解決調(diào)整,從而節(jié)省時(shí)間。詳細(xì)布線是布線的具體實(shí)現(xiàn),在布線開始時(shí)選擇布線修正功能,在詳細(xì)布線完成發(fā)現(xiàn)有錯(cuò)誤時(shí),布線工具會(huì)自動(dòng)去搜尋并修正錯(cuò)誤。
在0.18μm設(shè)計(jì)中,信號(hào)完整性分析已經(jīng)必不可少。它要解決的首要問題就是串?dāng)_。設(shè)置串繞阻止選項(xiàng)可以在全局布線、Track 分配及詳細(xì)布線階段有效抑制大部分串?dāng)_現(xiàn)象。
本芯片設(shè)計(jì)時(shí)采用的串?dāng)_抑制方法還包括:
(1)控制電源網(wǎng)絡(luò)噪聲。通過加入片上(On-Chip Decoupling Capacitance)去耦電容等各種策略以最大限度降低芯片電源網(wǎng)絡(luò)的噪聲,具體做法已在電源規(guī)劃小節(jié)中介紹過;
(2)增加信號(hào)線的布線間距;
(3)轉(zhuǎn)換到另一層連線(圖4);
(4)縮短平行走線的長(zhǎng)度(圖5);
(5)將關(guān)鍵信號(hào)線進(jìn)行屏蔽等。
在此芯片中,時(shí)鐘是頻率最高的信號(hào)線,與其他信號(hào)線發(fā)生串?dāng)_的幾率很大,所以通過有意增加時(shí)鐘網(wǎng)絡(luò)布線間距的方法,使時(shí)鐘樹這個(gè)大的噪聲源本身的信號(hào)間噪聲得到有效控制。通過利用工具內(nèi)嵌功能進(jìn)行串?dāng)_分析和控制、串?dāng)_修復(fù)的多次迭代,使全芯片噪聲閾值(Noise Threshold)控制在小于0.35VDD(工具默認(rèn)控制的閾值為0.45VDD)。
圖5 縮短平行走線長(zhǎng)度示意圖
在芯片的設(shè)計(jì)中,時(shí)序控制一直是后端設(shè)計(jì)的重中之重。
但是在整個(gè)后端布局布線流程中,特別是時(shí)鐘樹綜合、串?dāng)_分析及優(yōu)化等流程都會(huì)影響芯片的時(shí)序。所以在每一個(gè)關(guān)鍵的階段都要進(jìn)行芯片時(shí)序的分析及優(yōu)化,這些優(yōu)化流程不能簡(jiǎn)單采用Astro提供的基本流程,必須結(jié)合電路特點(diǎn)具體情況具體分析。根據(jù)此芯片的實(shí)際情況,我們擬定時(shí)鐘樹綜合階段、布線階段、串?dāng)_優(yōu)化階段都為時(shí)序必查階段。經(jīng)過以上步驟分析以后我們發(fā)現(xiàn),還存在一些時(shí)序方面不滿足的情況,我們?cè)诹鞒讨胁扇×肆硗庖环N補(bǔ)救策略。
主要過程描述如下:首先在Astro完成布局布線及時(shí)序優(yōu)化,將網(wǎng)表及寄生參數(shù)SPEF文件輸出至靜態(tài)時(shí)序分析工具PrimeTime中,由PrimeTime靜態(tài)時(shí)序分析工具分析兩種工作模式下的時(shí)序情況,如果出現(xiàn)建立、保持時(shí)間的違例,再將違例信息反饋至Astro中,借助Astro的內(nèi)嵌工具在時(shí)序違例處加入修復(fù)單元,并進(jìn)行ECO布線,完成后再次將網(wǎng)表及寄生參數(shù)SPEF文件輸出至PrimeTime中,由PrimeTime工具分析。通過這個(gè)過程的反復(fù)迭代,直至滿足芯片所需的100MHz工作時(shí)的時(shí)序要求。
本文介紹了采用Synopsys公司Astro后端工具對(duì)一款百萬門級(jí)S oC芯片進(jìn)行后端設(shè)計(jì)的過程,是筆者后端設(shè)計(jì)實(shí)踐工作的一些經(jīng)驗(yàn)總結(jié)。在后端設(shè)計(jì)過程中不能單純靠利用工具來實(shí)現(xiàn),而是要在整個(gè)芯片后端設(shè)計(jì)過程中緊密結(jié)合電路的具體特點(diǎn),高度重視電源網(wǎng)絡(luò)、時(shí)鐘樹、時(shí)序、串?dāng)_等各方面問題,同時(shí)必須認(rèn)真分析和控制其他一些物理因素,如天線效應(yīng)、電遷移、電壓降等,找出針對(duì)芯片的具體解決方案方能設(shè)計(jì)出成功的芯片。
芯片采用0.18μm 1P6M CMOS工藝,在7.76mm×7.76 mm芯片尺寸內(nèi)完成了一款用戶定制的、工作頻率為100MHz的百萬門級(jí)SoC芯片的后端設(shè)計(jì),流片后經(jīng)過測(cè)試及板級(jí)應(yīng)用驗(yàn)證,芯片的功能及性能完全滿足用戶要求。
[1]陳春章,艾霞,王國雄.數(shù)字集成電路物理設(shè)計(jì)[M].北京:科學(xué)出版社,2005.
[2]Weste NHE,Harris D. CMOS VLSI Design:A Circuit and Systems Perspective[M]. 2005.
[3]Wang Donghui, Yu Qian, Hong Ying, et al. SuperV Back-End Design Flow Based on Astro[J].IEEE, 2005.
[4]Synopsys User Manual[S].Astro User Guide.