如何才能成為數(shù)字IC后端ECO專家?
文章右側(cè)廣告為官方硬廣告,與吾愛IC社區(qū)無關(guān),用戶勿點(diǎn)。點(diǎn)擊進(jìn)去后出現(xiàn)任何損失與社區(qū)無關(guān)。
臨近 618,這幾天很多粉絲私信表達(dá)希望小編知識(shí)星球搞個(gè)優(yōu)惠活動(dòng)。但是之前也有收到不少朋友的私信,有的是希望星球要提高門檻,因?yàn)橛X得人數(shù)多了,大家都學(xué)會(huì)了,以后跳槽競(jìng)爭(zhēng)比較激烈。有的是希望星球不要搞優(yōu)惠活動(dòng),因?yàn)橛X得自己沒趕上活動(dòng)心理不平衡。
本著公平的原則,綜合考慮,吾愛 IC 社區(qū)知識(shí)星球?qū)τ谛掠脩舨粫?huì)搞優(yōu)惠活動(dòng) (特別的日子可能會(huì)偶爾搞一兩次,暫定中秋和過年)。對(duì)于老用戶需要續(xù)費(fèi)的朋友仍然會(huì)不定期搞優(yōu)惠活動(dòng)。
為了感謝老用戶對(duì)小編的支持,凡是今日續(xù)費(fèi)的老會(huì)員,均可以按照160 元續(xù)費(fèi)。好了下面直接進(jìn)入今天的主題。今天主要分享數(shù)字 IC 后端設(shè)計(jì)實(shí)現(xiàn)中 ECO 的概念,種類以及實(shí)現(xiàn)流程。
2019 年數(shù)字 IC 后端校招筆試題目(附數(shù)字后端培訓(xùn)視頻教程)
史上最全的數(shù)字 IC 后端設(shè)計(jì)實(shí)現(xiàn)培訓(xùn)教程(整理版)
通常在數(shù)字 IC 設(shè)計(jì)實(shí)現(xiàn)中所講的 ECO 主要是指Timing ECO和Function ECO。前者主要是指在 timing signoff 階段,為了實(shí)現(xiàn) PPA 而進(jìn)行的 timing fixing。后者是指為了修改電路功能而進(jìn)行的功能改動(dòng)。
Timing ECO
在 Prime Time 進(jìn)行 timing signoff 階段,主要涉及 leakage optimization,setup time,hold time ,max transition,max_capacitiance 和 max_fanout 的 violation fixing。在數(shù)字后端實(shí)現(xiàn)中通常所講的 timing eco 腳本就是指為了 fixing 這類 violation,從 PT 中寫出的一個(gè)腳本,其中包括 size_cell,insert_buffer,add_buffer_on_route 等命令。這些命令并不會(huì)改變電路的任何功能。
做過一兩個(gè)項(xiàng)目的工程師都知道,對(duì)于普通的這類 timing eco 其實(shí)是非常簡(jiǎn)單的,無非就是利用 size down 或者 vt swap 來做 leakage 優(yōu)化,利用 sizeup 進(jìn)行 setup violation fixing,利用 DMSA 進(jìn)行 hold violation fixing,利用 insert buffer,vt swap,sizeup,add_buffer_on_route 等方法來解 max transition。關(guān)于更多細(xì)節(jié),請(qǐng)移步小編知識(shí)星球查看提問。
Function ECO
- Tapeout 前 ECO
很多公司(特別是大公司),他們一般都有規(guī)定哪個(gè)階段必須 RTL freeze,這個(gè)時(shí)候不會(huì)也不允許再更新新的 RTL,即使后面仿真驗(yàn)證有 bug。為什么不讓更新 RTL 呢?因?yàn)榇藭r(shí)數(shù)字后端工程師可能都做好布局布線,timing 也沒什么大問題了,都準(zhǔn)備開始修 timing 了。
如果此時(shí) release 新的 RTL,那就意味著需要重新跑整個(gè) flow,從綜合到 PR,再?gòu)?PT fixing timing 到物理驗(yàn)證 PV。這樣勢(shì)必影響整個(gè)項(xiàng)目的 Schedule。因此,此時(shí)數(shù)字前端負(fù)責(zé)寫 coding 的工程師只能在 final RTL 的基礎(chǔ)上,通過寫 ECO 腳本的方式來實(shí)現(xiàn)功能上的 ECO。
當(dāng)需要做 function eco 的模塊比較小,而且整個(gè) flow run time 比較短,比如兩三天就可以完成整個(gè)數(shù)字后端的 PR,Timing Fixing。那么完全可以更新 RTL,重新綜合,重新跑 flow。這種解決方法特別適用于**設(shè)計(jì)規(guī)模小,****eco 動(dòng)靜大 ** 的情況。
- Tapeout 后 ECO
隨著市場(chǎng)競(jìng)爭(zhēng)愈演愈烈,大部分公司都面臨著 Timing-TO-Marget 的壓力。因此大部分公司都會(huì)在timing signoff 階段后期就開始 release GDSII 給 foundary 進(jìn)行流片(此時(shí) Timing Fixing 和 Physical Vertification 均未收斂)。為何敢這么做呢,請(qǐng)大家思考下。只要 foundary 還未開始 Metal Layer 的加工制造,此時(shí)你可以做任何的 function eco,而且代價(jià)極低(人力和時(shí)間成本)。
但是如果你發(fā)現(xiàn) design bug 需要進(jìn)行 ECO 時(shí),foundary 廠已經(jīng)完成若干層金屬層的加工制造,那么此時(shí)做 ECO 就需要考慮能否通過高層來完成 ECO(盡量不改底層金屬)。除非 Function ECO 改動(dòng)小,而且改動(dòng)的 cell 相隔很近,否則存在很大的困難。
- 芯片回來后 ECO
一個(gè)新的設(shè)計(jì)可能有不少 bug,而且還不容易被發(fā)現(xiàn)。這些 bug 需要在產(chǎn)品不斷投入使用中才能夠不斷被發(fā)現(xiàn)。當(dāng)芯片回來后需要做 Function ECO,此時(shí)只能通過改動(dòng)最少的 layer 來減少 ECO 成本。它不像 Tapeout 后 ECO 那樣,還有機(jī)會(huì)不花錢來完成 ECO。
下面通過一個(gè)案例來分享下芯片 Tapeout 后 Function ECO 的流程和實(shí)現(xiàn)細(xì)節(jié)。有了這個(gè) ECO 實(shí)現(xiàn)案例,從此你可以打遍天下無敵手。
案例分享:
- 根據(jù)設(shè)計(jì) ECO 需求編寫 ECO 腳本
這里需要 create 一個(gè)異或門 XOR,并把 AND 輸出的 net 與 U12 輸入端的 net 都斷開,并將它們與 XOR 的輸入輸出分別進(jìn)行連接。命令主要用到:
Disconnect_net , connect_pin ,connect_net 和 create_cell。
值得特別指出的是 connect_pin 請(qǐng)務(wù)必帶**上 ****-incr 的選項(xiàng) **,否則形式驗(yàn)證 formal 一定是過不了的。Create 后的 cell,需要與 deisgn 中預(yù)先留好的 spare cell 或者 ECO cell 進(jìn)行替換。
- ICC/ICC2 中完成 ECO
根據(jù) ECO 需求,比如只能動(dòng) M1,VIA1,M2。此時(shí)在做 ECO Route 時(shí)需要設(shè)定好freeze layer。
數(shù)字后端設(shè)計(jì)實(shí)現(xiàn)中 route 階段的那些事
- Dummy 修改
由于 ECO 只改了幾層 layer,為了確保其他 layer 的一致性,dummy 的更改可以進(jìn)行手工修改,也可以引導(dǎo)工具對(duì)某些層進(jìn)行重插 dummy。
- Layout Verus Layout
按照設(shè)計(jì)要求的 ECO 完成 ECO route 后,需要進(jìn)一步確認(rèn) PR 工具是否真的只動(dòng)了我們 freeze 之外的 layer。要完成這個(gè)比對(duì)工作,我們需要調(diào)用 calibre 來完成兩個(gè) layout 之間的比對(duì),這個(gè)過程一般我們稱之為 LVL。
- 形式驗(yàn)證 FM
基于特定的 ECO 腳本完成 Function ECO 后,需要 PR 工具寫出 eco 后的 netlist,進(jìn)行形式驗(yàn)證,從而確保改動(dòng)后的功能與預(yù)期功能一致。這個(gè)過程主要涉及 RTL 與 DC 綜合 netlist 的比對(duì)和綜合后的 netlist 與 eco route 后 netlist 之間的比對(duì)。
- DRC&LVS 檢查
完成 ECO Route 和 LVL 比對(duì)后,還需要進(jìn)一步檢查 DRC 和 LVS 檢查。小編之前無數(shù)次提到過修 DRC 千萬別手工去 fixing,而是引導(dǎo)工具自動(dòng)完成所有 DRC 的 fixing 工作。但是本案例所述的 Function ECO 背景不一定適用哦。比如本案例的 M1,VIA1,M2 在修 DRC 后也必須保證這些層的 pattern始終保持不變。因此在修 DRC 時(shí)會(huì)受 layer 的約束,不會(huì)像 Tapeout 前那樣可以隨心所欲修 DRC。
LVS 的檢查內(nèi)容和流程吾愛 IC 社區(qū)公眾號(hào)之前也分享過,大家可以點(diǎn)擊下面鏈接進(jìn)行查看。
LVS 就是這么簡(jiǎn)單!(數(shù)字后端物理驗(yàn)證篇)
- Timing Signoff
完成 DRC&LVS 檢查后,還需要在 Prime Time 中再進(jìn)行 timing 的 signoff。本案例是在原有兩個(gè) cell 之間添加一顆 XOR,理論上講不會(huì)有 timing 的相關(guān)問題。但是如果兩個(gè)要 ECO 的 point 相隔比較遠(yuǎn),而 ECO 需要將這兩個(gè) cell 進(jìn)行連接。那么連線后一定會(huì)存在 max transition 和 setup 的 violation。而要修復(fù) max transition 和 setup violation,只能在這兩顆 cell 中間插若干顆的 buffer。此時(shí)要怎么插 buffer 呢?這個(gè)留給大家作為思考題,歡迎大家前往小編知識(shí)星球上討論交流(因?yàn)楣娞?hào)沒有留言功能)。
很多人經(jīng)常問我,數(shù)字 IC 后端工程師的價(jià)值到底是什么?在老板看來你的價(jià)值就是要給公司帶來效益,替公司省錢。當(dāng)需要做 ECO 時(shí),你能夠盡量不花一分錢來修復(fù) bug。
在小編看來,你想要讓自己更有價(jià)值,唯一的途徑就是不斷學(xué)習(xí),不斷實(shí)踐,不斷積累工作經(jīng)驗(yàn)。如果你們公司有一個(gè)很好的平臺(tái),有很多的牛人,那么請(qǐng)好好珍惜利用起來。如果你身邊缺乏一個(gè)好的平臺(tái)和資源,那么你可以來小編知識(shí)星球,我相信一定能夠幫助到你們。
小編知識(shí)星球簡(jiǎn)介(如果你渴望進(jìn)步,期望高薪,喜歡交流,歡迎加入 ****):
在這里,目前已經(jīng)規(guī)劃并正著手做的事情:
-
ICC/ICC2 lab 的編寫
-
基于 ARM CPU 的后端實(shí)現(xiàn)流程
-
利用 ICC 中 CCD(Concurrent Clock Data)實(shí)現(xiàn)高性能模塊的設(shè)計(jì)實(shí)現(xiàn)
-
基于 ARM 四核 CPU 數(shù)字后端 Hierarchical Flow 實(shí)現(xiàn)教程
-
時(shí)鐘樹結(jié)構(gòu)分析
-
低功耗設(shè)計(jì)實(shí)現(xiàn)
-
定期將項(xiàng)目中碰到的問題以案例的形式做技術(shù)分享
吾愛 IC 社區(qū)知識(shí)星球星主為公眾號(hào)” 吾愛 IC 社區(qū)” 號(hào)主,從事數(shù)字 ic 后端設(shè)計(jì)實(shí)現(xiàn)工作近八年,擁有55nm,40nm,28nm,22nm,14nm等先進(jìn)工藝節(jié)點(diǎn)成功流片經(jīng)驗(yàn),成功tapeout 過三十多顆芯片。
這里是一個(gè)數(shù)字 IC 設(shè)計(jì)實(shí)現(xiàn)高度垂直細(xì)分領(lǐng)域的知識(shí)社群,聚集了無數(shù)數(shù)字 ic 前端設(shè)計(jì),后端實(shí)現(xiàn),模擬 layout 工程師們。
在這里大家可以多建立連接,多交流,多拓展人脈圈,甚至可以組織線下活動(dòng)。 在這里你可以就數(shù)字 ic 后端設(shè)計(jì)實(shí)現(xiàn)領(lǐng)域的相關(guān)問題進(jìn)行提問,也可以就職業(yè)發(fā)展規(guī)劃問題進(jìn)行咨詢,也可以把困擾你的問題拿出來一起討論交流。對(duì)于提問的問題盡量做到有問必答,如遇到不懂的,也會(huì)通過查閱資料或者請(qǐng)教專家來解答問題。在這里鼓勵(lì)大家積極發(fā)表主題,提問,從而促進(jìn)整個(gè)知識(shí)社群的良性循環(huán)。每個(gè)月小編會(huì)針對(duì)活躍用戶進(jìn)行打賞。
最重要的是在這里,能夠借助這個(gè)知識(shí)社群,短期內(nèi)實(shí)現(xiàn)年薪百萬的夢(mèng)想!不管你信不信,反正已經(jīng)進(jìn)來的朋友肯定是相信的!相遇是一種緣分,相識(shí)更是一種難能可貴的情分!如若有緣你我一定會(huì)相遇相識(shí)!知識(shí)星球二維碼如下,可以掃描或者長(zhǎng)按識(shí)別二維碼進(jìn)入。目前已經(jīng)有235 位星球成員,感謝這235 位童鞋的支持!歡迎各位渴望進(jìn)步,期望高薪的鐵桿粉絲加入!終極目標(biāo)是打造實(shí)現(xiàn)本知識(shí)星球全員年薪百萬的宏偉目標(biāo)。
歡迎關(guān)注 “吾愛 IC 社區(qū)”
微信號(hào):ic-backend2018
點(diǎn)擊下方 “閱讀全文” 了解更多文章來源:http://www.zghlxwxcb.cn/news/detail-406551.html
https://mp.weixin.qq.com/s/uf34hvde7NotBJ0wkggs3Q文章來源地址http://www.zghlxwxcb.cn/news/detail-406551.html
到了這里,關(guān)于如何才能成為數(shù)字IC后端ECO專家?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!