很多人都說(shuō)PostMask ECO難,那么到底難在哪里?我從多個(gè)項(xiàng)目的ECO經(jīng)歷中總結(jié)了以下幾點(diǎn):
一、只能改金屬層,甚至少數(shù)幾層金屬
是的,PostMask ECO一般是芯片流片回來(lái)測(cè)試才發(fā)現(xiàn)bug,這時(shí)為了縮短制造時(shí)間(重新NTO的turn around時(shí)間)和降低制造成本(特別是掩膜版的制作成本),會(huì)要求盡量少改,所以做postmask限制只能改金屬層,甚至只能改少數(shù)幾層金屬。
以5層金屬的設(shè)計(jì)為例,從poly開(kāi)始依次是contact、metal1(Bottom Metal層)、via1、metal2、via2、metal3、via3、metal4、via4、metal5(Top Metal層),一共11層,如果全改制造成本非常高。
如果只改metal1、via1、metal2三層,會(huì)大大降低成本,同時(shí)也可以縮短mask制造時(shí)間。
二、不能新加stdcell,加大eco難度
那怎么做到只改金屬層呢?我們知道在修改bug時(shí),RTL層面一定會(huì)修改邏輯、或增加邏輯、或刪除邏輯。
為了在postmask eco時(shí)能夠?qū)崿F(xiàn)這些改動(dòng),我們需要在APR階段預(yù)先插入一定比例的spare cell(也叫dummy cell)。因?yàn)槲覀儫o(wú)法預(yù)測(cè)bug會(huì)發(fā)生在哪個(gè)模塊,所以會(huì)平均撒spare cell。
當(dāng)然如果對(duì)某個(gè)設(shè)計(jì)模塊信心不足,就可以在這個(gè)模塊附近多撒一些。
因?yàn)槲覀円矡o(wú)法得知修改和新增的邏輯的復(fù)雜程度,所以會(huì)挑選一些“萬(wàn)能”spare cell,比如inv、and2、nand2、or2、nor2、xor2、nxor2、mux、dff,按一定的比例組成spare module。
因?yàn)槭瞧骄?,所以在bug發(fā)生的位置附近不一定正好有需要的cell。
這時(shí)就要么使用距離稍遠(yuǎn)的cell,要么使用附近其它c(diǎn)ell進(jìn)行組合和變換。例如,如果附近沒(méi)有and2,就看有沒(méi)有nand2+inv,或者inv+or2,這種變換就需要靠經(jīng)驗(yàn)積累了。
三、Timing會(huì)變差
一方面,因?yàn)閜ostmask eco的sparecell不會(huì)正好附近有,總會(huì)或多或少的隔著一定距離,這會(huì)引起較長(zhǎng)的連線(xiàn),這些長(zhǎng)連線(xiàn)上的延時(shí)會(huì)比較大。
另一方面,spare cell的驅(qū)動(dòng)能力相對(duì)固定,沒(méi)法靈活選擇,所以當(dāng)附近只有驅(qū)動(dòng)能力較小的spare cell時(shí),也會(huì)帶來(lái)較大的延時(shí)。
如果原設(shè)計(jì)的timing,特別是setup,沒(méi)有留margin,那么這些spare cell的較大的延時(shí)只能讓setup timing爆掉。
修復(fù)一些bug必須要新增dff,新增的dff會(huì)映射到spare cell dff上,由于spare cell dff的位置不一定最優(yōu),這時(shí)dff的時(shí)鐘和復(fù)位信號(hào)接入時(shí)鐘樹(shù)之后很難達(dá)到平衡,這會(huì)引起大量的hold timing違例。
因?yàn)闀r(shí)鐘樹(shù)上的buffer的延遲是ps級(jí)的,想用spare cell buffer/inverter來(lái)調(diào)整時(shí)鐘樹(shù),難度也是非常大。
四、Transition、Cap違例修不干凈
小驅(qū)動(dòng)、長(zhǎng)連線(xiàn)等問(wèn)題必然帶來(lái)transition和cap修不干凈。對(duì)于消費(fèi)電子芯片,實(shí)際應(yīng)用不會(huì)工作在極端corner,所以不一定會(huì)出問(wèn)題。但如果是特殊領(lǐng)域,比如汽車(chē)電子、軍工,就留下了性能的隱患。
五、當(dāng)資源不足時(shí),只能放棄部分修復(fù)
當(dāng)spare cell不足或者timing/DRC搞不定時(shí),我們一般會(huì)嘗試簡(jiǎn)化eco方案;或者刪除設(shè)計(jì)中不重要的功能來(lái)釋放一些資源。如果還不行,就需要對(duì)bug list排排優(yōu)先級(jí)了,放棄修復(fù)部分影響不大的小bug了。
當(dāng)然,如果某些關(guān)鍵的bug不能實(shí)現(xiàn)eco,就需要考慮全改版了?;蛘叻艞夁@個(gè)項(xiàng)目。
六、postmask eco需要前后端一起努力
在進(jìn)行各種討價(jià)還價(jià)和折中的時(shí)候,需要前后端工程師一起討論,共同確定最優(yōu)的eco方案。如果涉及到某些bug無(wú)法實(shí)現(xiàn)eco,就需要項(xiàng)目經(jīng)理、市場(chǎng)人員一起研究。所以postmask eco并不是某一設(shè)計(jì)階段的問(wèn)題,而是產(chǎn)品級(jí)別的問(wèn)題。
審核編輯:劉清
-
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59667 -
ECO
+關(guān)注
關(guān)注
0文章
51瀏覽量
14853 -
電子芯片
+關(guān)注
關(guān)注
3文章
56瀏覽量
15007
原文標(biāo)題:都說(shuō)PostMask ECO難,到底難在哪里
文章出處:【微信號(hào):ExASIC,微信公眾號(hào):ExASIC】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論