我們?cè)贏PR的時(shí)候粹懒,所用到的std cell或者IP、macro都是要吃LEF的顷级,而最終交付生產(chǎn)的時(shí)候要生成GDS文件給工廠凫乖。那么這兩個(gè)文件都是什么意思呢?需要注意哪些問(wèn)題弓颈?我今天就來(lái)詳細(xì)探討一下帽芽。
首先,什么是LEF恨豁?全稱為library exchange format嚣镜,注意這里的L是library,不要把LIB搞混了橘蜜,LIB是liberty菊匿。它是一種庫(kù)交換格式付呕,只記錄了在APR時(shí)所要用到的最基本的物理信息,多一點(diǎn)都不記錄跌捆。什么意思呢徽职,各位想一想后端設(shè)計(jì)的時(shí)候,我們要擺放連線一個(gè)cell或者IP佩厚,需要什么信息呢姆钉?是只有他的size和出pin的信息的,出pin的信息包括pin的形狀抄瓦,出的層潮瓶,以及它的mask等。LEF其實(shí)就包含這兩方面的內(nèi)容钙姊。一個(gè)cell毯辅、一個(gè)ip、一個(gè)block煞额,甚至一個(gè)chip都可以抽L(zhǎng)EF出來(lái)思恐。有了LEF,我們就知道了我們要擺的元器件的大小和它的pin膊毁,我們就可以擺放和繞線了胀莹。所以說(shuō)LEF是更高層級(jí)使用的最基本的物理信息文件。
而GDS就不一樣了婚温,它在我們的design設(shè)計(jì)時(shí)其實(shí)并不需要描焰,它是我們最終交付給代工廠生產(chǎn)的文件,我們只要記住這一點(diǎn)缭召,這是最終tape out所要用到的最終文件栈顷。整個(gè)設(shè)計(jì)流程那么多逆日,用到的文件多如牛毛嵌巷,但是最后芯片要生產(chǎn)出來(lái),交給機(jī)臺(tái)的就是GDS室抽。如果不考慮dft測(cè)試或者其他的驗(yàn)證工作搪哪,其實(shí)交付出一份好的GDS就宣告設(shè)計(jì)結(jié)束了。那么坪圾,GDS會(huì)包含哪些信息呢晓折?不知道讀者有沒(méi)有了解芯片制造相關(guān)的內(nèi)容绸狐,我大概講一下侍郭,制造的時(shí)候分為很多工序珠洗,刻蝕啊关斜,注入啊很多镜豹,每一個(gè)poly复凳、metal甸昏、oxide蛤迎、n well、p substrate都是一步一步生成的觅彰。GDS就是詳細(xì)記錄了所有這些實(shí)際的材料的物理信息吩蔑,它們的層數(shù)、位置填抬、形狀烛芬。或者可以這么說(shuō)飒责,當(dāng)你拿到一塊生產(chǎn)好的芯片赘娄,你是完全可以很簡(jiǎn)單的逆向推出它的gds的。(當(dāng)然我說(shuō)的是理論上是很簡(jiǎn)單的)只要把每一種材料的物理信息一字不落地記錄下來(lái)就是GDS了宏蛉。我們?cè)谧詈驪V signoff的時(shí)候擅憔,就根本不會(huì)查看APR的DB,而是直接signoff的GDS檐晕。GDS過(guò)了暑诸,整個(gè)芯片的PV才算過(guò)了。(什么是signoff辟灰、PV會(huì)在之后其他文檔講)个榕。
聽(tīng)到這里,可能小伙伴還是有點(diǎn)糊涂芥喇,那么我想用一個(gè)最簡(jiǎn)單的問(wèn)題來(lái)加深大家對(duì)這兩者的理解西采,也就是本文的標(biāo)題——LEF和GDS匹配問(wèn)題。實(shí)際上继控,我們?cè)诤蠖俗鯝PR的時(shí)候會(huì)用到元件的LEF械馆,做完以后生成一份chip的GDS,那我們會(huì)用到GDS嗎武通?會(huì)的霹崎,GDS其實(shí)不光包括chip的,每個(gè)cell冶忱、ip尾菇、macro都有自己的GDS。那么問(wèn)題就來(lái)了囚枪,既然如此派诬,我們最終抽出來(lái)的GDS包不包括cell內(nèi)部的信息?要知道我們?cè)贏PR的時(shí)候可是把cell看成了一個(gè)黑匣子或者說(shuō)空殼的链沼,只有pin可以被看到默赂。實(shí)際上,APR最終出來(lái)的GDS確實(shí)沒(méi)有cell或者macro內(nèi)部的信息括勺,要想最終交付生產(chǎn)缆八,還要把我們chip的GDS和用到的所有元件的GDS merge起來(lái)谒臼,這樣才能形成一份完整的可以交付給工廠的GDS。而在merge的時(shí)候耀里,會(huì)有可能發(fā)生LEF和GDS不匹配的問(wèn)題蜈缤。GDS包括所有的物理信息,LEF包括pin和cell大小的信息冯挎。假如LEF寫(xiě)的pin的位置和GDS寫(xiě)的pin的位置不一致底哥,會(huì)發(fā)生什么情況呢?假如這個(gè)pin外接的時(shí)候直接打了一個(gè)via房官,那么趾徽,APR的時(shí)候就會(huì)把這個(gè)via砸在LEF認(rèn)為的位置,而這個(gè)via的信息最終會(huì)寫(xiě)在chip的GDS中翰守,這樣孵奶,chip的GDS和cell GDS merge的時(shí)候,這個(gè)via的位置可能就不是cell GDS中pin的位置蜡峰,那樣這個(gè)pin等于就沒(méi)有被連上了袁,或者說(shuō)產(chǎn)生了DRC,這就是很?chē)?yán)重的問(wèn)題了湿颅。所以一定一定要保證我們用到的LEF和最終merge的GDS一致才可以载绿。
可能有還沒(méi)有經(jīng)歷過(guò)項(xiàng)目的小伙伴會(huì)覺(jué)得這種情況也能發(fā)生?實(shí)際上油航,項(xiàng)目進(jìn)行的時(shí)候崭庸,LEF和GDS可能都會(huì)在更新的,一般會(huì)有專人來(lái)維護(hù)所有的lib谊囚,那么就有可能不小心LEF用的是v1怕享,GDS用的v2,這樣必然會(huì)產(chǎn)生PV的DRC镰踏,而這種DRC函筋,在APR tool里是不可能發(fā)現(xiàn)的。所以一定要注意這個(gè)問(wèn)題余境。
微信公眾號(hào):偉醬的芯片后端之路