0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于方法學(xué)flow來聊聊APR工具placement

sanyue7758 ? 來源:處芯積律 ? 2023-05-29 09:51 ? 次閱讀

眾所周知,在prePlace階段打完P(guān)ower后,需要使用APR工具把網(wǎng)表中存在的例化完的instance來全局放置在core內(nèi),這個布局階段(place)會暴露出設(shè)計Case在不加任何約束下按工具默認的globaldensity等設(shè)置擺放cell所存在的風(fēng)險。

實際上在后端范圍,工程師通常提到的高風(fēng)險模塊指的就是congestion較高的模塊以及時序風(fēng)險較高的模塊,這兩者實際上都和place有著千絲萬縷的聯(lián)系,前者可能是因為place階段不合理/面積切分不合理導(dǎo)致局部繞線資源緊張,后者則有可能因為place的原因使得局部density過高導(dǎo)致timing eco階段hold插爆引起不能修的short drc。

這篇文章小編就來以APR placement flow為例,分析工具在place階段到底做了哪些事情,并且結(jié)合項目心得,講述幾種常見的解congestion的方法和思路。

實際上placement不止和route最后的drc結(jié)果息息相關(guān),更是和下個階段的cts時鐘樹密切相關(guān),一個優(yōu)秀的placement,擺的寄存器的位置比較合理/緊湊的話可以讓cts解drv的時候線長減短,進而減少很多為了解transition而插的INV,進而一定程度上優(yōu)化時鐘樹長和skew。

數(shù)字電路中,單元的放置是很規(guī)范的,std cell的面積都是site的整數(shù)倍,而row是由site大小決定生成的,std cell也通常為一倍/二倍row高度,對應(yīng)的std cell也會snap到row上放置,其實從綜合工具DCG看初始狀態(tài)這些cell全部都是堆疊擺放的。而placement最重要的任務(wù),就是把這些cell擺好,不能有Overlap,不能有l(wèi)egalization的問題,不能有FE DRC。這就很類似于一堆散亂的樂高積木,我們要把它一個個的在地上(core row)鋪好,但是又要擺放的符合前端代碼(RTL)關(guān)系。

19c4c590-fd3e-11ed-90ce-dac502259ad0.png19e9feb4-fd3e-11ed-90ce-dac502259ad0.png

1a38fa28-fd3e-11ed-90ce-dac502259ad0.png

上述內(nèi)容就是指導(dǎo)innovus進行block placement的基礎(chǔ)flow了,由注釋可以發(fā)現(xiàn)主要包括設(shè)置placemode;設(shè)置opt mode,設(shè)置OCV derate參數(shù)加嚴時序,add_tie_cell來鉗位住logic 0/1的Pin,一端接pg net,一端接constant pin;進行Place以及Place_opt操作;存完db后,報timing以分析時序,也許有些ICer會疑惑PlaceOpt怎么就一個place_opt_design就一筆帶過了?事實上,APR布局布線的PlaceOpt階段工具是其中的一個重要步驟,主要負責(zé)對芯片的物理布局進行優(yōu)化,以滿足電氣約束和布局規(guī)則。

PlaceOpt階段工具的主要作用如下:

優(yōu)化芯片的物理布局:PlaceOpt階段工具可以通過對芯片的物理布局進行優(yōu)化,使得芯片的面積更小、功耗更低、性能更好。PlaceOpt階段工具會針對芯片的電氣約束和布局規(guī)則進行優(yōu)化,以達到最佳的布局效果。

解決布局沖突:在布局布線的過程中,可能會出現(xiàn)布局沖突的情況,比如兩個器件之間的距離過近,或者某些器件之間的間距不符合規(guī)定等。PlaceOpt階段工具可以檢測這些沖突,并進行解決,以保證芯片的物理布局符合規(guī)范。

優(yōu)化時序和功耗:PlaceOpt階段工具可以通過優(yōu)化芯片的物理布局,來改善芯片的時序和功耗。例如,可以通過減小器件之間的距離,來縮短信號傳輸?shù)臅r間,從而提高芯片的時序性能。又如,可以通過合理的布局,來降低芯片的功耗。

生成布局報告:PlaceOpt階段工具會生成布局報告,其中包括芯片的面積、功耗、時序等信息,以便設(shè)計人員對布局結(jié)果進行評估和調(diào)整。

需要注意的是,PlaceOpt階段工具只是APR布局布線過程中的一個步驟,它需要與其他工具配合使用,才能完成整個布局布線的過程。例如,在PlaceOpt階段工具之后,還需要進行時鐘樹合成、布局布線、后仿真等步驟,以完成芯片設(shè)計的整個流程。那么問題來了,如果在place完畢后,工程師在查閱log/報告時候發(fā)現(xiàn)局部區(qū)域overflow(congestion)確實很大,存在很大的繞線風(fēng)險時候一般怎么解決呢?

可以通過調(diào)整flooplan來解決,通常MEM的溝道/出PIN位置附近會有縱向/橫向的overflow,這種congestion通??梢酝ㄟ^調(diào)整溝道寬度/MeM的相對位置(使得走線規(guī)整)解決

打PlaceBlk,對于cell density過高的區(qū)域可以加partitial place blk來降低density,可以密度逐層遞增,打多層

增加keepout margin,通過設(shè)置Pin keep out來給PIN足夠空間出

打routing blk,對于Macro周邊底層signal如M2 M3等出PIN導(dǎo)致的signal overflow尤其是拐角處,在周邊區(qū)域走線資源充足的情況下,可以對堵塞區(qū)域設(shè)置對應(yīng)層的no_signal rblk,route完畢后刪掉,以免報drc錯誤

設(shè)置padding,對于高Pin Density的區(qū)域,經(jīng)常有AIO,MUX,MBIT等多Pin std cell,雖然cell的密度不高,但是走線出Pin太多,這種情況可以通過設(shè)置一類lib cell的padding來解,通??梢约?~2site的距離,不夠再加,注意,這樣操作很有可能會影響timing,需要謹慎使用。

merge bit,對于寄存器導(dǎo)致發(fā)生overflow的區(qū)域,工程師可以設(shè)置Merge bit以減少時鐘PIN

修改RTL代碼,有可能是邏輯設(shè)計不合理,MUX等多PIN邏輯太多了,后端確實解不了

修改Power Plan,對于H overflow,則加密縱向走線,放松橫向Power走線,反之加密橫向Power走線,放松縱向Power走線

規(guī)劃std cell,整理signal 線,在Power net高層空間允許的情況下,走高層NDR來釋放風(fēng)險

少部分的signal線,可以自己手動拉線走高層/或者換層

最終殺招,和項目經(jīng)理商量要不要增加點面積,或者砍點macro放到其他模塊去,H overflow就增加高度,V overflow就增加寬度。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5359

    瀏覽量

    120818
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59878
  • apr
    apr
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    6487
  • MEM
    MEM
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    8470
  • DCG
    DCG
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    2386

原文標題:基于方法學(xué)flow來聊聊APR工具placement

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    SystemVerilog 的VMM驗證方法學(xué)教程教材

    SystemVerilog 的VMM 驗證方法學(xué)教程教材包含大量經(jīng)典的VMM源代碼,可以實際操作練習(xí)的例子,更是ic從業(yè)人員的絕佳學(xué)習(xí)資料。SystemVerilog 的VMM 驗證方法學(xué)教程教材[hide][/hide]
    發(fā)表于 01-11 11:21

    IC開發(fā)flow及個階段使用的工具

    及個階段使用的工具。3.信號的跨時鐘域同步。包括單比特和多比特,對于單比特自然用兩級寄存器同步最為方便。對于多比特,??疾飚惒紽IFO以及握手方法。要理解亞穩(wěn)態(tài)的概念以及避免亞穩(wěn)態(tài)的方法。...
    發(fā)表于 07-22 07:12

    編程方法學(xué)講義factorial-trace

    斯坦福大學(xué)公開課: 編程方法學(xué)-分課時課件與作業(yè)。
    發(fā)表于 12-14 20:37 ?0次下載

    編程方法學(xué)講義Scheme-Examples

    斯坦福大學(xué)公開課: 編程方法學(xué)-分課時課件與作業(yè)。
    發(fā)表于 12-14 20:37 ?0次下載

    編程方法學(xué)講義Functions-As-Data

    斯坦福大學(xué)公開課: 編程方法學(xué)-分課時課件與作業(yè)。
    發(fā)表于 12-14 20:37 ?0次下載

    編程方法學(xué)講義More-Concurrency

    斯坦福大學(xué)公開課: 編程方法學(xué)-分課時課件與作業(yè)。
    發(fā)表于 12-14 20:37 ?0次下載

    編程方法學(xué)講義Scheme-Functions

    斯坦福大學(xué)公開課: 編程方法學(xué)-分課時課件與作業(yè)。
    發(fā)表于 12-14 20:19 ?0次下載

    編程方法學(xué)講義Networking-With-Python

    斯坦福大學(xué)公開課: 編程方法學(xué)-分課時課件與作業(yè)。
    發(fā)表于 12-14 20:37 ?0次下載

    編程方法學(xué)講義Python-Basics

    斯坦福大學(xué)公開課: 編程方法學(xué)-分課時課件與作業(yè)。
    發(fā)表于 12-14 20:19 ?0次下載

    編程方法學(xué)講義Computer-Architecture

    斯坦福大學(xué)公開課: 編程方法學(xué)-分課時課件與作業(yè)。
    發(fā)表于 12-14 20:19 ?0次下載

    編程方法學(xué)講義Unix-Development

    斯坦福大學(xué)公開課: 編程方法學(xué)-分課時課件與作業(yè)。
    發(fā)表于 12-14 20:19 ?0次下載

    方法學(xué)講義memory

    斯坦福大學(xué)公開課: 編程方法學(xué)-分課時課件與作業(yè)。
    發(fā)表于 12-14 20:19 ?0次下載

    編程方法學(xué)講義Computer-Architecture

    斯坦福大學(xué)公開課: 編程方法學(xué)-分課時課件與作業(yè)。
    發(fā)表于 12-14 20:19 ?0次下載

    編程方法學(xué)講義stack-implementation

    斯坦福大學(xué)公開課: 編程方法學(xué)-分課時課件與作業(yè)。
    發(fā)表于 12-14 20:19 ?0次下載

    編程方法學(xué)講義Course-Informati

    斯坦福大學(xué)公開課: 編程方法學(xué)-分課時課件與作業(yè)。
    發(fā)表于 12-14 20:37 ?0次下載