張卓先
(天津安泰微電子技術(shù)有限公司,天津 300308)
LVS,layout versus schematic,即版圖和電路的對(duì)比,是利用mentor公司推出的工具calibre所進(jìn)行的一項(xiàng)電氣連接驗(yàn)證,它的目的是確保版圖工程師所繪制出的layout與電路工程師設(shè)計(jì)的電路保持功能完全一致,是除了DRC(design rule check設(shè)計(jì)規(guī)則檢查)之外最為重要的一項(xiàng)驗(yàn)證工作。本文從LVS的驗(yàn)證流程入手,介紹了混合電路網(wǎng)表的組成結(jié)構(gòu),并討論了提高LVS驗(yàn)證準(zhǔn)確度和效率的一些技巧和方法。
Caliber的LVS規(guī)則文件通常包含LVS和ERC(電學(xué)特性檢查)兩個(gè)功能,LVS的驗(yàn)證是通過(guò)比較從gds文件中提取出來(lái)的版圖網(wǎng)表和從電路提取出來(lái)的電路網(wǎng)表來(lái)進(jìn)行的。其中,版圖網(wǎng)表由calibre工具自動(dòng)從gds或db文件中生成,而電路網(wǎng)表(一般為spice格式)則既可以由calibre自動(dòng)導(dǎo)出,又可以手動(dòng)通過(guò)電路編輯工具cadence的icfb界面或是電路仿真工具來(lái)生成,前者一般對(duì)應(yīng)小型模塊電路,后者通常是包含了很多單元的大型模塊甚至是全芯片驗(yàn)證。
以一個(gè)圖像傳感器芯片為例,在進(jìn)行LVS驗(yàn)證時(shí)所需的電路網(wǎng)表文件有:
數(shù)字頂層網(wǎng)表(一般是.v格式,由自動(dòng)布線(xiàn)工具生成),數(shù)字基本單元網(wǎng)表(cdl格式,由工藝廠(chǎng)提供),芯片頂層網(wǎng)表(sp格式,通過(guò)icfb或仿真工具提取電路生成),像素陣列網(wǎng)表(sp格式,由像素設(shè)計(jì)人員提供),IO電路網(wǎng)表(cdl格式,由工藝廠(chǎng)提供)和RAM網(wǎng)表(cdl格式,由RAM生成軟件如artisan,ram compiler等生成)。其中,芯片頂層網(wǎng)表應(yīng)當(dāng)作為上述所有網(wǎng)表的頭文件,其它網(wǎng)表則是通過(guò)INCLUDE命令集成于頂層網(wǎng)表中的。正確的網(wǎng)表結(jié)構(gòu)對(duì)于混合電路LVS驗(yàn)證順利進(jìn)行是不可或缺的。如上所述,數(shù)字頂層網(wǎng)表在通過(guò)自動(dòng)布線(xiàn)工具生成時(shí)一般都是.v格式的,它和sp格式以及cdl格式的其他網(wǎng)表是無(wú)法集成的,所以需要通過(guò)v2lvs命令將其先轉(zhuǎn)換為SPICE格式。
在這里還需要特別加以注意的是網(wǎng)表中的全局變量,也即.global的問(wèn)題。這個(gè)命令一般出現(xiàn)在工藝廠(chǎng)所提供的數(shù)字基本單元網(wǎng)表和IO單元網(wǎng)表中,通常用于統(tǒng)一定義電源和地,它產(chǎn)生了一個(gè)貫通所有網(wǎng)表層級(jí)的頂層端口,而它又同時(shí)默認(rèn)所有網(wǎng)表中具有這個(gè)global所定義名字的端口全是連接在一起的。這就有可能將模擬和數(shù)字底層電路中名字相同的線(xiàn)在網(wǎng)表中連接在一起,從而造成了短路的問(wèn)題。針對(duì)此問(wèn)題的解決方法是在底層電路設(shè)計(jì)時(shí)就必須將模擬和數(shù)字的電源與地的名稱(chēng)嚴(yán)格地區(qū)分開(kāi)來(lái)。
在進(jìn)行LVS之前,對(duì)相關(guān)驗(yàn)證參數(shù)進(jìn)行設(shè)置是必不可少的過(guò)程,通常情況下,為了使驗(yàn)證順利進(jìn)行,需要調(diào)整的參數(shù)如下所示:
LVS Abort on ERC error/softchk/supply error:規(guī)定ERC的錯(cuò)誤,軟連接的存在以及電源連接的錯(cuò)誤是否會(huì)阻礙驗(yàn)證的進(jìn)行,YES為會(huì)阻礙,NO為不會(huì)。
LVS compare case,LVS ignore ports:這兩個(gè)參數(shù)規(guī)定了電路和版圖上的端口比較是否區(qū)分大小寫(xiě)以及是否糾正拼寫(xiě)錯(cuò)誤。在更關(guān)注電路實(shí)際連接關(guān)系的情況下,忽略端口文字拼寫(xiě)的精確對(duì)應(yīng)是能提高驗(yàn)證效率的。
LVS filter:濾去DUMMY器件,DUMMY器件一般存在于需要高度匹配的電路周?chē)珉娏麋R,差分輸入對(duì),三極管陣列,電容電阻等,這個(gè)選項(xiàng)如果不正確的話(huà),LVS一定不會(huì)有正確的結(jié)果。通常,正負(fù)極短接的電阻,上下極板短接的電容,集電極、基極、發(fā)射極短接的三極管以及柵極、漏極、源極短接的場(chǎng)效應(yīng)管等都被認(rèn)為是可以濾去的DUMMY器件。
LVS isolate short:是否打開(kāi)短路檢測(cè)開(kāi)關(guān),如果選擇YES的話(huà),calibre自帶的短路檢測(cè)功能將能大幅提高后端工程師的短路糾錯(cuò)能力。
LVS softchk:規(guī)定如何進(jìn)行軟連接的檢測(cè)。軟連接是非電學(xué)特性的連接,如兩個(gè)不同電位的地線(xiàn)通過(guò)襯底短路。
LVS POWER name:這個(gè)用來(lái)填寫(xiě)頂層電源和地的端口名稱(chēng),正確的填寫(xiě)可以有效提高電學(xué)連接檢測(cè)的正確性。
在進(jìn)行LVS驗(yàn)證時(shí),采取正確的檢驗(yàn)順序是能有效減少驗(yàn)證時(shí)間的。應(yīng)當(dāng)采取的順序是,先查找電源和地線(xiàn)的短路問(wèn)題,因?yàn)閹缀跛衅骷?有些開(kāi)關(guān)器件等不會(huì))都會(huì)連接電源或地線(xiàn),而它們的短路錯(cuò)誤提示會(huì)充斥整個(gè)calibre報(bào)告界面,從而影響其他錯(cuò)誤的修正。打開(kāi)上文提到的LVS isolate short開(kāi)關(guān),就能點(diǎn)亮發(fā)生短路的兩條電源或是地線(xiàn),從而大幅減少錯(cuò)誤提示量。
在電源和地線(xiàn)的錯(cuò)誤之后,就是port(端口)報(bào)錯(cuò)。這種提示非常明顯,應(yīng)該優(yōu)先選擇改正。
Property(屬性)的報(bào)錯(cuò)有些確實(shí)是版圖相應(yīng)器件尺寸的錯(cuò)誤,有些則是器件連線(xiàn)所導(dǎo)致的衍生錯(cuò)誤,屬于不正確提示,所以在此之前,應(yīng)該先修正net(連線(xiàn))錯(cuò)誤再進(jìn)行此項(xiàng)糾錯(cuò),否則,很容易受到干擾而減緩驗(yàn)證進(jìn)度。
Net錯(cuò)誤的類(lèi)型可以通過(guò)LVS report中的總結(jié)進(jìn)行分析,如果是source(代表電路)的連線(xiàn)數(shù)大于layout(代表版圖),則意味著版圖中有短路,若是反過(guò)來(lái),則代表版圖中存在著連線(xiàn)短路。
LVS isolate short所能點(diǎn)亮的都是在頂層標(biāo)注了text(文本層)的連線(xiàn),這些text對(duì)應(yīng)于電路中的pin(端口),而對(duì)于那些沒(méi)有標(biāo)注text,但是被懷疑有可能發(fā)生短路問(wèn)題的內(nèi)部連線(xiàn),可以先在可疑連線(xiàn)上標(biāo)注text,再重新進(jìn)行LVS驗(yàn)證,這樣就可以通過(guò)點(diǎn)亮它們來(lái)迅速查找錯(cuò)誤了。
Caliber LVS是一個(gè)層級(jí)化的驗(yàn)證工具,它既可以分層次(hierarchy)地進(jìn)行驗(yàn)證,又可以在運(yùn)行過(guò)程中將所有單元打散(flatten),前者運(yùn)行時(shí)間更短,能在版圖包含了大量重復(fù)單元時(shí)有效地節(jié)省時(shí)間,而后者雖然相對(duì)比較耗時(shí),卻能提供更為細(xì)致的驗(yàn)證結(jié)果。一般而言,hierarchy是通常選用的流程。
而在進(jìn)行頂層芯片,尤其是包含百萬(wàn),千萬(wàn)個(gè)晶體管的大型芯片驗(yàn)證過(guò)程中,運(yùn)用hcell的驗(yàn)證方法能夠比hierarchy提供更高效的驗(yàn)證方法。Hcell能讓錯(cuò)誤顯示得更加簡(jiǎn)潔和明確,錯(cuò)誤提示將不通過(guò)net,port這樣的類(lèi)型分別顯示,而是變?yōu)橐阅K為單位。假如頂層單元為A,兩個(gè)子模塊分別為B和C,則應(yīng)用了hcell的顯示將變成ABC各自包含的錯(cuò)誤。這樣更高層次化的方法進(jìn)一步有效地提高了驗(yàn)證的效率。
黑盒子檢驗(yàn)法是通過(guò)“去掉”版圖或電路中的一部分而達(dá)到提高驗(yàn)證效率目的的。此檢驗(yàn)法因?yàn)槊頛VS BOX SOURCE LAYOUT cell中的BOX而得名,參數(shù)SOURCE和LAYOUT規(guī)定了版圖和電路哪個(gè)將被濾去,cell則是被濾去單元的名字。LVS BOX將會(huì)使得被濾去的單元在LVS驗(yàn)證程序看來(lái)變成一個(gè)僅僅具有輸入輸出端口的黑盒子,單元內(nèi)部的結(jié)構(gòu)將不參與整個(gè)驗(yàn)證。在流片之前,模塊電路和版圖的修改是非常普遍的,當(dāng)一個(gè)子模塊尚未完成修改時(shí),黑盒子驗(yàn)證法將使得整體芯片的LVS驗(yàn)證成為可能,這種不必等待所有子模塊都完成再進(jìn)行整體驗(yàn)證的方法可以大幅提高后端驗(yàn)證效率。數(shù)?;旌想娐返尿?yàn)證是另一個(gè)需要黑盒子檢驗(yàn)法的領(lǐng)域。模擬電路通常是由cadence電路編輯工具spectra來(lái)完成的,而數(shù)字電路則另有一套設(shè)計(jì)工具,此時(shí)就需要在頂層電路中添加一個(gè)數(shù)字電路的黑盒子,僅保留端口,其內(nèi)部是空的,這樣才能進(jìn)行混合LVS驗(yàn)證,而數(shù)字部分的網(wǎng)表將由自動(dòng)布線(xiàn)工具產(chǎn)生后通過(guò)INCLUDE命令添加進(jìn)頂層網(wǎng)表中。在數(shù)字和版圖網(wǎng)表中也可以直接注釋掉相關(guān)電路的subckt定義達(dá)到和LVS BOX命令等同的功能。
本文由LVS的流程入手,陸續(xù)介紹了混合電路網(wǎng)表的結(jié)構(gòu)和LVS需要注意的一些相關(guān)設(shè)置,并探討了幾種LVS的驗(yàn)證方式和技巧,希望能為廣大后端工程師提高驗(yàn)證準(zhǔn)確性和效率提供一些借鑒。
參考文獻(xiàn):
[1]李湘君.千萬(wàn)門(mén)級(jí)芯片設(shè)計(jì)中calibre的應(yīng)用[J].微處理機(jī),2011(3):5.
[2]黃瑩.calibre驗(yàn)證在集成電路版圖設(shè)計(jì)中的應(yīng)用[J].電腦編程技巧與維護(hù),2015(12):23.