40納米500MHz DSP核心的時(shí)鐘設(shè)計(jì)與分析
在低于40納米的超深亞微米VLSI設(shè)計(jì)中,時(shí)鐘樹網(wǎng)絡(luò)在電路時(shí)序收斂、功耗、PVT變異容差和串?dāng)_噪聲規(guī)避方面所起的作用要更重要得多。高性能DSP芯片會(huì)有大量關(guān)鍵時(shí)序路徑,會(huì)要求時(shí)鐘偏斜超低的全局時(shí)鐘分布。兩點(diǎn)間時(shí)鐘偏斜若不合要求,特別是如果這些點(diǎn)間還存在數(shù)據(jù)路徑的話,可能會(huì)限制時(shí)鐘頻率或?qū)е鹿δ苄藻e(cuò)誤。
本文引用地址:http://m.butianyuan.cn/article/170846.htm本文中所描述的是以500MHz時(shí)鐘頻率運(yùn)行的DSP核心,多數(shù)時(shí)序關(guān)鍵路徑都有超過(guò)20級(jí)的邏輯層??紤]到時(shí)鐘抖動(dòng)率和建立時(shí)間,滿足高頻需求真的是項(xiàng)非常具有挑戰(zhàn)性的任務(wù)。如果使用傳統(tǒng)時(shí)鐘樹設(shè)計(jì)方法,我們至多能獲得全局時(shí)鐘偏斜為150ps的時(shí)鐘樹。而在早期STA階段,我們會(huì)發(fā)現(xiàn)由于時(shí)鐘偏斜不平衡而導(dǎo)致的從-100ps到0ps的建立時(shí)序違規(guī)高達(dá)1萬(wàn)多條。這些均使得偏斜較低的時(shí)鐘設(shè)計(jì)方法成為了一種迫切需要,而且還要求這種方法應(yīng)能夠改善時(shí)鐘PVT變異容差并降低功耗。
用以衡量DSP時(shí)鐘樹分布結(jié)果質(zhì)量(QOR)的參數(shù)主要有三個(gè):一是RC分布擴(kuò)展;二是插入延時(shí)擴(kuò)展;三是同級(jí)延時(shí)擴(kuò)展。我們將比較新時(shí)鐘設(shè)計(jì)方法與傳統(tǒng)方法,產(chǎn)生時(shí)鐘衡量指標(biāo)。
時(shí)鐘設(shè)計(jì)
本文中40nm 500MHz DSP設(shè)計(jì)使用了一種可覆蓋整個(gè)功能塊的單節(jié)點(diǎn)、雙相全局時(shí)鐘,在這個(gè)案例下我們將其稱為CLK。DSP的時(shí)鐘結(jié)構(gòu)如圖1所示,CLK可驅(qū)動(dòng)超過(guò) 5.3萬(wàn)的觸發(fā)器,因此我們建議采用一種有效的設(shè)計(jì)方法來(lái)創(chuàng)建更魯棒的低偏斜時(shí)鐘。
圖1 DSP功能塊的時(shí)鐘結(jié)構(gòu)
時(shí)鐘緩沖器選擇
驅(qū)動(dòng)強(qiáng)度超低和超高的時(shí)鐘緩沖器都是隱藏的。
隱藏超高驅(qū)動(dòng)強(qiáng)度單元有以下優(yōu)勢(shì):降低由于打開關(guān)閉高驅(qū)動(dòng)單元而導(dǎo)致的局部時(shí)鐘樹功耗和動(dòng)態(tài)IR違規(guī);縮短每級(jí)時(shí)鐘的有效網(wǎng)路長(zhǎng)度。
隱藏超低驅(qū)動(dòng)強(qiáng)度單元有以下優(yōu)勢(shì):減少時(shí)鐘樹根上緩沖器總數(shù);避免EM問(wèn)題的潛在風(fēng)險(xiǎn)性。它也將帶來(lái)一些劣勢(shì),比如:可能潛在地提高時(shí)鐘插入延時(shí);可能導(dǎo)致同樣插入延時(shí)具有更高時(shí)鐘樹功耗(同時(shí)減輕局部動(dòng)態(tài)IR降熱點(diǎn))。
在此我們還禁用了時(shí)鐘樹反相器(CTI),因?yàn)樗鼘?dǎo)致毫無(wú)差別的時(shí)鐘樹拓?fù)浣Y(jié)構(gòu)。而且我們還發(fā)現(xiàn)微捷碼工具用來(lái)創(chuàng)建只有緩沖器(buffer-ONly)的時(shí)鐘樹拓?fù)浣Y(jié)構(gòu)會(huì)比用來(lái)創(chuàng)建混合型時(shí)鐘樹拓?fù)浣Y(jié)構(gòu)更有效。
時(shí)鐘斜率控制
非可控性斜率違規(guī)不僅會(huì)導(dǎo)致時(shí)鐘插入延時(shí)的增加和電學(xué)DRC違規(guī),而且還會(huì)造成不符合通道熱載流子規(guī)則的設(shè)計(jì)違規(guī)。在本文中,我們使用了以下兩種方法來(lái)控制好時(shí)鐘斜率:
1)限制每個(gè)時(shí)鐘樹單元(icg、ctb) 的扇出。
2) 在CTS過(guò)程中使用微捷碼Talus命令明確定義時(shí)鐘樹斜率范圍,當(dāng)依據(jù)全局‘斜率’范圍所設(shè)置的斜率范圍還不如這個(gè)范圍嚴(yán)格時(shí)則以這個(gè)范圍為準(zhǔn)。
force limit slew $m/mpin:clk -clock 250p -context $m
增強(qiáng)區(qū)別于微捷碼自帶“fix clock”的選項(xiàng)/方法
微捷碼提供了一個(gè)名稱為‘fix clock’的可預(yù)先創(chuàng)建時(shí)鐘插入腳本。微捷碼自帶CTS圍繞兩個(gè)命令為中心:i)“run route clock”(RRC) ,創(chuàng)建初始時(shí)鐘樹;ii) “run gate clock”(RGC),調(diào)整RRC所創(chuàng)建的時(shí)鐘樹。
RRC有個(gè)默認(rèn)值為2.0的隱藏選項(xiàng)。時(shí)鐘樹布線器可根據(jù)這個(gè)選項(xiàng)的指示,通過(guò)2.0因子超速驅(qū)動(dòng)時(shí)鐘單元,其效果會(huì)比根據(jù)其時(shí)序弧報(bào)告指示來(lái)得更好。雖然這個(gè)選項(xiàng)可能用于高驅(qū)動(dòng)單元時(shí)是極為理想,但當(dāng)高驅(qū)動(dòng)單元處于隱藏狀態(tài)時(shí)它達(dá)不到最佳結(jié)果。如果我們發(fā)現(xiàn)時(shí)鐘樹處于緩沖狀態(tài)時(shí),那可能就是出于這項(xiàng)功能的原因。
對(duì)該設(shè)計(jì)進(jìn)行的各項(xiàng)實(shí)驗(yàn)均顯示出,這種開關(guān)的最佳值為1.5。在本文中,微捷碼自帶CTS腳本通過(guò)編輯可加入這個(gè)隱藏的開關(guān)。
到RRC的最后,默認(rèn)使用標(biāo)準(zhǔn)全局和信號(hào)布線器執(zhí)行時(shí)鐘布線。微捷碼自帶CTS中標(biāo)準(zhǔn)全局和信號(hào)布線器用于65納米以上設(shè)計(jì)可能已足夠準(zhǔn)確,但若用于40納米設(shè)計(jì)則還需要在RGC之前執(zhí)行精確的詳細(xì)布局和高強(qiáng)度全局布線,這樣才可確保到時(shí)RGC時(shí)有準(zhǔn)確的時(shí)序信息來(lái)調(diào)整時(shí)鐘偏斜。
RGC后,建議再進(jìn)行一次詳細(xì)布局和高強(qiáng)度全局布線來(lái)完成RGC中新添加的時(shí)鐘偏斜緩沖器的布局,這樣才能為CTS后進(jìn)一步時(shí)序優(yōu)化提供必要時(shí)序信息。
評(píng)論