文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.199804
中文引用格式: 邊少鮮,,David He,欒曉琨,等. 基于Innovus提升芯片性能的物理實現(xiàn)方法[J].電子技術(shù)應(yīng)用,,2019,,45(8):48-52,60.
英文引用格式: Bian Shaoxian,,David He,,Luan Xiaokun,et al. A physical implementation method based on Innovus to improve chip performance[J]. Application of Electronic Technique,,2019,,45(8):48-52,60.
0 引言
隨著集成電路工藝發(fā)展,物理設(shè)計流程已相對成熟,,但是隨著芯片規(guī)模增大,,頻率提升,復(fù)雜度提升,,芯片的物理實現(xiàn)變得越來越困難,。研究和實踐均表明,插入緩沖器是物理設(shè)計有效的優(yōu)化互連延時的方法,,但是,,緩沖器插入有其局限性。目前的研究及電子設(shè)計自動化(Electronics Design AutomationEDA)工具大多都沒有考慮寄存器和邏輯單元布局(placement)后物理位置的影響,,寄存器和邏輯單元通常被認為放置在最佳位置,。由于時鐘樹綜合(Clock Tree Synthesis,CTS),,緩沖器的數(shù)量急劇增加,,結(jié)果可能會發(fā)生顯著變化。由于這些原因,在物理設(shè)計階段仍可能發(fā)現(xiàn)許多時序違反,,因此很難避免冗長的設(shè)計迭代,。
本文通過建立適用于高性能芯片設(shè)計的物理設(shè)計流程,并對緩沖器的特性及作用進行分類討論,,提出一種在布局階段對設(shè)計進行二次優(yōu)化的方法,,并結(jié)合這個方法給出相應(yīng)的物理設(shè)計流程。最終使物理設(shè)計性能得到優(yōu)化,。
1 物理設(shè)計介紹
1.1 物理實現(xiàn)方式
隨著芯片設(shè)計復(fù)雜度增加,,規(guī)模增大,頻率提升,,從RTL到GDSII過程的每一步,,對于EDA工具、工程師和計算機硬件都是巨大的挑戰(zhàn)[1],,設(shè)計收斂的關(guān)鍵問題往往集中在某些模塊,,層次化設(shè)計就是“自上向下”地將大而復(fù)雜的設(shè)計分割成多個分割塊,然后對各個分割塊單獨進行物理設(shè)計,。層次化設(shè)計已經(jīng)成為大規(guī)模復(fù)雜芯片后端設(shè)計的主流方法[2],。對于分割塊的物理設(shè)計是在邏輯網(wǎng)表基礎(chǔ)上以標準單元作為最底層的子節(jié)點進行“自下而上”的展平式設(shè)計的。各分割塊物理設(shè)計完成后合并到頂層完成整個設(shè)計,。
1.2 傳統(tǒng)布局布線流程
芯片設(shè)計的物理實施通常被簡稱為布局布線(Place-and-Route,,PR)[2]。由于布局布線的起點是插入掃描鏈后的門級網(wǎng)表,,先進行導(dǎo)入設(shè)計(Load design),,即將門級網(wǎng)表和約束文件導(dǎo)入PR工具中;然后進行Floorplan對輸入輸出管腳(Input Output port,,I/O),、硬核(hard intellectual property,IP)和宏模塊進行物理位置的規(guī)劃,;接著進行placement,,即PR工具自動放置標準單元;接下來用緩沖器將時鐘送到各寄存器,、IP,、宏模塊的時鐘輸入端進行CTS;再進行布線(Route),,在滿足工藝規(guī)則,、設(shè)計規(guī)則以及邏輯規(guī)則的約束下,將單元和I/O用金屬連接起來,;布線結(jié)束后會根據(jù)設(shè)計的最終檢查標準進行優(yōu)化,。圖1所示為布局布線的流程圖,。
傳統(tǒng)的物理設(shè)計流程就是針對上述布局布線流程,以時序為主要參考指標進行設(shè)計,,由于在前面的流程中不能得到后面步驟的信息,,因此會在前面以不確定性(uncertainty)來進行額外約束。uncertainty具體值的設(shè)置往往來自經(jīng)驗值,,placement階段設(shè)置額外約束的目的是使標準單元位置更合理,,所以需要加入對CTS和Route兩個階段的預(yù)估值。CTS階段設(shè)置額外約束的目的是建立更加合理的時鐘樹結(jié)構(gòu),,同時需要加入Route階段的預(yù)估,。逐步約束,逐步優(yōu)化,,保證每一階段的時序收斂,,并達到最終設(shè)計的收斂。這種傳統(tǒng)流程一個很嚴重的問題是為了設(shè)計的收斂而進行過約束,,從而進行設(shè)計,,尤其是在placement階段要加入CTS和Route兩個階段的預(yù)估值,偏差就更大,。
1.3 Innovus介紹
Innovus是業(yè)內(nèi)主流的PR設(shè)計工具,,可以提供更加合理有效的物理實現(xiàn)解決方法,在運行效率,、時序分析,、設(shè)計優(yōu)化方面都體現(xiàn)了強大的功能,。在傳統(tǒng)PR流程的基礎(chǔ)上,,Innovus可提供更優(yōu)化的方法。
2 物理實現(xiàn)優(yōu)化方法介紹
本節(jié)在傳統(tǒng)PR流程基礎(chǔ)上,,基于Innovus建立更適用于高性能芯片設(shè)計的PR流程,,并對16 nm工藝下緩沖器的特性進行統(tǒng)計分析,在此基礎(chǔ)上提出placement的二次優(yōu)化方法,。以16 nm高性能芯片設(shè)計為例,,應(yīng)用PR流程和二次布局優(yōu)化方案,對placement二次優(yōu)化前后的設(shè)計指標進行對比分析,。也同時對比了placement二次優(yōu)化后的數(shù)據(jù)版本運行到PR結(jié)束的變化,,使物理設(shè)計更合理。
2.1 新建布局布線流程
Innovus在placement階段已經(jīng)對CTS和Route兩個階段的預(yù)估做了很好的方案,。早期時鐘樹綜合功能(Early Clock Flow,,ECF)是在placement階段調(diào)用時鐘樹協(xié)同優(yōu)化(Clock Concurrent Optimization,CCOPT)引擎創(chuàng)建時鐘樹塊并在placement階段自動優(yōu)化時序時反標更準確的時鐘延時[2],。這種方法能夠規(guī)避由于placement看不到之后的CTS信息,,導(dǎo)致物理上時鐘樹緩沖器及時鐘繞線資源被占用,,性能上影響CTS結(jié)果的弊端,使placement的結(jié)果更趨向于CTS之后的結(jié)果,,減少了從placement階段到CTS階段的設(shè)計偏差,。
在placement階段的預(yù)布線可以很好地預(yù)估后續(xù)Route的情況,但是工具在優(yōu)化計算時序時對電阻電容參數(shù)(RC Factor)的設(shè)置是理想值1,,這明顯是不合理的,,所以Innovus可提供對Route之后的RC Factor重新抽取計算,得到新的RC Factor,,更新Route前設(shè)計的RC Factor,;同時在抽參數(shù)的時候這樣工具在對預(yù)布線的計算就會更接近Route的結(jié)果,從而減少了從placement階段到Route階段的繞線偏差,。實驗結(jié)果顯示,,更新RC Factor之后,Route前后的偏差明顯縮小,。
整個PR流程使用多模式多端角(Multi Mode Multi Corner,,MMMC)分析方式,并且全程使用AOCV,,避免時序過優(yōu)化,,同時減少物理設(shè)計與工藝簽核(signoff)分析模式不同造成的物理設(shè)計冗余。在placement之前預(yù)先放置好時鐘門控,,指導(dǎo)工具按照預(yù)先放置好的門控進行布局,,并且對時鐘根節(jié)點到門控的主干時鐘預(yù)先選擇更優(yōu)的單元和更優(yōu)的線寬,確保時鐘能夠更快更好地送到門控時鐘輸入端,。由于本設(shè)計邏輯集中,,寄存器集中,因此選擇寄存器合并的優(yōu)化方式進行placement,,并在placement階段使用ECF,,減小placement與CTS之間的偏差。在CTS階段使用了中繼器(Buffer)與反相器(Inverter)混合的時鐘樹結(jié)構(gòu),,更好地減少時鐘樹上的單元,,從而減小功耗。將Route分為三步,,先繞時鐘線,,再繞高層,最后繞低層,,提升中高層繞線的質(zhì)量,。并且從PR結(jié)束后的設(shè)計中抽取RC Factor反標回placement前的設(shè)計,確保繞線前后互連金屬計算偏差更小,。最后執(zhí)行布線后的優(yōu)化,。此外全程設(shè)計同時考慮優(yōu)化功耗,,指導(dǎo)工具在優(yōu)化時序的同時不至于過分影響功耗。圖2為Innovus優(yōu)化后的流程,。
2.2 16 nm工藝下緩沖器特點分析
研究和實踐均表明,,插入緩沖器是物理設(shè)計有效的優(yōu)化互連延時的方法。為了指導(dǎo)工具使用更合理的緩沖器,,本節(jié)對緩沖器類型進行對比分析,。
已知在物理設(shè)計過程中緩沖器的主要作用是用來優(yōu)化扇出、優(yōu)化時序,、優(yōu)化邏輯結(jié)構(gòu),。
圖3所示為16 nm工藝下四種緩沖器在相同線負載條件下的延時統(tǒng)計,其中橫軸為單元驅(qū)動力倍數(shù),,縱軸為單元延時,,repeater1~4表示4種類緩沖器的編號。從圖中可以看出,,線負載相同,,驅(qū)動力倍數(shù)相同的條件下,這四類緩沖器的上下沿延時曲線整體上隨驅(qū)動力的增大呈現(xiàn)先快速減少的趨勢,,當(dāng)驅(qū)動力倍數(shù)增大至D5后,,單元延時趨于緩慢增加的穩(wěn)定趨勢。其中repeater1和repeater2的延時要小于repeater3和repeater4的延時,,而repeater1和repeater2的延時比較接近,;D1、D2小倍數(shù)的緩沖器驅(qū)動能力很弱,。
圖4所示為不同種類緩沖器的單元上下沿延時偏差,,可見repeater3和repeater4這兩種緩沖器正負沿均衡性較差,會影響傳輸信號的質(zhì)量,。
圖5所示為從時序庫文件查表得到不同種類緩沖器的漏流功耗情況,。
由圖5可知,,這四類緩沖器都呈現(xiàn)驅(qū)動倍數(shù)越大漏流功耗越大的的關(guān)系,,其中,repeater1和repeater2的曲線接近,,repeater3和repeater4的曲線接近,,相同驅(qū)動倍數(shù)的repeater3和repeater4的漏流功耗明顯低于repeater1和repeater2,且在驅(qū)動力倍數(shù)增大至D5后,,漏流功耗隨驅(qū)動力倍數(shù)增加迅速增加,。
結(jié)合圖3~圖5,對于這四類緩沖器進行總結(jié)如下:
(1)由于repeater3和repeater4的正負沿偏差太大,,對傳輸信號質(zhì)量有影響,,因此這兩類單元要盡量少用或者不用,。
(2)驅(qū)動力倍數(shù)為D1和D2的驅(qū)動能力較弱,所以在分割線段時,,獲得的延時收益會很小,,但其漏流功耗小,所以可用來優(yōu)化對時序要求不緊張的大扇出,。
(3)驅(qū)動力倍數(shù)為D5附近的緩沖器具有較好的驅(qū)動能力,,且漏流功耗不至于過大,所以用來優(yōu)化時序,。對于驅(qū)動力D1和D2的緩沖器,,由于D1緩沖器的漏流功耗稍大于D2,但其相同負載下的單元延時卻明顯大于D2,,因此在優(yōu)化時序時,,可用D2替換D1。
(4)驅(qū)動倍數(shù)為D12以上的緩沖器,,由于其漏流功耗比較大,,且本身單元延時較大,因此對于較小的線負載考慮不用,,如果有長線,,可考慮使用。
(5)后續(xù)手工調(diào)整的時候可考慮用repeater2替換repeater1進行時序的優(yōu)化,。
2.3 二次布局優(yōu)化方法
分析2.1節(jié)的Innovus優(yōu)化流程,,發(fā)現(xiàn)如果placement階段結(jié)果太差,那么這個結(jié)果會隨著PR流程的進行,,一直影響后續(xù)步驟,,增加PR工具的運算量,甚至設(shè)計無法收斂,。如果placement標準單元放置不合理,,會使邏輯走線距離太長,延時增加,,并使時序惡化,,而工具在做placement的時候是先做全局布局,然后再做詳細布局,,全局布局看到的信息不完整,,只是粗略地放置,勢必會有標準單元放置不合理,。由此可見,,如果能夠在placement的時候讓工具考慮到自身placement完成后的情況,這樣就可以減少placement本身的過設(shè)計,,提升設(shè)計性能,。所以,,為了更好的物理實現(xiàn),placement的優(yōu)化非常重要,。
已知工具在placement的時候會同時插入緩沖器進行大扇出和長線的優(yōu)化,,同時也會對邏輯結(jié)構(gòu)進行重新組合。如果先將邏輯單元和寄存器位置放置好后,,根據(jù)實際的寄存器和邏輯單元全局信息重新進行設(shè)計優(yōu)化,,使緩沖器的插入更合理化,減少因缺少全局信息造成的緩沖器冗余,,從而改善布局結(jié)果,。
本節(jié)提出一種針對placement后的設(shè)計進行二次布局優(yōu)化,減少placement自身偏差的方法,,圖6為二次優(yōu)化流程圖,,方法如下:
(1)對placement設(shè)計中的緩沖器進行統(tǒng)計和分類,明確緩沖器所起的作用,。
(2)刪除原placement設(shè)計中的所有緩沖器,。
(3)針對placement階段時序違反報告出現(xiàn)的緩沖器,根據(jù)其發(fā)揮的不同功能,,進行調(diào)整,。若其是用來優(yōu)化長線,那么就需要調(diào)整兩個單元之間的位置,;若是用來優(yōu)化扇出,,可考慮增加前級驅(qū)動力;若是做邏輯結(jié)構(gòu)的優(yōu)化,,可對邏輯進行等價性修改,。
(4)對刪除緩沖器的placement設(shè)計進行二次優(yōu)化,在二次優(yōu)化時,,除D5倍數(shù)外,,禁止使用repeater3和repeater4。
(5)如果時序收斂,,則二次布局優(yōu)化結(jié)束,,如果時序不收斂,可針對時序報告中的緩沖器按照2.2節(jié)中給出的緩沖器使用規(guī)則進行替換,。
二次布局優(yōu)化時已經(jīng)考慮了更準確的寄存器和邏輯單元物理位置,,能得到更優(yōu)的placement階段結(jié)果,減少后續(xù)步驟的偏差,。
3 物理實現(xiàn)與分析
本節(jié)以16 nm下一款2.5G高性能芯片設(shè)計為例,實施上節(jié)建立的物理設(shè)計流程和二次優(yōu)化方法,。
3.1 二次布局優(yōu)化前后時序路徑的變化
本節(jié)中討論了二次布局優(yōu)化前后placement的結(jié)果,。圖7所示為兩個寄存器reg1到reg2之間的一條建立時間(setup)時序路徑二次優(yōu)化前后在Innovus版圖中的情況,,白色三角形表示路徑在該處有緩沖器插入。由圖可以看出,,在二次優(yōu)化之前,,這條路徑上緩沖器位置雜亂,從reg1出來一段存在多個緩沖器反復(fù)插入引起的迂回繞線,,同時中間網(wǎng)絡(luò)線太長,,明顯不合理。經(jīng)過二次布局優(yōu)化后路徑得到了更好的優(yōu)化,,不僅沒有在reg1附近插入冗余的緩沖器,,而且把長線中間加入了緩沖器做分割。優(yōu)化前該條數(shù)據(jù)路徑的延時為449 ps,,優(yōu)化后該條數(shù)據(jù)路徑的延時為399 ps,,與優(yōu)化前的路徑相比,延時減少50 ps,。
3.2 二次布局優(yōu)化前后緩沖器使用的變化
對二次布局優(yōu)化前后placement設(shè)計中的緩沖器的使用情況進行分析,,如圖8、圖9所示,,其中pre代表優(yōu)化前placement設(shè)計中對應(yīng)緩沖器的數(shù)量,,post代表優(yōu)化后placement設(shè)計中對應(yīng)緩沖器的數(shù)量。從這兩幅圖中可以看出,,二次布局優(yōu)化幾乎沒有使用repeater3和repeater4,,對于repeater1的使用數(shù)量減少,repeater2的數(shù)量幾乎同等數(shù)量增加,。驅(qū)動倍數(shù)為D1的緩沖器數(shù)量有減少,,驅(qū)動倍數(shù)為D2的緩沖器幾乎同等數(shù)量的增加,由前面對緩沖器類型的分析中可以知道驅(qū)動倍數(shù)為D1的緩沖器的leakage稍大于驅(qū)動倍數(shù)為D2的,,但其單元延時要明顯大于D2,,所以在時序優(yōu)先的本設(shè)計中,D1的數(shù)量略有下降,,D2的數(shù)量略有上升,。
這符合2.2節(jié)中對緩沖器特性的分析,說明二次優(yōu)化后對于緩沖器的使用更加合理化,。
3.3 二次布局優(yōu)化前后Placemet結(jié)果對比
工具在看到寄存器和邏輯單元的完整placement后,,做二次布局優(yōu)化就會根據(jù)較為真實的placement模型做設(shè)計優(yōu)化,能夠得到更優(yōu)更合理選擇緩沖器的類型,、驅(qū)動和位置的分布,。表1所示為二次布局優(yōu)化前后placement的結(jié)果對比,表格中g(shù)atecount代表標準單元數(shù)量,repeater代表緩沖器數(shù)量,,ULVT代表超低閾值電壓單元占所有標準單元的比例,,setup代表寄存器到寄存器的建立時間時序違反值,density代表密度,,total leakage power代表總的漏流功耗,,total wire length代表placement結(jié)束后的預(yù)布線總線長,其中pre代表二次優(yōu)化前的數(shù)據(jù),,post代表二次優(yōu)化后的數(shù)據(jù),,△代表pre的數(shù)據(jù)與post數(shù)據(jù)差值百分比。從表1可以明顯看出經(jīng)過二次優(yōu)化后緩沖器的數(shù)量可以減少5.5%,,漏流功耗降低11.3%,,時序優(yōu)化87.5%,只造成不到1%的繞線增加和密度增長,。
3.4 Route后的結(jié)果對比
良好的placement結(jié)果對最終繞線結(jié)束后的時序影響很大,,表2所示為Route后兩個版本的結(jié)果對比。
通過二次布局優(yōu)化,,最終在Innovus下看到時序優(yōu)化85.07%,,功耗減少3.2%,線長減少0.37%,,單元數(shù)量減少2.01%,。
4 結(jié)論
在高性能芯片設(shè)計中,物理實現(xiàn)流程已經(jīng)相對成熟,,但是隨著設(shè)計規(guī)模的增大,,工藝的發(fā)展,物理設(shè)計難度增加,。依據(jù)設(shè)計特點不斷完善和優(yōu)化物理實現(xiàn)流程是很重要的,。本文在Innovus工具平臺下建立更適合于高性能芯片設(shè)計的物理實現(xiàn)方法,并在此基礎(chǔ)上引入二次布局優(yōu)化的方法,,通過二次布局優(yōu)化方法在單元數(shù)量減少2.01%的基礎(chǔ)上,,總線長減少0.37%,功耗降低3.2%,,時序優(yōu)化85.07%,,效果顯著。
參考文獻
[1] Cadence Innovus User Guide[EB/OL].[2019-05-11].http://www.cadence.com.
[2] 陳春章,,艾霞,,王國雄.數(shù)字集成電路物理設(shè)計[M].北京:科學(xué)出版社,2008.
作者信息:
邊少鮮1,,David He1,,欒曉琨1,,蔣劍鋒1,翟飛雪1,,蔡 準2
(1.天津飛騰信息技術(shù)有限公司,,湖南 長沙410000,;2.上??请娮涌萍加邢薰荆虾?01204)