物理設(shè)計,就是把一個芯片的“功能規(guī)劃圖”,轉(zhuǎn)變成一個“可建造的城市施工圖”的全過程。
我們物理設(shè)計師,就是那個絞盡腦汁在微觀世界里規(guī)劃地盤、擺放建筑、鋪設(shè)道路、確保整個系統(tǒng)能高效、同步、穩(wěn)定運(yùn)行的“總工程師”。我們最終交付的,就是可以送去工廠(Foundry)制造出來的、真正的芯片版圖。
1. Standard Cell: 不僅僅是積木,更是“基因”
Standard Cell好比構(gòu)建芯片的基礎(chǔ)單元,我對它的理解遠(yuǎn)不止于此。
早期的“粗放”與現(xiàn)在的“精雕”: 在90nm、65nm的年代,Standard Cell的設(shè)計相對自由,我們關(guān)注的主要是它的邏輯功能、驅(qū)動能力和基本的時序特性。但進(jìn)入FinFET時代(16/7/5nm),Cell的設(shè)計本身就是一門極其復(fù)雜的藝術(shù)。Foundry提供的Cell庫,每一個版圖都經(jīng)過了極度的優(yōu)化和限制,以應(yīng)對光刻(Lithography)、應(yīng)力(Stress)和變異性(Variation)等問題。我們拿到手的LEF文件,背后是Foundry無數(shù)工程師的心血和妥協(xié)。在ICC2或Innovus里看到的一個小小的NAND2,它的pin的位置、內(nèi)部走線、甚至poly的朝向,都是“最優(yōu)解”下的“唯一解”。我們PD工程師,必須像尊重物理定律一樣尊重這些約束。
Cell庫的“性格”決定芯片的“命運(yùn)”: 一套Cell庫的PPA特性,從項(xiàng)目一開始就基本決定了我們能達(dá)到的天花板。比如,有些庫提供了豐富的高驅(qū)動、低Vt(LVT)的Cell,這對于高性能設(shè)計(如CPU)至關(guān)重要,但代價是面積和漏電(Leakage)。而有些IoT項(xiàng)目,我們會傾向于使用高Vt(HVT)、甚至超高Vt(UHVT)的Cell庫,犧牲性能來換取極致的靜態(tài)功耗。所以,在項(xiàng)目啟動階段,評估和選擇合適的Standard Cell Library,是我們和前端、Foundry溝通的第一個關(guān)鍵決策點(diǎn)。一個錯誤的庫選擇,后面再厲害的PD技巧也回天乏術(shù)。
Placement不只是把Cell擺好。實(shí)際上,這是整個物理設(shè)計流程中,最具決定性的一步。我常把它比作一盤圍棋的布局階段,每一步都影響深遠(yuǎn)。
從“二維平鋪”到“三維考量”: 早期,我們更多地關(guān)注二維平面上的擁塞(Congestion)。而現(xiàn)在,Placement是一個多目標(biāo)、多場景的優(yōu)化過程。工具(如Fusion Compiler或Innovus)在放置一個Cell時,它的大腦里在同時計算:
這個過程充滿了權(quán)衡(Trade-off)。為了保住一條關(guān)鍵路徑的時序,我可能寧愿接受局部的擁塞;為了降低峰值功耗,我可能要刻意打散一些高功耗模塊。這種決策,工具會基于我們設(shè)定的約束和權(quán)重來做,但最終的策略和結(jié)果評估,需要工程師的經(jīng)驗(yàn)。
時序(Timing): 這條路徑是關(guān)鍵路徑嗎?我把它放在這里,離它的“隊(duì)友”們夠近嗎?會不會拉長wire delay?
功耗(Power): 這片區(qū)域是不是功耗熱點(diǎn)(Hotspot)?我再放一個高開關(guān)頻率的Cell進(jìn)來,IR Drop會不會扛不住?
擁塞(Congestion): 我放在這里,周圍的布線通道還夠用嗎?會不會導(dǎo)致后面Router“繞死”?
可制造性(Manufacturability): 在先進(jìn)工藝下,Cell的密度太高會不會導(dǎo)致后續(xù)光刻出現(xiàn)問題?
Routing是連接pin點(diǎn)。當(dāng)一個設(shè)計的規(guī)模達(dá)到數(shù)千萬門、數(shù)億根線時,這個過程堪稱工程奇跡。
“高速公路”與“毛細(xì)血管”: 我們PD工程師,在Floorplan階段就要規(guī)劃好全局的“高速公路”(比如總線、時鐘干路),而工具的Global Router和Detail Router則負(fù)責(zé)鋪設(shè)無數(shù)的“毛細(xì)血管”。這個過程早已不是簡單的“找到一條路”就行了。
信號完整性(SI)是第一要務(wù): 在40nm以后,尤其是28nm及以下,串?dāng)_(Crosstalk/Noise)成了和時序同等重要的問題。Router在布線時,必須實(shí)時分析旁邊并行走線的“鄰居”是誰。如果一條敏感的net(比如一個異步復(fù)位信號)旁邊緊挨著一條高頻翻轉(zhuǎn)的net(比如時鐘或數(shù)據(jù)總線),就可能產(chǎn)生功能性錯誤。因此,屏蔽(Shielding)、增加線間距(Spacing)、使用NDR(Non-Default Rule)等策略,都是在布線階段必須融入的常規(guī)操作。在PrimeTime SI或Tempus Noise里看到的一個glitch,其根源往往就埋在Router的一個微小決策里。
每一微米都有“成本”: 無論是時序、功耗還是可靠性,最終都和金屬線的物理屬性——電阻(R)和電容(C)——息息相關(guān)。更長的線意味著更大的RC延遲、更高的動態(tài)功耗。因此,一個優(yōu)秀的Routing結(jié)果,其總線長(Total Wirelength)一定是被嚴(yán)格控制的。
Floorplan和CTS是靈魂: Floorplan和CTS在實(shí)際項(xiàng)目中是PPA成敗的基石。一個糟糕的Floorplan,會讓Placement和Routing在后續(xù)流程中寸步難行,神仙難救。一個不平衡的CTS,則會讓上百萬的觸發(fā)器無法同步工作,整個芯片的功能就不復(fù)存在。
PD是科學(xué)與藝術(shù)的結(jié)合: 它有精確的物理規(guī)則和數(shù)學(xué)算法,這是“科學(xué)”。但如何在規(guī)則允許的范圍內(nèi),根據(jù)項(xiàng)目的特定需求(性能優(yōu)先?功耗優(yōu)先?還是面積和成本優(yōu)先?),做出最優(yōu)的權(quán)衡與妥協(xié),這就是“藝術(shù)”。這種“藝術(shù)感”源自于無數(shù)次Tapeout的成功與失敗,源自于對報告中每一個數(shù)字背后物理意義的深刻洞察。
所以,對我而言,物理設(shè)計不僅僅是運(yùn)行一個從Netlist到GDSII的流程。它是將冰冷的邏輯代碼,通過對物理世界規(guī)律的深刻理解和運(yùn)用,賦予其生命,最終鍛造成一顆能夠思考、計算、連接萬物的硅芯片。這個過程,至今仍然讓我覺得充滿挑戰(zhàn)和魅力。
為防止失聯(lián),請關(guān)注小號芯豆豆。
歡迎加入行業(yè)交流群,備注崗位+公司,請聯(lián)系老虎說芯
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.