電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 227|回復: 0
收起左側(cè)

【芯片設計】從RTL到GDS(六):芯片物理設計

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
匿名  發(fā)表于 2024-9-13 11:58:00 回帖獎勵 |倒序瀏覽 |閱讀模式
本篇文章將進入芯片的Physical Domain,后面的幾篇文章也都是物理設計相關(guān)的內(nèi)容,本系列文章側(cè)重于從電路的角度去思考,而不是從EDA的領(lǐng)域思考,對這方面的實現(xiàn)算法特別感興趣的可以看EDA相關(guān)的課程。本篇文章有一些圖片也來自下面這兩個知乎文章介紹的一些課程(請見閱讀原文),不一一說明了,在此表示感謝。接下來進入課程內(nèi)容:

本節(jié)課的課程大綱如下所示:

1、Moving to physical domain在之前的文章中,我們已經(jīng)講解了芯片的前端設計流程,現(xiàn)在我們將正式進入芯片后端的學習。芯片后端設計,也稱為物理設計,是在前端設計完成后進行的。它涉及到將前端設計得到的網(wǎng)表轉(zhuǎn)換為實際的幾何形狀,即進行布局和布線(Place and Route, P&R)。后端設計還包括芯片的時序分析、功耗分析、信號完整性分析、熱分析等多個方面。后端設計工程師需要確保芯片的物理設計滿足所有性能和制造的要求。
1.1、Floorplanning我們看一下后端每一步的流程。物理設計的基石,同時也是第一步,便是Floorplanning,中文名一般叫做布局規(guī)劃。這個過程包括了對設計中較大的或重要的部分進行空間分配和布局決策,比如數(shù)字、模擬電路的位置、面積、形狀等的規(guī)劃,更具體點,比如各種IP核、輸入輸出、電源網(wǎng)絡、特殊的線路等的大致位置所在。

1.2、Placement在完成floorplan以后,下一步是Placement即布局過程,其實就是解決邏輯Cell怎么放的問題。這個階段的任務是將設計的各個邏輯門和模塊放置到芯片上的具體位置。
其主要包括:
全局布局:進行粗略的布局優(yōu)化。詳細布局:進一步優(yōu)化每個標準單元和宏單元的位置。優(yōu)化:針對時序、功耗等進行局部優(yōu)化。驗證:設計規(guī)則檢查(DRC):確保布局滿足所有工藝和設計規(guī)則,電氣規(guī)則檢查(ERC):確保布局不會導致電氣問題(例如,電流密度過高)。在Placement過程中,需要重點考慮以下幾個關(guān)鍵因素:
擁塞(Congestion):擁塞是指在芯片布局中某些區(qū)域可能會出現(xiàn)過多的邏輯門和連接線,導致布線困難。在放置過程中,需要盡量減少擁塞,確保布線通道的暢通,避免在后續(xù)的布線階段出現(xiàn)嚴重的問題;
時序(Timing):時序是指信號在芯片中傳播的時間。在放置過程中,需要確保所有的時序要求都能得到滿足,以保證芯片能以預定的速度運行。通常涉及到對關(guān)鍵路徑優(yōu)化。很多時候我們說讓后端修時序,就是指這個。但實際上后端能做的有限,前端設計盡可能不要出現(xiàn)時序違例。
1.3、Clock Tree Synthesis在完成place以后,下一步是時鐘樹綜合過程。時鐘樹綜合(Clock Tree Synthesis, CTS)是芯片物理設計中的一個重要環(huán)節(jié),它的目的是確保時鐘信號能夠均勻且同步地到達芯片上的所有觸發(fā)器。時鐘樹的目的是減少時鐘偏斜(clock skew),即時鐘信號到達不同觸發(fā)器的時間差異,因為時鐘偏斜會限制芯片的最大工作頻率,影響性能。時鐘樹設計的主要步驟包括:
時鐘樹綜合:使用電子設計自動化(EDA)工具對時鐘網(wǎng)絡進行分析和設計,以確定如何將時鐘源分配到所有的觸發(fā)器。工具會嘗試最小化時鐘偏斜,同時考慮到時鐘網(wǎng)絡的功耗和插入延遲(insertion delay);
時鐘樹插入:在時鐘源和觸發(fā)器之間插入緩沖器(buffers)和驅(qū)動器(drivers),以構(gòu)建時鐘樹。這些緩沖器和驅(qū)動器會幫助均衡時鐘信號,確保信號能夠以最小的偏斜到達每個觸發(fā)器。此外還包括一些后續(xù)的優(yōu)化。大家這里可以簡單理解時鐘樹綜合,其實際上就是插各種各樣的buffer,以避免不希望的clock skew。
1.4、Routing在完成時鐘樹綜合以后,下一步是布線即routing過程。也就是應該如何連。布線的目的是將所有放置好的邏輯門和模塊之間的連接線(nets)連接起來,確保信號可以正確地在芯片上傳播。在布線過程中,需要遵循一定的規(guī)則和約束,主要包括:
  • 設計規(guī)則檢查(Design Rule Checks, DRC):DRC是一系列制造工藝相關(guān)的規(guī)則,它們確保芯片設計可以在這個工藝下正確制造。布線時必須遵守這些規(guī)則,比如線寬、線間距、金屬層的垂直交叉規(guī)則等,以避免制造過程中的問題;
    時序(Timing):布線時需要考慮信號的傳播延遲,確保所有信號的時序滿足設計要求。時序分析工具會幫助設計者識別并解決可能導致時序問題的問題,如過長的布線或擁塞區(qū)域;
    噪聲(Noise):布線過程中還需要考慮信號完整性問題,包括電磁干擾(EMI)和功率噪聲。合理的布線策略可以減少信號之間的干擾,避免信號失真和性能下降。
    我們通過一個圖總結(jié)一下上述的幾個概念:

    后面的文章會重點再講解Placement、時鐘樹綜合以及Routing。
    在tapeout之前,我們必須完成上述的任務,確保沒有不可控的error和warning。

    下圖是上述流程的一個具體示意圖?梢钥吹狡鋵訉舆f進,從網(wǎng)表一直到最后的版圖。


    1.5、物理設計前的一些準備工作在完成邏輯設計以后,我們進入芯片的物理設計。Floorplanning是是物理設計的第一步,它定義了芯片的大致布局。在這個階段,設計者會決定哪些組件放在哪里,如何安排電源和時鐘網(wǎng)絡,以及如何優(yōu)化信號流。這些決策將直接影響芯片的性能和制造難度。
    在Floorplan之前,我們還可以認為有導入設計這一步,這一步其實就可以理解為準備原材料,我們簡單過一下這一部分PPT即可。

    在邏輯設計階段的綜合部份,我們認為芯片面對的世界是相對理想的。如下所示,我們很多東西都沒有考慮。我們通常不會過多考慮電源網(wǎng)絡的設計和分布,如電源線、地線的布局,以及電源噪聲對電路性能的影響。也不涉及具體的物理連線,如金屬層的布線、通孔(vias)的使用,以及信號在芯片上的實際路徑。
    但是既然已經(jīng)進入物理設計了,那自然而然需要考慮很多物理特性,這也是一些更底層的東西。
    首先需要定義“全局網(wǎng)絡”及其如何連接到物理實例:全局網(wǎng)絡通常指的是那些需要在整個芯片上傳播的信號,如時鐘信號和復位信號。需要定義這些信號如何連接到芯片上的各個物理實例,例如邏輯單元和宏單元。
    提供技術(shù)規(guī)則和單元抽象(LEF文件):LEF(Library Exchange Format)文件包含了工藝庫中標準單元、宏單元等物理信息,如尺寸、布局和電氣特性。這些信息對于物理設計至關(guān)重要,因為它們決定了設計中的各個組件如何在物理層面上實現(xiàn)。
    提供物理單元,這些單元對邏輯功能不是必需的,綜合的時候往往會禁用這些單元:這些單元包括:Tie cells: 用于提供邏輯上的高電平或低電平。P/G pads: 用于芯片與外部電源的連接。Decaps: 用于電源和地之間的噪聲過濾。Filler cells: 用于填充芯片上的空白區(qū)域,以提高制造良率。
    定義保持約束以及所有操作模式和條件(MMMC):在理想的時鐘模型中,保持約束很容易滿足,因此通常不會進行檢查。但在物理實現(xiàn)中,需要考慮時鐘的非理想性,如時鐘偏斜和抖動,并定義相應的約束。
    設置“低功耗”定義,例如電壓域、電源門控等:為了實現(xiàn)低功耗設計,需要定義電壓域,即芯片中不同部分可以獨立操作的不同電壓級別。此外還包括power gates,body taps等。


    2、A bit about Multiple Voltage Domains

    為了節(jié)省能耗,目前芯片設計普遍采用多Power Domain。對于每個電源域,需要確定連接到該域的電源(如VDD1, VDD2)和地(如GND1)的單元列表。這些單元在電源域中共同開啟或關(guān)閉。然后需要繪制電壓域,在芯片的布局中,需要明確地標識出每個電源域的范圍。這通常涉及到在芯片布局圖上繪制電源域的邊界,以及確定電源和地網(wǎng)絡的連接方式。
    接著需要放置宏單元(macros)。宏單元通常指的是較大的設計模塊,如處理器核心、內(nèi)存塊、模擬電路等。以下是在放置宏單元時需要考慮的因素:
    路由擁塞(Routing Congestion):在放置宏單元時,需要考慮芯片上的路由通道,避免在某些區(qū)域放置過多的宏單元,導致路由通道擁塞,影響后續(xù)的布線。
    方向(Orientation):宏單元可以有不同的放置方向。在放置時,需要根據(jù)宏單元的連接需求和芯片的整體布局來選擇最佳的方向,以減少信號線的長度和交叉,優(yōu)化布線。
    手動放置通常優(yōu)于自動放置(Manual usually better than Auto):雖然現(xiàn)代EDA工具可以自動放置宏單元,但在某些情況下,手動放置可以提供更好的布局和布線結(jié)果。手動放置允許設計者根據(jù)經(jīng)驗和設計特定要求來進行優(yōu)化。
    然后需要放置開關(guān):對于需要電源管理的電源域,需要放置電源開關(guān)(power switches),這些開關(guān)用于控制電源域的開啟和關(guān)閉。放置時需要考慮開關(guān)的位置,以便于與電源域中的單元連接,并確保開關(guān)的動作不會影響其他電源域。

    接下來是多電壓域用到的模塊:Level Shifters,上篇文章我們已經(jīng)簡單介紹過,具體的內(nèi)容大家可能需要學習一些模擬IC的東西才能掌握清楚,這里簡單看一下即可。

    為了提高能效比,設計師通常會將芯片劃分為多個電源域,每個電源域可以在不需要時關(guān)閉電源,從而降低整體功耗。這也就是Power Gating。

    到目前為止,我們已經(jīng)大概了解了多電壓域的一些東西。我們?nèi)绾味x它們?用的比較多的是UPF文件格式。這一部分大家可以自行搜索相關(guān)資料(B站直接搜UPF就有一些視頻),本門課程本質(zhì)還是一門通識課程,所以不會所有內(nèi)容都具體深入講解。

    3、Floorplanning

    我們首先看一下Floorplanning。其將邏輯描述(netlist)映射到物理描述(floorplan)。在這個過程中,設計師需要將抽象的邏輯設計轉(zhuǎn)換為具體的物理布局,確保設計的可行性、性能和可制造性。
    我們直接看Floorplan做了些什么內(nèi)容:
    Arrange the blocks on a chip:將芯片上的各種功能模塊(如處理器核心、內(nèi)存、模擬電路等)合理地放置在芯片上,以優(yōu)化性能和減少互連的復雜性。
    Decide the location of the I/O pads:確定芯片與外部通信的輸入/輸出端口(I/O pads)的位置,以便于與外部設備的連接,并考慮到信號完整性、電磁干擾(EMI)和熱管理等因素。
    Decide the location and number of the power pads:確定電源和地端口的位置和數(shù)量,以確保電源網(wǎng)絡的性能和效率,同時考慮到電源噪聲和芯片的功耗。
    Decide the type of power distribution:選擇合適的電源分配網(wǎng)絡類型,如全局電源網(wǎng)格、局部電源網(wǎng)格或電源島(power islands),以支持不同電源域的需求和低功耗設計。
    Decide the location and type of clock distribution:確定時鐘信號分布網(wǎng)絡的位置和類型,包括時鐘樹的布局和時鐘緩沖器的放置,以減少時鐘偏斜和時鐘抖動,保證時鐘信號的同步性和穩(wěn)定性。
    我們最終要達到一個什么要的目標呢?實際上和綜合比較類似,讓芯片面積盡可能小,延遲盡可能低,盡可能減少路由擁塞。

    我們來看一個實際的例子:通過這個圖我們可以看到芯片的大小,金屬層的數(shù)量,接口信息,各種各樣的IP在哪個位置等等。Floorplan的周圍是芯片PAD。PAD實際上指的是芯片引腳的一塊金屬,通過它可以將芯片焊接在電路板上。

    我們接著看Floorplanning的輸入和輸出。這一部分我就不一一解釋了,相信大家能夠看懂。我重點講一下什么是Design ready for standard cell placement。
    在完成Floorplan以后,芯片的整體布局已經(jīng)確定,包括宏單元(如處理器核心、內(nèi)存塊等)的位置、I/O端口的位置、電源和時鐘分布網(wǎng)絡等。此時我們的標準Cell怎么放還沒確定下來,所以Floorplan的下一步將會是Place。
    其實Floorplan已經(jīng)完成了一定的Place工作,通俗來講,F(xiàn)loorplanning 關(guān)注的是芯片的宏觀布局,而 Placement 關(guān)注的是邏輯單元的微觀布局。Floorplanning 為 Placement 提供了一個基本的設計框架,而 Placement 則在這個框架內(nèi)進行詳細的設計優(yōu)化

    我們鞏固一下概念,通過下面這個圖,結(jié)合上面的講解,相信大家可以理解Floorplanning和Placement的區(qū)別?梢哉f二者確實有很多共同之處,Placement是在Floorplanning的基礎之下進行的。

    我們再來看一下什么是IO RING。I/O RING(I/O 環(huán))是指芯片封裝邊緣上的一個環(huán)形區(qū)域,其中包含了芯片與外部世界通信的輸入/輸出(I/O)引腳。這些引腳可以是數(shù)據(jù)信號、電源信號、接地信號或其他類型的信號。
    芯片的引腳分配通常由前端設計師決定,他們會根據(jù)芯片的邏輯功能和系統(tǒng)要求來規(guī)劃引腳。同時,物理設計工程師和封裝工程師也會參與進來,因為需要考慮到引腳的物理實現(xiàn)、封裝的限制、信號完整性、電源和地分配、熱管理等因素。
    IO并不像摩爾定律一樣,呈現(xiàn)指數(shù)級別增長,IO的成本是很高的,非常占據(jù)面積。在floorplanning階段,對I/O引腳的規(guī)劃是一個非常關(guān)鍵和核心的步驟,需要考慮到信號連接、電源供應以及整體系統(tǒng)設計的兼容性。
    有關(guān)IO RING我們先簡單看到這里,我們先看別的內(nèi)容。

    我們應該如何選擇芯片的大小呢?下面這張圖告訴我們,我們的芯片不可避免的會出現(xiàn)“Core limited"和”Pad Limited"的情況。(左邊那個中心區(qū)域不夠用,右邊PAD不夠用)

    所以為了量化這一點,我們要引入一個指標,利用率Utilization。通俗來講就是盡可能把能用的面積都利用上,避免浪費。當然利用率特別高的時候,會存在一些路由阻塞的問題。尤其是對于pin-dense的Cell,比如一個4選1的mux,它有6個pin,由于引腳數(shù)量較多,可能會在布局時占據(jù)較大的空間,從而導致其他邏輯單元的利用效率并不完全能反映芯片的實際面積需求。
    所以在考慮芯片面積時,僅僅通過邏輯單元的利用率來確定是不夠的。設計者需要考慮到多路復用器等具有密集引腳的單元可能會占據(jù)更多的空間,從而影響芯片的整體布局和面積。在設計時需要綜合考慮這些因素,以確保芯片的布局既高效又滿足性能要求。

    此外在物理設計中,還應該保證網(wǎng)表是唯一的。網(wǎng)表是唯一的意味著每個子模塊在網(wǎng)表中只能夠被引用一次,我們看下面這個例子。左邊那個圖,m1和m2因為都是amod,其下面的例化都是u1。此時認為amod子模塊被引用了兩次,也就是non-unique。因此在物理設計階段,會將兩個同時優(yōu)化,而不可以優(yōu)化其中一個固定另外一個。比如我們讓m1/u1變大一點,此時m2/u1也會變大。因為m1和m2調(diào)用的是一個sub-module,也就是amod。
    為了解決這個問題,將其中一個模塊叫做amod1,另外一個模塊叫做amod2,這樣sub-module的對應就是唯一的了。這個過程叫做uniquifying the Netlist,實際上綜合工具會為我們做這一點,因此大家只要了解即可。

    我們看一下如何擺Hard Macros。我們一般將其放在一側(cè),這樣剩下的形狀有利于后續(xù)的Placement進行,就比如下圖的左側(cè)紅色線條包裹區(qū)域,這么一大片區(qū)域有助于后續(xù)的Placement。就好比蓋房子,最好是留下來一整塊的地方,而不是這里一點,那里一點。
    擺好以后認為它們已經(jīng)固定好了,后續(xù)不要再去改動這一部分Hard Macros。

    Placement Regions 指的是在芯片設計中為邏輯單元指定特定的放置區(qū)域或集群區(qū)域。有個時候我們希望可以根據(jù)具體的設計要求和目標來指定 Placement Regions,以幫助布局和布線工具更好地實現(xiàn)設計目標。P&R工具一般提供了下面的指導方式,具體看圖即可。

    還有一些地方我們不能放邏輯單元。Placement Blockages是芯片設計中需要特別注意的區(qū)域,這些區(qū)域不允許邏輯單元放置。例如,某些區(qū)域可能被用于電源和地網(wǎng)絡的布局,或者用于時鐘分布網(wǎng)絡,或者因為制造工藝的限制而不適合放置邏輯單元。在布局過程中,這些區(qū)域會被視為不可放置的障礙,布局和布線工具會避開這些區(qū)域。
    而Halos是一種布局策略,它涉及在芯片的邊緣或特定區(qū)域內(nèi)設置一個邊界,以限制邏輯單元的放置。設置 Halos 的目的是為了保護芯片的邊緣區(qū)域,防止邏輯單元過于靠近邊緣,從而影響芯片的封裝和性能。
    更加具體的分類我們直接看下圖即可。

    我們再看一個示意圖加深一下概念:

    類似的,還可以將這個概念引入到Routing。

    我們來總結(jié)一下,F(xiàn)loorplan中一些優(yōu)秀的設計思想:
    Single large core area:將邏輯核心區(qū)域(如處理器核心、內(nèi)存模塊等)設計為一個單一的大型區(qū)域,這樣可以減少互連的復雜性,提高性能;
    RAMS out of the way in the corner:將存儲器單元放置在芯片的角落或邊緣,這樣可以減少它們對核心邏輯區(qū)域的干擾,同時保持核心區(qū)域的連通性;
    Large routing channels:在芯片布局中保留寬大的布線通道,這樣可以減少布線擁塞,提高信號的傳輸效率;
    Avoid constrictive channels:避免在布局中創(chuàng)建狹窄的布線通道,這樣可以減少信號的延遲和干擾,提高信號質(zhì)量;
    Avoid many pins in the narrow channel:在布局中避免在狹窄的通道中放置太多的引腳,這樣可以減少布線沖突,提高信號的傳輸效率;
    Rotate for pin accessibility:根據(jù)引腳的訪問需求,考慮旋轉(zhuǎn)芯片的布局,以便于引腳的布局和布線;
    Pins away from corners:將引腳遠離在芯片的邊緣或角落,這樣可以減少引腳與芯片邊緣的干擾,提高引腳的布局和布線效率;
    Use blockage to improve pin accessibility:在布局中使用blockage來改善引腳的訪問性,例如,將引腳放置在障礙物附近,以便于引腳的布局和布線;


    4、Hierarchical Design

    如果設計太大的話,我們可以將其分成多個Block。其具體如下圖右邊所述。我們可以看看Flat和Hierarchical的優(yōu)點和缺點:
    Flat Design:
    優(yōu)點:
    簡單直觀,易于理解和維護。整個設計是一個單一的實體,不需要額外的層次結(jié)構(gòu);
    缺點:當設計變得非常大時,可能需要更長的運行時間,因為需要處理大量的數(shù)據(jù),可能需要更多的內(nèi)存來運行EDA工具;
    設計更改(ECO,Engineering Change Order)的周轉(zhuǎn)時間可能較長,因為需要重新分析整個設計
    Hierarchical Design:
    優(yōu)點:
    設計可以被分割成更小的、易于管理的部分,這些部分可以獨立地分析和優(yōu)化;
    運行時間更快,因為只需要處理當前工作區(qū)域的數(shù)據(jù);
    內(nèi)存需求較低,因為不需要存儲整個設計的數(shù)據(jù);
    設計重用更加容易,因為可以單獨替換或修改某個子模塊。
    缺點:層次結(jié)構(gòu)可能使得全芯片時序收斂變得更加困難,因為需要確保所有子模塊的時序都能滿足要求;
    設計規(guī)劃需要更加密集,因為需要處理多個層次的反饋和重用;
    需要生成feedthrough、repeater insertiom、timing constraint budgeting等,這些都是確保時序收斂的關(guān)鍵步驟;


    我們來看一下層次化設計中的時間預算問題。如果采用整體設計的話,所有的設計都是一個整體,只需要確定一組input delay和output delay即可。但如果采用層次化設計的話,要注意這些問題。
    芯片級約束映射到塊級約束:在層次化設計中,芯片級的時序約束需要正確地映射到各個塊級約束。例如,如果芯片級時序要求某個關(guān)鍵路徑的時延不超過某個值,那么這個約束需要被分解并分配給相關(guān)的塊級時序約束。同樣,I/O約束也需要被正確地映射到塊級約束,以確保芯片的I/O端口能夠滿足設計要求。
    接口邏輯模型(Interface Logic Models, ILMs):ILMs 是一種簡化設計時間和資源的方法,它允許設計者使用簡化的模型來表示復雜的接口邏輯。它可以快速地評估接口邏輯對時序的影響,而不需要詳細地分析整個設計。使用 ILMs 可以顯著加快設計時間。我們直接看下面這個圖,原本的網(wǎng)表是比較復雜的,這里將中間的邏輯都簡化了,僅僅剩下入口和出口,還有直通邏輯。

    我們再來看一看Pin的規(guī)劃。對于Pin,我們要使用相應的約束,這些約束包括以下參數(shù):層(Layers):指定引腳所在的層,如信號層、電源層、接地層等。間距(Spacing):指定引腳之間的最小間距,以確保電氣隔離和防止短路。大。⊿ize):指定引腳的物理尺寸,如寬度、長度等。重疊(Overlap):指定引腳與其他元素(如布線、電源和地線等)的重疊要求,以避免電氣沖突。
    Pin constraints 還包括以下內(nèi)容:網(wǎng)絡組(Net groups):將具有相似特性或連接需求的引腳分組,以便于布局和布線工具進行處理。引腳指南(Pin guides):指定引腳的放置方向和位置,以指導自動布局工具的放置。
    Pin可使用以下兩種優(yōu)先級的約束:基于放置的約束(Placement based):使用飛線(flightlines)來指導引腳的放置,確保它們在芯片上的布局符合特定的規(guī)則;诓季的約束(Route based):指定嘗試布線(trial route)和邊界交叉(boundary crossings),以指導引腳的布線路徑。

    Feedthrough路徑定義從頂層I/O引腳進入和穿過Block,以減少長路由和擁塞。中繼器需要被添加到這些路徑中,以保持信號強度并避免max slew和扇出違規(guī)。

    5、Power Planning我們再來看一個重要的話題,Power Planning,中文名一般叫做電源規(guī)劃。其基本可以認為是Floorplanning的一部分。(大部分電源規(guī)劃可能已在Floorplanning階段完成,但在Placement階段也可能需要進行一些細致的調(diào)整。例如,為了滿足特定模塊或邏輯塊的電流需求,可能需要添加額外的電源或地連接。)
    初步Power Planning主要包括:
    電源網(wǎng)格設計(Power Grids):創(chuàng)建電源和地網(wǎng)格來提供電流和參考電壓。
    電源環(huán)(Power Rings):在芯片外圍設計電源環(huán),用于電源和地的分發(fā)。
  • 電源鋪墊(Power Pads):確定用于外部電源連接的電源和地鋪墊的位置。


    Power planning 的目標是在芯片上創(chuàng)建一個高效的電源和地網(wǎng)絡,以確保電源和地能夠有效地分布到芯片的各個部分,同時考慮到電源噪聲和信號完整性。

    我們來具體看一下什么是IR-Drop。IR Drop 是指在電源線(power line)長度上,由于電源線電阻導致的電源電壓(supply voltage)下降。IR Drop 是電源規(guī)劃和設計中需要考慮的一個重要因素,因為它會影響到芯片的性能和可靠性。
    我們應該怎么分析這個問題呢?通常采用矩陣的方式進行求解。
    電阻矩陣的構(gòu)建:在電源網(wǎng)絡中,電源線和電源層之間存在電阻,這些電阻會導致電壓下降。設計者需要構(gòu)建一個電阻矩陣,其中包含電源網(wǎng)絡中每個節(jié)點的電阻值。
    平均電流的考慮:每個邏輯門的平均電流是計算 IR Drop 的重要參數(shù)。設計者需要考慮每個邏輯門的平均電流,以計算在電源線上的電壓下降。
    矩陣求解:一旦構(gòu)建了電阻矩陣并考慮了平均電流,設計者可以使用矩陣求解的方法來計算每個節(jié)點上的電流。通過矩陣求解,設計者可以確定電源線上的電壓下降,即 IR Drop。

    我們再來看一個概念,電遷移。在集成電路后段會部署大量金屬連線結(jié)構(gòu),本來這些金屬連線的作用就是讓電子遷移,實現(xiàn)導電。但反過來,電子的流動會造成金屬材料遷移,最終導線被“掐斷”:

    這種現(xiàn)象就叫做電遷移,其可通過形成空隙或小丘來改變導體的物理結(jié)構(gòu),從而導致短路、開路、性能劣化或設備故障。隨著流經(jīng)互連器件的電流密度增大,電遷移率也隨之增加,這使得電遷移成為一個失控過程。事實上,電遷移是電路故障的主要原因。
    為了避免電子組件中金屬遷移所帶來的失敗和危險,芯片設計人員可以采用以下幾種方法:
    增加互連寬度,以降低電流密度。
    使用具有高電遷移耐力的材料,如金和銅。
    使用冗余通孔來分流電流強度。
    減少互連器件之間的間距。
    設計低電壓水平的電路。
    [/ol]

    Power Distribution Network(PDN)是芯片設計中的一個關(guān)鍵組成部分,其功能包括:
    從焊盤(pads)向芯片上的晶體管傳輸電流:PDN負責將電流從芯片的輸入/輸出(I/O)端口傳輸?shù)叫酒瑑?nèi)部的邏輯單元。
    保持電壓穩(wěn)定并降低噪聲:PDN設計需要確保芯片的電壓穩(wěn)定,以支持邏輯單元的正常工作。同時,它還需要降低電源噪聲,以避免對芯片性能的影響。
    提供平均和峰值功率需求:PDN需要能夠滿足芯片在正常操作和峰值負載下的功率需求。
    為信號提供電流返回路徑:PDN設計需要確保芯片上的信號可以有效地返回電源和地,以支持信號的正確傳輸和處理。
    避免電遷移(electromigration)和自加熱導致的磨損:PDN設計需要考慮電源線和地線的布局,以減少電遷移和自加熱導致的材料損壞和壽命縮短。
    占用芯片面積和線寬最。篜DN設計需要優(yōu)化電源線和地線的布局,以最小化對芯片面積和線寬的占用。
    易于布局:PDN設計需要考慮到布線的便利性,以便于后續(xù)的布局和布線工作。
    我們還可以看到,更寬的Power Lines,可以降低IR DROP,可以減少電遷移。但同時會導致routing變得困難。

    我們來看一個實際的例子。假設在金屬層1有一個1毫米長的電源軌,我們根據(jù)給出的條件可以算出其電阻為1000歐姆。進而求出對應的IR DROP。由于電遷移會導致電源軌的電阻增加,從而引起IR Drop,因此需要采取措施來減少這種影響。
    一種方法是增加電源軌的寬度,這樣可以降低電流密度,從而減少電遷移的影響。另一種方法是增加電源軌的厚度,因為更厚的電源軌可以承受更高的電流密度。綜合考慮,設計者通常會盡可能地使電源軌寬和厚,以減少電遷移和IR Drop的影響。

    下圖是一個實際的圖片,在增加寬度以后,IR DROP效應變小了。

    我們再來看一下電源和地網(wǎng)絡的一些設計規(guī)則。
    電源和地信號的連接:
    每個標準單元或宏單元都需要與電源和地信號連接,以確保它們能夠從電源源(如電源分配網(wǎng)絡)接收所需的電壓。
    電源/地網(wǎng)格(Power/Ground mesh):
    電源/地網(wǎng)格允許電源和地信號通過多個路徑從源到達目的地,這樣可以減少串聯(lián)電阻,提高電源和地網(wǎng)絡的性能。
    電源/地網(wǎng)格從高層金屬層到低層金屬層,形成一個層次化的網(wǎng)絡,以提供有效的電源和地分布。
    在不同層之間需要多個通孔(vias)來連接電源和地網(wǎng)絡。
    電源和地布線的規(guī)則性:
    電源和地布線通常是比較規(guī)則的,因為它們需要在整個芯片上均勻分布,以提供穩(wěn)定的電源和地參考。
    電源和地布線資源的預留:
    由于電源和地布線是芯片設計中的基礎,因此通常會預留足夠的布線資源來確保電源和地網(wǎng)絡的性能。


    我們再來看一下Power Routing中的一些經(jīng)典方法:

    我們再來看一下電源網(wǎng)絡中的一些權(quán)衡點:


    最后我們做一個總結(jié),如何在Cadence的EDA工具Innovus中做FLoorplanning:



    系列文章入口——
    【芯片設計】SoC 101(一):緒論
    【芯片設計】FIFO漫談(零)從無處不在的FIFO開始說起
    【芯片設計】計算機體系結(jié)構(gòu)(一)虛擬內(nèi)存
    【芯片設計】深入理解AMBA總線(零)緒論
    【芯片設計】握手協(xié)議的介紹與時序說明
    【芯片設計】復位那些小事 —— 復位消抖
    【芯片設計】快速入門數(shù)字芯片設計UCSD ECE111(一)Introduction
    【芯片驗證】UVM源碼計劃(零)下定決心讀源碼前的自測環(huán)節(jié)
    【芯片設計】異步電路碎碎念(一) 到底什么是異步電路
    【芯片設計】從RTL到GDS(一):Introduction
    其他文章鏈接——
    【芯片驗證】sva_assertion: 15道助力飛升的斷言練習
    【芯片驗證】可能是RTL定向驗證的巔峰之作
    【芯片驗證】RTL仿真中X態(tài)行為的傳播 —— 從xprop說起
    【芯片驗證】年輕人的第一個systemVerilog驗證環(huán)境全工程與解析
    【芯片設計】verilog中有符號數(shù)和無符號數(shù)的本質(zhì)探究
    【芯片設計】論RTL中always語法的消失術(shù)
    【芯片設計】代碼即注釋,注釋即代碼
    【芯片設計】700行代碼的risc處理器你確實不能要求太多了
    入職芯片開發(fā)部門后,每天摸魚之外的時間我們要做些什么呢
    如何計算系統(tǒng)的outstanding 和 burst length?
    芯片搬磚日!け扑缽娖劝Y的關(guān)鍵詞不對齊事件
    熟人社會里,一群沒有社會價值的局外人
  • 本帖子中包含更多資源

    您需要 登錄 才可以下載或查看,沒有賬號?立即注冊

    x
    回復

    使用道具

    發(fā)表回復

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規(guī)則

    關(guān)閉

    站長推薦上一條 /1 下一條


    聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表