




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
-.z.第五章物理驗證(一)教學(xué)容1.物理驗證的概念;2.主流物理驗證工具介紹;Calibre是MentorGraphics的IC版圖驗證軟件,此軟件包括設(shè)計規(guī)則檢查(DRC)、版圖與原理圖一致性檢查(LVS)、電氣規(guī)則檢查(ERC)、及版圖寄生參數(shù)萃?。↙PE)等驗證功能。其操作界面主要分為圖形模式(GUI)(graphicaluserinterface)CalibreInteractive與指令模式(mandLine),其中圖形模式可以單獨啟動,亦可與Virtuoso等軟件相連接,其操作界面皆相同。本章我們主要研究圖形模式。3.主要術(shù)語SVRF---StandardVerificationRuleFormat(標準的檢查文件)RVE---ResultsViewingEnvironment(顯示結(jié)果用的環(huán)境窗口)SVDB---StandardVerificationDatabase(LVSresults)DRC---DesignRuleCheck(設(shè)計規(guī)則檢查)ERC---ElectricalRuleChecking(電氣規(guī)則檢查)LVS---LayoutVersusSchematic(版圖原理圖一致性檢查)LPE---LayoutParasiticE*traction(版圖寄生參數(shù)萃取)第二節(jié)LVS版圖與原理圖的一致性4.CalibreLVS簡介CalibreLVS是一個出色的版圖與線路圖對比檢查工具,具有高效率、高準確度和大容量等優(yōu)點。CalibreLVS不僅可以對所有的“元件”進行驗證,而且還能在不影響性能的條件下,處理無效數(shù)據(jù)。主要表現(xiàn)在以下幾個方面:(1)運行模式快捷方便:CalibreLVS有兩種運行模式,即命令行模式和界面模式(CalibreInteractive-LVS)。采用命令行模式可以快速輸入控制命令,快速運行,其結(jié)果精確穩(wěn)定。CalibreInteractive-LVS能夠自動選擇驗證正被編輯的單元,并且能夠選擇所有的Calibre運行時間選項以及標準文件的規(guī)。該驗證技術(shù),允許用戶選擇特定標準文件以及獨立規(guī)則和規(guī)則組的任何子集。GUI可控制普通使用的LVS選項,并記錄運行設(shè)置過程。當采用修改控制或凍結(jié)標準文件時,它可將運行配置數(shù)據(jù)傳給Calibre。其界面友好,使用方便。我們在做LVS過程中,對于規(guī)模較小的模擬電路和數(shù)?;旌想娐?,一般采用方便的圖形界面模式(CalibreInteractive-LVS)進行對比檢查,這樣可以在啟動RVE后,對照LVS結(jié)果文件和版圖,將電路(或者網(wǎng)表)和版圖直接對應(yīng)起來檢查,非常方便;對于大規(guī)模的SoC電路,由于命令行方式輸入簡單直接,運行速度更快,運行結(jié)果穩(wěn)定精確,這次就采用了命令行方式來運行LVS,獲得了極大的成功。(2)多種比較方式可選:CalibreLVS可以進行版圖與電路圖(layoutvsshematic)和網(wǎng)表與網(wǎng)表(netlistvsnetlist)的方式對比檢查,還可以單獨從版圖提取網(wǎng)表。而且,通過v2lvs命令,可以將自動布局布線所產(chǎn)生的verilog網(wǎng)表轉(zhuǎn)換成spice網(wǎng)表,然后與自動布局布線的版圖進行對比,操作簡單方便,結(jié)果精確。由此可見,可以根據(jù)不同需要,在LVS驗證過程的不同階段,靈活地選擇比較方式,以獲得最有效的運行和最佳的結(jié)果。(3)偵錯方便快捷:當運行完LVS后,CalibreLVS會產(chǎn)生一個結(jié)果報告,明確指出出錯類型和數(shù)目,并且可以對層次化中的每個模塊都有一個完整的LVS報告,簡單明了。這個報告還能明確指出短路(特別是電源和地短路的情況)、開路、浮空或孤立的nets、pinswapping以及軟連接等問題。CalibreLVS還能產(chǎn)生一個詳細的結(jié)果數(shù)據(jù)庫,其中包括原理圖網(wǎng)表、從版圖抽取的網(wǎng)表、結(jié)果報告、版圖中的器件及連接關(guān)系等。這樣通過RVE來讀取這些數(shù)據(jù),就可以在版圖和網(wǎng)表中準確地Highlight有錯誤的地方(圖1)。由此可見,CalibreLVS所產(chǎn)生的結(jié)果文件結(jié)構(gòu)清晰,又可以通過RVE來準確定位,能有效地幫助用戶快速地消除錯誤以降低設(shè)計風險,這在我們項目的開發(fā)過程中得到了完全的體現(xiàn)。由于時間緊迫,致使后端設(shè)計的時間相當緊,正是CalibreLVS能準確無誤、快速地查出短路、開路、浮空或孤立的網(wǎng)絡(luò)、引腳、軟連接等問題,還能很好地識別晶體管、門級電路和模塊級電路,才使得我們按時地完成了百萬門級的信息安全SoC的設(shè)計。在反復(fù)使用CalibreLVS的圖形界面的運行方式和命令行方式過程中,發(fā)現(xiàn)CalibreLVS圖形界面的運行方式方便快捷,但是其穩(wěn)定性不如命令行方式好,若能加以改進,則能進一步提高驗證精準度。5.物理驗證的流程;SpiceSpice網(wǎng)表規(guī)則文件APR↓GDSⅡ版圖↓↘↙CalibreLVS↓↙↘LVS錯誤差異報告提取的網(wǎng)表LVS錯誤數(shù)據(jù)庫SVDB↘↙↓RVE+VLE版圖編輯器↓↓確定報告來自于差錯報告→→↑↑↑手工修改版圖注:從APR工具實現(xiàn)的版圖中提?。╡*tract)出一個網(wǎng)表。將這個提取出的網(wǎng)表與APR工具要實現(xiàn)的網(wǎng)表比較,它們應(yīng)該相同。如果兩個網(wǎng)表不一樣,這時手工修改版圖,使之與要實現(xiàn)的網(wǎng)表相一致。6.準備工作:(1)為什么要做LVS?LVS作了些什么?APR(AutomaticplaceandRoute)自動布局布線工具作出的版圖,基本上是正確的。但是,不能保證APR工具是絕對正確的,也就是說,APR工具可能會出錯。為了發(fā)現(xiàn)并改正APR工具布線的錯誤,需要做LVS。另外,從版圖中提取電路圖,同樣需要驗證電路圖與版圖的一致性。LVS的目的就是證明版圖的邏輯與網(wǎng)表是一致的,APR將網(wǎng)表實現(xiàn)成了版圖,現(xiàn)在LVS要證明這個實現(xiàn)是正確的。(2)下面是一個簡單的calibreLVSRuleFile,右邊#后容是對它的解釋。LAYOUTSYSTEMGDSII#指定layout的格式為gdsLAYOUTPATH“/user/joeb/proj/layout/ictr”#指定版圖的路徑LAYOUTPRIMARYCalibreM#版圖的topcellSOURCESYSTEMSPICE#指定source的格式為spice網(wǎng)表SOURCEPATH“/user/joeb/proj/logic/ictr”#source的路徑SOURCEPRIMARYCalibreM#source的topcellMASKRESULTSDATABASECalibreM.db#LVS的結(jié)果保存文件,將來指導(dǎo)改正版圖LVSREPORTCalibreM.rpt#report文件layerPWELL1#讀入版圖的各層信息layerO*IDE2layerRES3layerPOLY4layerNPLUS5layerPPLUS6layerCONTACT7layerMETAL18layerVIA9layerMETAL210chip=e*tentnsub=chipnotpwell#進行l(wèi)ayeroperation。gate=o*ideandpolysd=o*idenotpolyngate=gateandnpluspgate=gateandppluspsd=sdandpplusnsd=sdandnplussdm=pplusornplusconnectpsdpwell#定義連接關(guān)系connectnsdnsubconnectmetal1polynsdpsdbycontactconnectmetal2metal1byviadevicemnngatepolynsdnsdpwell[0]#提取nmosdevicemppgatepolypsdpsdnsub[0]#提取pmosCalibre根據(jù)這個RuleFile提供的信息,首先從版圖中提取出一個網(wǎng)表,再將這個網(wǎng)表與APR要實現(xiàn)的網(wǎng)表進行比較,判斷APR生成的版圖是否正確。7.具體操作:專門建立一個新的文件夾用于此次LVS。將RuleFile拷貝至此文件夾。從版圖中導(dǎo)出GDS文件至此文件夾下,操作同DRC時導(dǎo)出版圖,亦可在CalibreDRC圖形界面中選擇從當前版圖中導(dǎo)出GDS文件。利用AnalogEnvironment中的hspiceS從電路圖中導(dǎo)出網(wǎng)表。下面是導(dǎo)出網(wǎng)表的圖示。在Simulator中選擇hspiceS將電路圖網(wǎng)表拷貝至你所建立的新目錄scj_lvs中與*.gds和rulefile放置在一起,此時要修改電路圖網(wǎng)表的容,使其與layout有相同的modelname,以及把VDD!等的驚嘆號去掉,以保持與layout網(wǎng)表的一致性。(二)實驗容1.啟動LVS方法(三種方法啟動圖形界面)●在版圖的Calibre菜單下點出RUNLVS命令●在命令窗口里輸入calibre–gui啟動calibreGUI,再選擇LVS●直接在命令窗口里輸入calibre–gui-lvsRunsetFile是RUNLVS時需要填入的一些設(shè)置,方便于下次RUN。第一次由于沒有,所以就選擇NewRunset,等第一次RUN完后,可以將填入的設(shè)置存成一個RunsetFile。再RUNLVS時,可以將這個RunsetFileLoad進來。同RUNDRC。上面的窗口中,可以看到Rules與Inputs兩個命令是紅色的,表示RUNLVS需你設(shè)置的。點擊Rules命令,在Calibre-LVSRulesFile的命令行里輸入用來做LVS檢查的文件(SVRF),這個文件里包括了一些層次及器件的定義等。在Calibre-LVSunDirectory里輸入你要RUNLVS的路徑,建議建一個專門的目錄??梢钥吹竭@時Rules已經(jīng)變成綠色,表示Rules里設(shè)置完成了。每個命令行后面的…可以幫助你選擇文件。點擊Inputs命令,如果選擇LayoutvsNetlist,則在Layout命令行里輸入你要檢查的版圖的GDS,假如你已經(jīng)當前版圖輸出GDS了,可以輸入已經(jīng)生成的GDS。假如你還沒有輸出GDS,可以選下面的Importlayoutdatabasefromlayoutviewer設(shè)置,這樣Calibre在RunLVS時就先把當前的版圖輸出GDS,名字就是你上面輸入的GDS名?!馪rimaryCell的命令行里就是當前的頂層單元名?!馤ayoutNetlist的命令行里填入版圖提取出SPICE網(wǎng)表的名稱。如果選擇NetlistvsNetlist,此時layout選項中的Files不可選,則必須已經(jīng)有了layout的網(wǎng)表,在LayoutNetlist命令行里填入layout網(wǎng)表的名稱。如果選擇NetlistE*traction,則只從layout中抽取出網(wǎng)表,不與電路圖網(wǎng)表進行比對。PrimaryCell的命令行里就是當前的頂層單元名,與上面LayoutvsNetlist時相同。在Files命令行里填入邏輯網(wǎng)表??梢赃x擇從電路圖中自動導(dǎo)出,此電路圖應(yīng)與當前版圖在同一個Library里的同一個Cell里,自動導(dǎo)出的網(wǎng)表為cdl格式。通常利用Import自動產(chǎn)生Sourcenetlist后,其device的modelname會與layout不匹配,因此常需要自行修正。PrimaryCell里填入邏輯的頂層單元名。使用hspice格式的網(wǎng)表時,由于其頂層單元不包括.subckt語句,所以就用”.”填入。因為填“.”時,LVS只讀取.subckt語句之外的容。HCells是使用Hierarchical模式做LVS時才需設(shè)定,否則不需額外去做設(shè)定。使用Hierarchical模式下最常見的設(shè)定是Automatch,一般在Layout所用的CellName于Schematic的CellName不一致的情況下方需設(shè)定HCells.點擊Netlist邊上的H-Cells,選中Matchcellsbyname(automatch)選項。CalibreHierarchicalLVS是先完成底層單元的比對,但需要將底層單元設(shè)為H-Cells。如果一個單元只調(diào)用了一次,沒必要將它設(shè)為H-Cells。但被調(diào)用了多次時,將它設(shè)為H-Cells時會大大減少LVS時間。5.點擊Outputs命令選擇run完LVS后檢視Report。建立SVDBdatabase并在run完LVS后開啟RVE來檢視error。在LVSReportFile的命令行里輸入LVS輸出的文本文件的路徑及名稱。在SVDBDirectory的命令行里輸入LVS輸出的數(shù)據(jù)存放的路徑。這個數(shù)據(jù)是用CalibreRVE來Debug時讀入的數(shù)據(jù)。6.點擊LVSOptions命令Setup->LVSOptions在Options里的Supply選項里選中AbortLVSonpower/groundneterrors,這個選項的目的是當電源地短路時中斷LVS.如果出現(xiàn)電源地短路,再RUNLVS時就不選這個選項,這樣LVS就不會中斷并且會報出電源地短路的地方。但是不選這個選項會RUN很長時間,所以一般都會選上這個選項。在Powernets和Groundnets兩個命令行里分別輸入電源地的名稱。一般rulefile里已經(jīng)寫好了,loadrulefile或runsetfile時自動會填在這里面。在Report選項里的LVSReportOptions里選中S選項。這樣在LVSReportFile里會輸出詳細的軟連接的沖突。軟連接(softconnect)是將電位單向由上傳至下層的layer,以用來檢查是否有不同電壓準位透過底層連接,或是上層電位是從底層傳遞過去的。在Gates選項里選中Recognizeallgates選項,目的是CalibreLVS能以所有的邏輯門(與非門、倒相器、或非門、與或非門等)為單元來比對。選中Recognizesimplegates,只能以基本的邏輯門(倒相器、與非門、或非門)比對。選中Turngaterecognitionoff時,LVS將以單管為單位來比對。當你允許邏輯門的輸入可以互換時選前兩個,如果你不允許時就選最后一個。當你要在RUNLVS的同時RUNERC檢查時選中ERC選項,選中RunERC選項在ERCResultsFile命令行里填入ERC的結(jié)果數(shù)據(jù)的路徑和名稱。在ERCSummaryFile命令行里填入ERC的簡述文件的路徑和名稱。在Connect選項里選中Connectnetswithcolon(:),當你的版圖里有用TE*T加冒號來表示兩條線的連接時要選中這個選項。7.點擊RunControl命令RunCalibreLVS的相關(guān)option,可決定是否以64bit,遠端操作,或多臺server執(zhí)行,一般均不改變預(yù)設(shè)值。8.點擊Transcript命令Transcript記錄RunLVS的過程與相關(guān)信息,若無法順利執(zhí)行,可由此看錯誤訊息,亦可利用Transcript->Saveas存成logfile。RunLVS執(zhí)行CalibreLVScheck。8.可點擊StartRVE自行以手動方式開啟RVE視窗。在Report上出現(xiàn)笑臉符號代表LVScheck正確,RVE也將顯示DesignMatch.9.LVS錯誤舉例RVE顯示有四處net錯誤,一處port錯誤,一處instance錯誤,一處property錯誤。RVE顯示有四處net錯誤,點開第二個錯誤,下面顯示了詳細的incorrectnets的信息。LAYOUT中一條net對應(yīng)著電路圖中的兩條net,表示電路圖中有一處OpenCircuit開路錯誤?;蛘呤莑ayout中有一處ShortCircuits短路錯誤。雙擊LAYOUTNAME中的Net*89/inp,則會打開版圖并高亮此net通過版圖中高亮的net,找出與此錯誤有關(guān)系的cell,然后在電路圖上在根據(jù)cell,找出有錯誤的net,如上圖所示左右兩條紅線net,在版圖上是連起來的,所以修正電路圖如上圖所示點開第三個錯誤,下面顯示了詳細的incorrectnets的信息。LAYOUT中兩條net對應(yīng)著電路圖中的一條net,表示layout中有一處OpenCircuit開路錯誤?;蛘呤请娐穲D中有一處ShortCircuits短路錯誤。版圖上a1和a2是兩條net,而在電路圖上兩條線連了起來,修正后如右圖所示。(1)Property錯誤RVE顯示property參數(shù)錯誤,mos管的寬度不匹配。雙擊LAYOUT下邊的*89/*8422/M0,在版圖中高亮這個晶體管。電路圖中multiplier參數(shù)錯誤。(2)Port錯誤RVE顯示port錯誤,在下面可以看到,layout中的portDOUT在source中對應(yīng)著DOUT_E,把名字改過來即可。(3)Instance錯誤從版圖中可以看到M_133一端接VD33,所以其modelname應(yīng)該填PD,然后在導(dǎo)出的spice網(wǎng)表中再改為P33即可從右面三圖上可以看到,M_130_133上的bulk一端,layout與source上不一致,將電路圖上的bulknodeconnection的值改為與版圖一致的VD33即可。10.關(guān)于Calibrelvsreport?●Lvs中Input和Output的信息:●該部分主要記錄calibre中的一些信息,例如layout,netlist,reportfile,運行時間以及calibre的版本信息。Lvs是否匹配最明顯的標志:NOTPARED,CORRECT和INCORRECT(a)NOT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論