陳力穎 ,湯 勇 ,呂英杰
(1.天津工業(yè)大學(xué)電子與信息工程學(xué)院,天津 300387;2.天津工業(yè)大學(xué)天津市光電檢測(cè)技術(shù)與系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,天津 300387;3.南開(kāi)大學(xué)電子信息與光學(xué)工程學(xué)院,天津 300071)
隨著集成電路技術(shù)的不斷進(jìn)步,為專門(mén)目的設(shè)計(jì)的集成電路(ASIC)的規(guī)模越來(lái)越大,已經(jīng)進(jìn)入千萬(wàn)門(mén)級(jí)的階段。晶體管技術(shù)節(jié)點(diǎn)不斷減小,IC設(shè)計(jì)面臨著越來(lái)越多的困難和挑戰(zhàn)[1]。在數(shù)字IC設(shè)計(jì)中,時(shí)鐘信號(hào)占據(jù)著重要地位,所有的數(shù)據(jù)都是根據(jù)時(shí)鐘信號(hào)來(lái)傳輸?shù)?,它是?shù)據(jù)傳輸?shù)幕鶞?zhǔn),對(duì)芯片的功能、性能以及穩(wěn)定性有著重要的影響[2]。因此,在數(shù)字集成電路物理實(shí)現(xiàn)過(guò)程中,如何設(shè)計(jì)出一個(gè)性能高、功耗低的時(shí)鐘結(jié)構(gòu)網(wǎng)絡(luò)變得十分關(guān)鍵。一般要求時(shí)鐘信號(hào)在最壞的情況下必須能夠滿足所有路徑的時(shí)序,否則錯(cuò)誤的數(shù)據(jù)信號(hào)將被傳輸?shù)綍r(shí)序單元中,導(dǎo)致時(shí)序發(fā)生紊亂,進(jìn)而造成系統(tǒng)出現(xiàn)功能性錯(cuò)誤[3]。
時(shí)鐘信號(hào)不僅是整個(gè)數(shù)字電路中翻轉(zhuǎn)速度最快的信號(hào),也是驅(qū)動(dòng)負(fù)載最多、傳輸距離最長(zhǎng)的信號(hào)[4]。時(shí)鐘信號(hào)連接的時(shí)序單元較多,由于其帶載能力是有限的,通過(guò)互連線直接驅(qū)動(dòng)所有的時(shí)序單元是不可能的[5],而且時(shí)鐘源到時(shí)序單元的連線太長(zhǎng)容易造成延遲過(guò)大,所以時(shí)鐘樹(shù)綜合是十分有必要的[6]。隨著數(shù)字芯片規(guī)模不斷增大,工作頻率也逐漸變高,時(shí)序收斂在后端設(shè)計(jì)中越來(lái)越難實(shí)現(xiàn)。
本文以一款具有快速運(yùn)算功能的數(shù)字芯片為例,采用28 nm工藝。芯片規(guī)模約236萬(wàn)門(mén),只有一個(gè)時(shí)鐘源AC_seldc_clkic,頻率為836 MHz,時(shí)鐘信號(hào)驅(qū)動(dòng)的sink pins為67 072個(gè)。使用Cadence公司APR工具SoC Encounter,在傳統(tǒng)時(shí)鐘樹(shù)綜合的基礎(chǔ)上加以改進(jìn),提出了一種時(shí)鐘網(wǎng)絡(luò)設(shè)計(jì)方案,用以有效減小時(shí)鐘偏移并提高時(shí)鐘網(wǎng)絡(luò)性能。
在時(shí)鐘網(wǎng)絡(luò)設(shè)計(jì)過(guò)程中,先利用工具計(jì)算出時(shí)鐘線路上的延遲,然后在時(shí)鐘線路上通過(guò)插入不同驅(qū)動(dòng)能力的緩沖器(Buffer)和反相器(Inverter)來(lái)平衡時(shí)鐘源到達(dá)各個(gè)時(shí)序單元的時(shí)間,使得時(shí)鐘信號(hào)可以同時(shí)到達(dá)芯片中每一個(gè)時(shí)序單元時(shí)鐘輸入端。這種根據(jù)芯片時(shí)鐘網(wǎng)絡(luò)的約束形成時(shí)鐘樹(shù)的過(guò)程稱為時(shí)鐘樹(shù)綜合[7]。CTS最主要的目標(biāo)是最小化時(shí)鐘偏移,使得關(guān)鍵路徑的時(shí)序能夠得到滿足,從而達(dá)到整個(gè)系統(tǒng)時(shí)序收斂的目的[8]。圖1為沒(méi)有進(jìn)行CTS的時(shí)鐘分布網(wǎng)絡(luò),圖2為CTS完成以后的時(shí)鐘分布網(wǎng)絡(luò)。從圖1和圖2可以看出,CTS完成以后時(shí)鐘樹(shù)已經(jīng)形成,時(shí)鐘分布網(wǎng)絡(luò)的高扇出現(xiàn)象得到了有效緩解,時(shí)鐘級(jí)數(shù)也明顯增加[9]。
圖1 CTS以前時(shí)鐘結(jié)構(gòu)Fig.1 Pre-CTS clock network
圖2 CTS以后時(shí)鐘結(jié)構(gòu)Fig.2 Post-CTS clock network
時(shí)鐘樹(shù)形成以后,可以通過(guò)插入延遲和時(shí)鐘偏移來(lái)衡量時(shí)鐘樹(shù)的性能。插入延遲是指從時(shí)鐘源到時(shí)序單元CLK端的總時(shí)間,它由器件延遲和互連線延遲2部分組成[10]。時(shí)鐘偏移是指同一時(shí)鐘信號(hào)到達(dá)該時(shí)鐘域內(nèi)所有時(shí)序單元的時(shí)間偏差,MaxSkew是指最大時(shí)鐘偏移,即最大插入延遲與最小插入延遲之差[11-12]。插入延遲控制著時(shí)鐘線路上插入的Buffer和Inverter的級(jí)數(shù),一般情況下延遲越大,時(shí)鐘偏移反而越小。但是這樣就會(huì)大大增加CTS過(guò)程中使用的Buffer和Inverter的個(gè)數(shù),進(jìn)而導(dǎo)致時(shí)鐘分布網(wǎng)絡(luò)上功耗的增加。時(shí)鐘偏移決定了電路時(shí)序的好壞,偏移越大,時(shí)序越難滿足,所以它對(duì)芯片的性能、功能以及穩(wěn)定性產(chǎn)生一定的影響。
圖3為時(shí)序電路模型。圖3中,F(xiàn)F1和FF2代表時(shí)序單元,C代表FF1和FF2之間的組合邏輯電路。假設(shè)CLK1和CLK2分別是時(shí)序單元FF1和FF2的驅(qū)動(dòng)時(shí)鐘,它們之間的最大時(shí)鐘偏移用Tskew表示,組合邏輯電路延遲為T(mén)C,時(shí)序單元的延遲為T(mén)clk-q,其建立時(shí)間為T(mén)setup,保持時(shí)間為T(mén)hold,時(shí)鐘周期為T(mén)cycle。
圖3 時(shí)序電路模型Fig.3 Sequential circuit model
對(duì)于最大時(shí)鐘偏移有2種情況:①CLK1比CLK2晚 Tskew;②CLK1比 CLK2早 Tskew。
當(dāng)CLK1比CLK2晚Tskew時(shí),時(shí)鐘信號(hào)波形圖如圖4所示。
圖4CLK2比CLK1快的波形圖Fig.4 Waveform when CLK2 is faster than CLK1
圖4中,對(duì)于setup檢查,要求在時(shí)鐘信號(hào)CLK2發(fā)生跳變之前,時(shí)序單元FF2的輸出端D上數(shù)據(jù)一定要保持Tsetup時(shí)間,此時(shí)建立時(shí)間Tsetup需要滿足關(guān)系式:
對(duì)于hold檢查,要求在時(shí)鐘信號(hào)CLK2跳變以后,時(shí)序單元FF2的輸出端D上數(shù)據(jù)必須保持Thold時(shí)間,此時(shí)保持時(shí)間Thold需要滿足的關(guān)系式:
從公式(1)、(2)中可以看出,這種情況下,由于時(shí)鐘偏移的存在,保持時(shí)間容易得到滿足,建立時(shí)間卻很容易產(chǎn)生違例。建立時(shí)間違例雖然可以通過(guò)犧牲工作頻率來(lái)解決,但降低了芯片的性能。
當(dāng)CLK1比CLK2早Tskew時(shí),時(shí)鐘信號(hào)波形圖如圖5所示。
圖5 CLK1比CLK2快的波形圖Fig.5 Waveform when CLK1 is faster than CLK2
同理,為了避免出現(xiàn)setup和hold違例,建立時(shí)間Tsetup和保持時(shí)間Thold需要滿足關(guān)系式:
結(jié)合公式(3)、(4)可以看出,此時(shí),時(shí)鐘偏移雖然使得建立時(shí)間容易滿足,但卻很容易引起保持時(shí)間違例,進(jìn)而造成系統(tǒng)發(fā)生功能性錯(cuò)誤。
由于時(shí)鐘偏移的存在,時(shí)序單元的建立時(shí)間Tsetup和保持時(shí)間Thold很難得到滿足,從而出現(xiàn)時(shí)序違例[13]。因此在CTS過(guò)程中,應(yīng)該盡可能使得時(shí)鐘信號(hào)同時(shí)到達(dá)時(shí)序單元的時(shí)鐘端,減小時(shí)鐘偏移,進(jìn)而提高系統(tǒng)的性能和穩(wěn)定性。
本文使用的時(shí)鐘樹(shù)綜合工具是Cadence公司的SoC Encounter,其內(nèi)部集成了CTS引擎[14]。Encounter的時(shí)鐘樹(shù)綜合過(guò)程在布局完成以后進(jìn)行,有手動(dòng)模式和自動(dòng)模式2種。手動(dòng)模式下,能夠人為選擇時(shí)鐘樹(shù)布線使用的金屬層、插入緩沖器的數(shù)量以及每個(gè)金屬層所使用緩沖器的種類[15]。自動(dòng)模式時(shí),工具會(huì)根據(jù)時(shí)鐘樹(shù)約束文件(SPEC)自動(dòng)選擇使用的布線層數(shù)和緩沖器數(shù)量[16]。本文采用的是自動(dòng)模式,流程如圖6所示。
由圖6可知,工具先計(jì)算從時(shí)鐘根節(jié)點(diǎn)到葉節(jié)點(diǎn)的延遲,然后根據(jù)SPEC文件定義的約束條件,從時(shí)鐘根節(jié)點(diǎn)逐級(jí)插入緩沖器或反向器,到達(dá)所有的葉節(jié)點(diǎn)。在這個(gè)過(guò)程中,工具會(huì)平衡到達(dá)各個(gè)葉節(jié)點(diǎn)的延遲,使得時(shí)鐘偏移小于或者等于SPEC中定義的最大偏移[17]。
圖6 Encounter時(shí)鐘樹(shù)綜合流程Fig.6 CTS flow with Encounter
在芯片的時(shí)鐘樹(shù)綜合過(guò)程中,需要修改時(shí)鐘樹(shù)約束文件中一些參數(shù),如使用Buffer和Inverter的類型、最大時(shí)鐘偏移MaxSkew、最大延遲MaxDelay、最小延遲MinDelay以及時(shí)鐘樹(shù)布線規(guī)則等,工具會(huì)根據(jù)這些約束對(duì)時(shí)鐘樹(shù)進(jìn)行優(yōu)化。
CTS過(guò)程在選擇Buffer和Inverter時(shí)有3種方案:①只使用Buffer;②只使用Inverter;③Buffer和Inverter結(jié)合使用。本文采用的方法是將2種單元結(jié)合使用,它在時(shí)鐘樹(shù)綜合過(guò)程中既體現(xiàn)了Buffer可控性好的優(yōu)點(diǎn),又吸收了Inverter功耗低的優(yōu)點(diǎn)。CTS中使用的Buffer和Inverter是通過(guò)SPEC文件定義的,在選擇的時(shí)候需要考慮2個(gè)方面因素:器件的類型和驅(qū)動(dòng)能力。通常選擇CLKBUF和CLKINV,因?yàn)閹LK的比不帶CLK的平衡性好,它們的上升渡越時(shí)間(rise transition)和下降渡越時(shí)間(fall transition)基本保持一致[18]。此外,選擇緩沖器和反相器的驅(qū)動(dòng)能力不可以過(guò)大,也不可以過(guò)小[19]。因?yàn)轵?qū)動(dòng)能力大,器件面積也大,器件插入的太多會(huì)對(duì)芯片的面積和功耗產(chǎn)生影響;相反,如果驅(qū)動(dòng)能力太小,雖然面積減小了,但是卻造成了時(shí)鐘級(jí)數(shù)的增加,將產(chǎn)生較大的延遲。所以本設(shè)計(jì)中使用驅(qū)動(dòng)能力在4~12范圍內(nèi)的CLKBUF和CLKINV。
最大時(shí)鐘偏移MaxSkew也是在SPEC文件中定義的。在CTS過(guò)程中,工具會(huì)根據(jù)MaxSkew的大小,通過(guò)在時(shí)鐘線路上插入緩沖器和反相器,將時(shí)鐘偏移優(yōu)化到接近該目標(biāo)值。但是在大部分設(shè)計(jì)當(dāng)中,只要時(shí)鐘偏移能夠滿足時(shí)序收斂,一般不會(huì)將MaxSkew設(shè)置的過(guò)小。如果MaxSkew設(shè)置的太小,工具在優(yōu)化時(shí)鐘樹(shù)的時(shí)候?yàn)榱藵M足該設(shè)定值,會(huì)在時(shí)鐘線路上插入許多緩沖器和反相器,從而造成芯片面積和功耗不必要的浪費(fèi)。因此,本設(shè)計(jì)中將MaxSkew設(shè)置為100 ps。
本設(shè)計(jì)中時(shí)鐘信號(hào)頻率高達(dá)836 MHz,頻率越高對(duì)布線要求也就越高。如果時(shí)鐘信號(hào)按照默認(rèn)的間距和寬度布線,隨著頻率增高,信號(hào)線之間串?dāng)_隨之也會(huì)增大,所以一般將時(shí)鐘路徑的布線寬度和間距設(shè)置的比默認(rèn)值稍大一些,這樣不僅可以解決頻率增加引起的串?dāng)_問(wèn)題,還可以減小時(shí)鐘路徑上功耗和延遲。時(shí)鐘布線規(guī)則定義了使用的金屬層、布線的間距以及寬度。由于金屬連線的寄生電阻會(huì)產(chǎn)生電壓降,電壓降增大會(huì)減小時(shí)鐘信號(hào)強(qiáng)度,從而使得時(shí)鐘信號(hào)容易受到其他信號(hào)線的串?dāng)_影響,所以一般選擇電阻較小的金屬層布時(shí)鐘線。高層金屬比較厚,走線寬度大,RC值很??;而低層金屬比較薄,走線寬度最小,RC值一般比較大。本設(shè)計(jì)使用的是10層金屬布線,其中M9、M10用來(lái)電源布線,考慮到通孔會(huì)增加電阻,所以本文中使用M2-M7布時(shí)鐘線。其中trunk net使用2倍寬度和間距走線,leaf net使用1倍寬度和2倍間距走線,以降低噪聲干擾和提高抗遷移能力。以下命令分別定義了tunk net和leaf net布線規(guī)劃:
根據(jù)時(shí)鐘樹(shù)在芯片中的分布特征可分為H樹(shù)、X樹(shù)、平衡樹(shù)和網(wǎng)格型結(jié)構(gòu)。其中網(wǎng)格型時(shí)鐘樹(shù)結(jié)構(gòu)增大了時(shí)鐘共同路徑,將時(shí)鐘源轉(zhuǎn)移到每個(gè)網(wǎng)格格點(diǎn)上并均勻分布在芯片不同位置,如圖7所示。
圖7 網(wǎng)格型時(shí)鐘樹(shù)結(jié)構(gòu)Fig.7 Grid clock tree
由圖7可知,網(wǎng)格型結(jié)構(gòu)雖然能有效減小時(shí)鐘延遲的偏差,但是冗余時(shí)鐘線過(guò)多,造成功耗的增加和布線資源的浪費(fèi)。受網(wǎng)格型結(jié)構(gòu)轉(zhuǎn)移時(shí)鐘源啟發(fā),本文提出了分段CTS的方法。第1段CTS主要完成共同路徑的時(shí)鐘樹(shù)綜合,將時(shí)鐘源轉(zhuǎn)移到芯片中心處;第2段CTS從芯片中心向四周做時(shí)鐘樹(shù),由于時(shí)鐘源位于芯片中心位置,這有利于平衡時(shí)鐘源到葉節(jié)點(diǎn)的延遲。
CTS過(guò)程是在標(biāo)準(zhǔn)單元布局完成以后進(jìn)行的,在CTS之前除了需要設(shè)置一些約束,還要清除版圖中可能存在的時(shí)鐘網(wǎng)絡(luò)。布局完成以后,在芯片的中心位置手動(dòng)插入一個(gè)緩沖器,將其狀態(tài)設(shè)置為fixed。然后以時(shí)鐘源Clk為時(shí)鐘根節(jié)點(diǎn),將緩沖器輸入端(C_2432_IOBUF/A)視為唯一時(shí)鐘葉節(jié)點(diǎn),完成第1段CTS。由于時(shí)鐘源只對(duì)應(yīng)一個(gè)時(shí)鐘葉節(jié)點(diǎn),所以這個(gè)過(guò)程就是將時(shí)鐘源和緩沖器連接起來(lái),通過(guò)插入Buffer和Inverter來(lái)增大驅(qū)動(dòng)能力,減小時(shí)鐘延遲。第1段CTS完成以后,時(shí)鐘偏移為零,所以就相當(dāng)于將時(shí)鐘源轉(zhuǎn)移到芯片中心。對(duì)應(yīng)的第1段CTS的SPEC文件語(yǔ)法如下所示,其中AutoCTSRootPin定義時(shí)鐘根節(jié)點(diǎn),LeafPin定義時(shí)鐘葉節(jié)點(diǎn),MaxSkew是CTS完成以后時(shí)鐘樹(shù)允許的最大偏移。第1段時(shí)鐘樹(shù)綜合SPEC文件語(yǔ)法為:
完成第1段的時(shí)鐘樹(shù)以后,需要將已經(jīng)綜合好的時(shí)鐘樹(shù)保護(hù)起來(lái),這樣在進(jìn)行第2段CTS時(shí)就不會(huì)對(duì)已經(jīng)綜合好的時(shí)鐘樹(shù)造成影響[20]。在第1段時(shí)鐘樹(shù)綜合的基礎(chǔ)上,以緩沖器的輸出端(C_2432_IOBUF/Y)為時(shí)鐘根節(jié)點(diǎn),以Encounter默認(rèn)的sink pins為葉節(jié)點(diǎn),生成時(shí)鐘樹(shù)約束文件進(jìn)行CTS。此時(shí)時(shí)鐘根節(jié)點(diǎn)位于芯片中心位置,這樣有利于平衡時(shí)鐘信號(hào)到葉節(jié)點(diǎn)的延遲。以下是第2段CTS的SPEC部分內(nèi)容。由于SPEC文件中沒(méi)有指定LeafPin,工具將默認(rèn)的67 072個(gè)sink pins視為時(shí)鐘葉節(jié)點(diǎn),完成時(shí)鐘樹(shù)綜合。第2段時(shí)鐘樹(shù)綜合SPEC文件語(yǔ)法為:
這2段CTS完成以后就構(gòu)成了一個(gè)完成的時(shí)鐘樹(shù),為了得到性能更好的時(shí)鐘樹(shù),一般采用時(shí)鐘樹(shù)優(yōu)先布線的原則,充分保證時(shí)鐘路徑的可布通性。在時(shí)鐘樹(shù)布線完成以后,對(duì)時(shí)鐘網(wǎng)絡(luò)進(jìn)行優(yōu)化,進(jìn)一步提高時(shí)鐘網(wǎng)絡(luò)性能。
分別使用2種CTS方案對(duì)芯片時(shí)鐘分布網(wǎng)絡(luò)進(jìn)行設(shè)計(jì)。比較2種時(shí)鐘樹(shù)的性能結(jié)果如表1所示。
表1 時(shí)鐘樹(shù)性能比較Tab.1 Comparison of clock tree performance
從表1中可以看出,使用分步CTS的時(shí)鐘樹(shù)的插入延遲相比于傳統(tǒng)CTS增大了一些。最大插入延遲變化較小,約40 ps左右;而最小插入延遲變化比較大,其中上升沿最小插入延遲增大了156 ps。插入延遲的增大會(huì)造成時(shí)鐘樹(shù)功耗的增大,但是時(shí)鐘偏移得到極大的改善,其中Rise Skew從147 ps下降到70 ps,F(xiàn)all Skew從191 ps下降到77 ps,均減小了50%以上,這將十分有利于關(guān)鍵路徑的時(shí)序收斂,尤其是hold檢查。一般情況下,時(shí)鐘偏移越小,hold time越容易滿足,這樣出現(xiàn)hold violation的路徑越少,工具在修復(fù)時(shí)序時(shí)插入的緩沖器將大大減少,這會(huì)減小整個(gè)系統(tǒng)的功耗。此外,時(shí)鐘樹(shù)性能變好了,關(guān)鍵路徑的時(shí)序越容易得到滿足,那么工具在修復(fù)時(shí)序的時(shí)候可以節(jié)約大量時(shí)間,這樣在一定程度上可以加快設(shè)計(jì)進(jìn)度,縮短設(shè)計(jì)周期。
表2、表3分別是采用2種時(shí)鐘樹(shù)綜合后setup和hold時(shí)序報(bào)告。
表2 setup時(shí)序報(bào)告Tab.2 Setup timing report
表3 hold時(shí)序報(bào)告Tab.3 Hold timing report
從表2、表3中可以看出,采用本文介紹的分步CTS方法時(shí)序更好一點(diǎn),在最大違例時(shí)間(WNS)、總的違例時(shí)間(TNS)和違例路徑數(shù)方面都有了很大的改善。其中hold時(shí)序變化最為明顯,相比較傳統(tǒng)CTS,分步CTS的TNS減小了近88%(從-37.677 ns減小到-4.405 ns),出現(xiàn)違例的路徑從4 293條減小到了1 031條,這對(duì)于降低整個(gè)芯片的面積和功耗有著十分重要的意義。在完成布局布線工作以后,需要對(duì)出現(xiàn)違例的路徑進(jìn)行修復(fù)。Hold時(shí)間違例通過(guò)在Endpoint前插入緩沖器就可以使時(shí)序得到滿足,TNS和違例路徑數(shù)的減少意味著插入的緩沖器減少,這樣就可以減小芯片的面積和功耗。由于芯片的頻率較高,周期僅為1.196 ns,setup時(shí)序違例相對(duì)來(lái)說(shuō)比較難修復(fù),分步CTS有效的改善了setup時(shí)序,這大大減輕了后續(xù)setup違例修復(fù)的工作量,減少迭代次數(shù),加快了整個(gè)設(shè)計(jì)周期。分別對(duì)2種方案的時(shí)序進(jìn)行優(yōu)化和修復(fù),傳統(tǒng)CTS的時(shí)序結(jié)果需要迭代15次才可以修復(fù)所有的違例路徑,而使用分步CTS僅僅迭代了7次。
隨著數(shù)字集成電路特征尺寸進(jìn)入深亞微米級(jí)別,芯片設(shè)計(jì)對(duì)功耗提出了更高的要求[21-22]。在電路中不同種類的靜態(tài)功耗和動(dòng)態(tài)功耗組成了總功耗,其中以泄漏功耗為主的靜態(tài)功耗占總功耗的很大一部分。表4是設(shè)計(jì)中不同閾值電壓器件使用情況報(bào)告,包括數(shù)量、面積以及功耗.表5是分別采用2種方法的泄漏功耗對(duì)比報(bào)告。
表4 不同閾值器件使用情況比較Tab.4 Comparison of different threshold voltage cells
表5 泄漏功耗和密度比較Tab.5 Comparison of leakage power and density
結(jié)合表4、表5分析可以得到,通過(guò)使用分步CTS的方法芯片總泄漏功耗從78.563 mW減小到43.264 mW,減小了約45%。一方面,使用本文的提出的方法使得關(guān)鍵路徑時(shí)序得到了很大的改善,在時(shí)序不是很緊張的情況下,工具會(huì)優(yōu)先使用高閾值電壓(hvt)器件降低泄漏功耗。如表4所示,分步CTS使得低閾值電壓和標(biāo)準(zhǔn)閾值電壓標(biāo)準(zhǔn)單元面積減小,高閾值電壓標(biāo)準(zhǔn)單元的面積增加,從而降低了泄漏功耗。另一方面,設(shè)計(jì)中instance數(shù)量減少了,density下降了1.38個(gè)百分點(diǎn),相應(yīng)的標(biāo)準(zhǔn)單元的面積也減小了,這樣就會(huì)導(dǎo)致功耗下降,如表5所示。
隨著芯片規(guī)模不斷增加,晶體管技術(shù)節(jié)點(diǎn)不斷減小,時(shí)鐘偏移成為限制系統(tǒng)頻率的關(guān)鍵因素,對(duì)時(shí)序收斂起著至關(guān)重要的作用。本文設(shè)計(jì)的數(shù)字芯片是基于28 nm工藝,使用SoC Encounter對(duì)芯片時(shí)鐘樹(shù)進(jìn)行設(shè)計(jì),在傳統(tǒng)CTS的基礎(chǔ)上提出了分步CTS的方法,并通過(guò)比較分步CTS與傳統(tǒng)CTS的結(jié)果,可以得到以下結(jié)論:
(1)分步CTS可以有效的減小時(shí)鐘偏移,rise skew減小了52.4%,fall skew減小了59.7%。
(2)時(shí)鐘偏移減小,時(shí)鐘樹(shù)性能提高,setup時(shí)序和hold時(shí)序在WNS、TNS以及違例路徑數(shù)上都有很大的改善。
(3)有效的減小了芯片面積和功耗.芯片中總的器件數(shù)目減少了,density也下降了1.38個(gè)百分點(diǎn),同時(shí)芯片泄漏功耗減小了約44.9%。
本文設(shè)計(jì)的芯片在28 nm工藝下已經(jīng)流片成功。事實(shí)證明,本文介紹的分步時(shí)鐘樹(shù)綜合策略提高了時(shí)鐘網(wǎng)絡(luò)的性能,能夠更好的滿足時(shí)序收斂的要求,降低芯片功耗。但是該方法也有其局限性,當(dāng)設(shè)計(jì)芯片的時(shí)鐘網(wǎng)絡(luò)十分復(fù)雜且時(shí)鐘信號(hào)數(shù)量過(guò)多時(shí),手動(dòng)插入緩沖器的工作量就很大。