《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于Innovus提升芯片性能的物理實現(xiàn)方法
基于Innovus提升芯片性能的物理實現(xiàn)方法
2019年電子技術(shù)應(yīng)用第8期
邊少鮮1,,David He1,,欒曉琨1,,蔣劍鋒1,,翟飛雪1,蔡 準2
1.天津飛騰信息技術(shù)有限公司,,湖南 長沙410000,;2.上海楷登電子科技有限公司,,上海201204
摘要: 對于規(guī)模日益增大,,工作頻率不斷增加的高性能芯片設(shè)計,性能一直是物理設(shè)計的重點和難點,。緩沖器的插入是為了最小化信號線延時,,進而優(yōu)化時序,提升性能,。描述了使用Cadence Innovus工具建立物理設(shè)計流程,,減少各步驟間的偏差。同時在此流程的基礎(chǔ)上提出二次布局優(yōu)化方法,,在16 nm下,,通過一個高性能芯片設(shè)計驗證了該流程與方法,實例結(jié)果表明,,設(shè)計性能得到很大改善,,其中時序優(yōu)化達85.07%,該流程及方法可有效提升高性能芯片性能,。
中圖分類號: TN402
文獻標識碼: 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.
A physical implementation method based on Innovus to improve chip performance
Bian Shaoxian1,,David He1,,Luan Xiaokun1,Jiang Jianfeng1,,Zhai Feixue1,,Cai Zhun2
1.Tianjin Phytium Technology Co.,,Ltd.,,Changsha 410000,China,;2.Cadence Design Systems,Inc.,,Shanghai 201204,China
Abstract: For high-performance chip designs with ever-increasing scale and increasing operating frequency, performance has always been the focus and difficulty of physical design. The buffer is inserted to minimize signal line delay, which optimizes timing and improves performance. The use of Cadence Innovus tools to build physical design flows that reduce deviations between steps is described. At the same time, based on this process, a secondary layout optimization method is proposed. The process and method are verified by a high-performance chip design at 16 nm. The example results show that the design performance is greatly improved, and the timing optimization is 85.07%. The flow and method can effectively improve high performance chip performance.
Key words : Innovus,;physical implementation,;secondary placement optimization

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所示為布局布線的流程圖,。

wdz1-t1.gif

    傳統(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)化后的流程,。

wdz1-t2.gif

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ū)動能力很弱,。

wdz1-t3.gif

    圖4所示為不同種類緩沖器的單元上下沿延時偏差,,可見repeater3和repeater4這兩種緩沖器正負沿均衡性較差,會影響傳輸信號的質(zhì)量,。

wdz1-t4.gif

    圖5所示為從時序庫文件查表得到不同種類緩沖器的漏流功耗情況,。

wdz1-t5.gif

    由圖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)化流程圖,,方法如下:

wdz1-t6.gif

    (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,。

wdz1-t7.gif

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)化后對于緩沖器的使用更加合理化,。

wdz1-t8.gif

wdz1-t9.gif

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%的繞線增加和密度增長,。

wdz1-b1.gif

3.4 Route后的結(jié)果對比 

    良好的placement結(jié)果對最終繞線結(jié)束后的時序影響很大,,表2所示為Route后兩個版本的結(jié)果對比。

wdz1-b2.gif

    通過二次布局優(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)

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。