《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 怎樣能更好地應(yīng)用工具進(jìn)行RTL綜合研究

怎樣能更好地應(yīng)用工具進(jìn)行RTL綜合研究

2009-08-17
作者:山 霞1,田 媛2

??? 摘 要: 針對(duì)當(dāng)前RTL綜合面對(duì)的挑戰(zhàn),總結(jié)了實(shí)際項(xiàng)目中的經(jīng)驗(yàn),可以使綜合工具在更少的時(shí)間里產(chǎn)生的網(wǎng)表芯片面積更小、速度更快,而功耗更低。
??? 關(guān)鍵詞: RTL綜合;CMOS電路;設(shè)計(jì)自動(dòng)化

?

?

??? 隨著微電子設(shè)計(jì)復(fù)雜度不斷增加,生產(chǎn)工藝的不斷縮小,對(duì)設(shè)計(jì)自動(dòng)化工具提出了不斷的挑戰(zhàn)。電子設(shè)計(jì)、自動(dòng)化需要能處理非常復(fù)雜的設(shè)計(jì)所產(chǎn)生的挑戰(zhàn)和需求。邏輯綜合更是應(yīng)該滿足這一需求。邏輯綜合工具應(yīng)該可以在合理的時(shí)間里處理上百萬甚至千萬門的邏輯電路。而傳統(tǒng)的邏輯綜合理論主要是靠電路綜合轉(zhuǎn)換的反復(fù)試驗(yàn),這個(gè)過程其實(shí)是功效和質(zhì)量的折中,通常不能產(chǎn)生最優(yōu)化的結(jié)果。而且,產(chǎn)生的電路非常依賴于具體的設(shè)計(jì)。因此,只有非常有經(jīng)驗(yàn)的設(shè)計(jì)工程師才能綜合出優(yōu)化的電路。面對(duì)這些挑戰(zhàn),可以用本文所闡述的方法,在更少的時(shí)間里,綜合出速度更快、面積更小、功耗更低的芯片。其技術(shù)是基于新出現(xiàn)的綜合工具,不斷增強(qiáng)的后端工具,更好的計(jì)算機(jī)資源和更快的操作系統(tǒng)。通過應(yīng)用這些技術(shù),已經(jīng)成功地完成了一個(gè)90 nm芯片項(xiàng)目,特別是使用這些技術(shù)產(chǎn)生的網(wǎng)表,可以在后端實(shí)現(xiàn)的時(shí)候很快地時(shí)序收斂,保證了芯片的按時(shí)完成。
??? 怎樣指導(dǎo)綜合工具產(chǎn)生想要的電路?當(dāng)使用工具綜合設(shè)計(jì)的時(shí)候,首先明確的是工具永遠(yuǎn)按照工程師的指導(dǎo)在工作,這就需要工程師在做綜合之前,首先要清楚需要完成什么樣的電路。比如電路的工作頻率,有無低功耗要求,面積要求等;其次要清楚工具會(huì)為我們做什么,而不能將工具看成一個(gè)萬能的工具;然后要指導(dǎo)約束工具綜合產(chǎn)生出我們需要的電路。接下來介紹應(yīng)用哪些規(guī)則和方法,可以綜合產(chǎn)生更好的電路。
1 重視RTL編碼設(shè)計(jì)
??? 第一個(gè)規(guī)則就是注重RTL設(shè)計(jì)。無論綜合工具提高了多少,多么好的計(jì)算機(jī)和多快的操作系統(tǒng),都要從設(shè)計(jì)剛開始的時(shí)候就注重RTL編碼設(shè)計(jì)。綜合是將設(shè)計(jì)理念從一種表達(dá)形式(RTL功能描述),轉(zhuǎn)換成另一種形式(針對(duì)于某一工藝的門級(jí)網(wǎng)表),電路在綜合前后具有相同的功能[1]。不能將綜合看成一個(gè)黑盒子而不知道里面的內(nèi)容。必須清楚的知道所需要實(shí)現(xiàn)的電路、設(shè)計(jì)的特殊性、應(yīng)用的綜合工具、還有工具如何處理邏輯電路。不要依賴后端工具來解決時(shí)序問題,而是要在開始設(shè)計(jì)編碼的時(shí)候,就應(yīng)考慮怎么解決這些問題。在項(xiàng)目開始的時(shí)候,應(yīng)用從先前芯片設(shè)計(jì)中得到的經(jīng)驗(yàn),結(jié)構(gòu)化設(shè)計(jì)理念,更有可能產(chǎn)生高效的電路。預(yù)先計(jì)劃怎樣描述RTL設(shè)計(jì),就不用在后端實(shí)現(xiàn)的時(shí)候花很多時(shí)間進(jìn)行布局布線的設(shè)計(jì)。
2 采用自上而下的綜合
??? 綜合工具的性能已經(jīng)提升了很多,能夠在可以接受的時(shí)間里完成自上而下(top-down)的綜合,而不用從下而上(bottom-up)的綜合。這樣可以簡(jiǎn)化綜合約束的管理,減少編譯設(shè)計(jì)所需的綜合腳本,也就減少了使用綜合工具所需的許可證。自上而下的綜合可以使工具在優(yōu)化時(shí)知道設(shè)計(jì)在模塊間的拓?fù)溥B接、負(fù)載、時(shí)序,從而能綜合產(chǎn)生更好的電路。使用自上而下的綜合方法,還可以消除綜合對(duì)時(shí)序預(yù)算的依賴。
3 只對(duì)關(guān)鍵路徑加額外的約束
??? 傳統(tǒng)的綜合流程里,為了能在后端實(shí)現(xiàn)時(shí)留有一定的余地,通常建議在加約束的時(shí)候,將時(shí)鐘額外增加10 %,有些設(shè)計(jì)甚至增加更多,或者用更大的連線模型,以留有足夠的余地。一些設(shè)計(jì)在加約束時(shí),增加了如此多的額外約束[3],以至于雖然設(shè)計(jì)在后端實(shí)現(xiàn)的時(shí)候滿足了時(shí)序收斂的要求,但是卻以犧牲面積為代價(jià),而且有些可能是不必要的。
??? 現(xiàn)在的工具可以明確需要在哪些關(guān)鍵路徑上加額外的約束,以使這些路徑在后端實(shí)現(xiàn)時(shí)能夠滿足時(shí)序的要求,而不用將整個(gè)時(shí)鐘都加額外的約束。如果將時(shí)鐘加額外的約束,將會(huì)使設(shè)計(jì)中使用這個(gè)時(shí)鐘的電路都被不必要的優(yōu)化,包括那些在后端實(shí)現(xiàn)的時(shí)候時(shí)序已經(jīng)收斂的電路。
??? 在本方法的流程里,定義了實(shí)際需要的時(shí)鐘,不是將整個(gè)時(shí)鐘加額外的約束,而是只針對(duì)關(guān)鍵路徑加額外約束,如圖1所示。

?


??? 不可否認(rèn),這個(gè)流程仍然需要反復(fù),但是通過這個(gè)流程綜合產(chǎn)生的網(wǎng)表能夠得到更好的時(shí)序收斂結(jié)果。因?yàn)樵诤蠖藢?shí)現(xiàn)中的關(guān)鍵路徑在綜合時(shí)被加了更快的約束,而非關(guān)鍵路徑?jīng)]有加額外約束,從而減少了芯片面積,降低了成本。
4 重視寄存器與寄存器之間路徑的最優(yōu)化
??? 通常,設(shè)計(jì)中的輸入輸出(I/O)成為整個(gè)芯片工作頻率的瓶頸,而核心的邏輯能在更快的頻率上工作。所以在綜合時(shí),放松加在I/O上的約束,使綜合工具能夠?qū)W⒃诩拇嫫鞯郊拇嫫髀窂降膬?yōu)化。待路徑優(yōu)化滿足了設(shè)計(jì)的需要,再關(guān)注輸入輸出路徑,或者對(duì)輸入輸出路徑做一些結(jié)構(gòu)的微調(diào)以滿足產(chǎn)品的需求。通過這種方法,可以使綜合工具先優(yōu)化寄存器到寄存器的路徑,然后再優(yōu)化輸入輸出路徑,達(dá)到設(shè)計(jì)要求。
5 利用電容及電阻的物理信息
??? 傳統(tǒng)的基于輸出連線負(fù)載模型不能很好地模擬連線間的延遲。如果設(shè)計(jì)的大小在優(yōu)化時(shí)發(fā)生了變化,即使是定制的連線負(fù)載模型也是低效的,因?yàn)樗恰办o態(tài)”的。現(xiàn)在的綜合工具可以讀入物理庫(kù)文件,可以更好地模擬,并動(dòng)態(tài)地調(diào)整物理連線上的時(shí)序。例如,Cadence公司的RTL Compiler在綜合的時(shí)候,利用布局評(píng)估器(PLE)使用物理信息來計(jì)算線延時(shí)[2]。雖然PLE沒有芯片的物理布局布線信息,但是可以用讀入的LEF文件,或者電容文件估算出線延時(shí)。在綜合時(shí),利用物理信息來估算連線的電容、電阻以計(jì)算線延時(shí)比用傳統(tǒng)的連線負(fù)載模型更準(zhǔn)確、更高效,而且也容易使用。
6? 設(shè)置正確的時(shí)序特例
??? 時(shí)序特例(timing exception)是綜合工具默認(rèn)的單周期時(shí)序行為的特例。對(duì)于設(shè)計(jì)中每一個(gè)不符合默認(rèn)時(shí)序特征的電路,都要設(shè)置聲明時(shí)序特例,以使綜合工具不去優(yōu)化這條電路,或用更寬松的約束去優(yōu)化。
??? 時(shí)序特例共3種:電路延遲、多周期電路和虛假電路。多周期電路是指需要超過1個(gè)時(shí)鐘的時(shí)間來傳送數(shù)據(jù),需要對(duì)這個(gè)傳送間隔聲明1個(gè)有限個(gè)數(shù)的時(shí)鐘周期。電路延遲特例是指電路的延遲需要滿足具體說明的延遲[4]。電路存在于設(shè)計(jì)中,但是不會(huì)被激活,稱為功能虛假電路。綜合工具會(huì)優(yōu)化這些功能虛假電路以滿足時(shí)序的要求。綜合工具是基于靜態(tài)時(shí)序分析的工具。靜態(tài)時(shí)序是基于連接關(guān)系,而不是功能。不管這些路徑是否會(huì)在芯片中真的用到,時(shí)序分析都會(huì)基于連接關(guān)系顯示出這些關(guān)鍵路徑。可以通過聲明路徑是功能虛假電路來消除很多不需要的關(guān)鍵路徑。越早清除這些虛假路徑,綜合工具就能越早地優(yōu)化那些真正的路徑,也就能更有效地達(dá)到時(shí)序收斂。所以,設(shè)置正確的、有效的時(shí)序特例至關(guān)重要。
7 允許新的時(shí)序優(yōu)化
??? 新的時(shí)序優(yōu)化技術(shù)可以綜合產(chǎn)生出更好的電路,但是通常會(huì)有邏輯等效性檢查的問題。為了避免邏輯等效性檢查題,應(yīng)盡量使用最新版本的邏輯等效性檢查工具,或者使用與綜合工具相對(duì)應(yīng)版本的邏輯等效性檢查工具。邏輯等效性檢查工具在理解綜合優(yōu)化上已經(jīng)取得了很大的進(jìn)步。邏輯檢查工具現(xiàn)在可以驗(yàn)證很多綜合優(yōu)化,比如寄存器重新調(diào)整(register retiming)、邊界優(yōu)化、數(shù)據(jù)分支優(yōu)化和時(shí)序優(yōu)化等。不要因?yàn)檫@些新的時(shí)序優(yōu)化技術(shù)可能產(chǎn)生的邏輯等效性檢查的問題就關(guān)掉這些優(yōu)化,這樣會(huì)影響綜合出的電路性能。
8 不要限制對(duì)庫(kù)單元的選擇
??? 在傳統(tǒng)的綜合中,為了得到更好的網(wǎng)表結(jié)構(gòu),往往限制對(duì)庫(kù)單元(library cell)的選擇。而現(xiàn)在的綜合工具是基于所加的約束條件和目標(biāo)單元庫(kù)來產(chǎn)生邏輯電路。因此,可供選擇的庫(kù)單元越豐富,綜合工具就越可能優(yōu)化電路,從而平衡電路的面積、速度和功耗,可以給后端提供更好的電路網(wǎng)表。
  本文闡述了多種應(yīng)用在SoC芯片設(shè)計(jì)中的綜合技術(shù),應(yīng)用這些技術(shù)和規(guī)則,可以更加充分地利用現(xiàn)代綜合工具和軟硬件環(huán)境,從而能在更短的時(shí)間內(nèi),使綜合產(chǎn)生的網(wǎng)表電路速度更快、面積更小、功耗更低,后端實(shí)現(xiàn)時(shí)也能更快地進(jìn)行時(shí)序收斂,從而滿足芯片設(shè)計(jì)的要求。今后將繼續(xù)優(yōu)化本文介紹的綜合技術(shù),跟蹤使用新的綜合工具,以優(yōu)化本文的芯片設(shè)計(jì)。


參考文獻(xiàn)
[1]?Synopsys Inc. Design compiler reference manual. Release 2006.06, Mountain View, CA, 2006.
[2]?Cadence Inc. RTL compiler reference manual. Release 6.2.2,? Seely Ave., San Jose, CA, 2007.
[3]?YU Xin You, HONG Peng, YAN Hui Yang. Signal integrity timing closure of million gates SOC platform. IEEE ASICON, 2005.
[4]?JUNG J Y, KIM T. Timing variation-aware high-level synthesis IEEE Computer-Aided Design, 2007.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。