1. Calibre LVS?及?SVRF?規(guī)則文件簡(jiǎn)介
版圖與電路圖驗(yàn)證(Layout Versus Schematic, LVS)是集成電路(IC)設(shè)計(jì)流程中至關(guān)重要的一步,其目的是確保物理版圖在器件、連接關(guān)系以及可選的器件參數(shù)方面精確地反映了原始電路圖(網(wǎng)表)的設(shè)計(jì)意圖1。西門(mén)子?EDA?的Calibre? nmLVS??工具是業(yè)界領(lǐng)先的?LVS?解決方案,通過(guò)比較版圖和電路圖中的器件及連接性,在完整的?IC?驗(yàn)證工具套件中扮演著關(guān)鍵角色?2。
Calibre nmLVS?通過(guò)對(duì)全芯片的實(shí)際器件幾何形狀進(jìn)行測(cè)量,實(shí)現(xiàn)精確的電路驗(yàn)證,從而提取出精確的器件參數(shù)。這些參數(shù)可用于反標(biāo)到源電路圖,并為后續(xù)的仿真提供全面的數(shù)據(jù)2。該工具不僅能進(jìn)行器件和連接關(guān)系的比較,還能在用戶(hù)定義的容差范圍內(nèi)比較器件屬性?1。
控制Calibre LVS?操作的核心是標(biāo)準(zhǔn)驗(yàn)證規(guī)則格式(Standard Verification Rule Format, SVRF)文件,通常被稱(chēng)為規(guī)則文件、規(guī)則集或命令文件?3。這些文件包含了一系列的規(guī)范聲明(Specification Statements)和操作(Operations),用于指導(dǎo)Calibre?工具的功能?4。精確的?LVS?對(duì)于防止芯片制造缺陷、確保電路功能和可靠性、以及最終影響產(chǎn)品良率至關(guān)重要2。
SVRF文件的這種雙重結(jié)構(gòu)——規(guī)范聲明和操作——從根本上決定了LVS?規(guī)則文件的組織方式和執(zhí)行流程。規(guī)范聲明負(fù)責(zé)建立驗(yàn)證環(huán)境、定義輸入輸出以及設(shè)定全局參數(shù);而操作則是在這些設(shè)定基礎(chǔ)上執(zhí)行的實(shí)際幾何運(yùn)算和邏輯判斷,用以完成版圖提取和電路圖比較。如果規(guī)范聲明不正確或不完整,后續(xù)操作可能無(wú)法正確執(zhí)行,甚至產(chǎn)生無(wú)意義的驗(yàn)證結(jié)果。同樣,LVS?的準(zhǔn)確性直接依賴(lài)于?SVRF?規(guī)則的精確性和正確性。規(guī)則文件中的任何含糊不清或錯(cuò)誤都可能導(dǎo)致?LVS?結(jié)果失真,從而可能使得有缺陷的設(shè)計(jì)通過(guò)驗(yàn)證,或者使正確的設(shè)計(jì)反而驗(yàn)證失敗?1。因此,用于定義層、連接關(guān)系和器件的SVRF?命令是保證?LVS?精確性的核心。
2. SVRF?基本語(yǔ)法及?LVS?規(guī)則文件結(jié)構(gòu)
理解SVRF?的基本語(yǔ)法和?LVS?規(guī)則文件的典型結(jié)構(gòu)對(duì)于編寫(xiě)和維護(hù)?LVS?規(guī)則至關(guān)重要。
SVRF語(yǔ)句語(yǔ)法約定?4
SVRF語(yǔ)句通常遵循以下語(yǔ)法約定:
●參數(shù)順序:對(duì)于某些命令,參數(shù)的順序至關(guān)重要。例如,在雙層與(AND)操作中,層的順序會(huì)影響連接性信息的傳遞4。
●大小寫(xiě)敏感性:大多數(shù)?SVRF?語(yǔ)句的關(guān)鍵字不區(qū)分大小寫(xiě),但單元名稱(chēng)、文件名以及可能的網(wǎng)表名等用戶(hù)自定義標(biāo)識(shí)符通常是區(qū)分大小寫(xiě)的。這是一個(gè)需要用戶(hù)特別注意的細(xì)節(jié)。
●文字關(guān)鍵字與可變參數(shù):語(yǔ)句使用文字關(guān)鍵字(如?AND, LAYER)和可變參數(shù)(用戶(hù)定義的值或名稱(chēng))。
●空白字符:Calibre?能夠識(shí)別預(yù)留符號(hào),無(wú)論其周?chē)欠裼锌瞻鬃址?5。然而,空白字符主要用于分隔關(guān)鍵字和參數(shù)。
●預(yù)留關(guān)鍵字:規(guī)范聲明、操作和二級(jí)關(guān)鍵字的名稱(chēng)是預(yù)留的,不能用作變量名、單元名、規(guī)則檢查(RuleCheck)名或?qū)用?4。
●預(yù)留符號(hào):Calibre?識(shí)別特定的符號(hào),包括?//, @, /*, */, {, }, ", ', (, ), [, ], <, ==, >, <=, >=,!=, -, +, *, /,!, %, =, &&, ||, ::, ,,??4。
規(guī)則文件注釋4
SVRF支持多種注釋方式:
●// (C++?風(fēng)格):從?//?開(kāi)始到該行結(jié)束均為注釋。
●/*... */ (C?風(fēng)格):可以跨越多行,但不可嵌套。
●@ (DRC?用戶(hù)注釋):從?@?開(kāi)始到該行結(jié)束。雖然主要用于DRC,但在?LVS?上下文中,某些檢查或在?RVE (Results Viewing Environment)?中查看時(shí),這些注釋也可能可見(jiàn)。
規(guī)則文件變量4
變量可以在規(guī)則文件中定義和使用:
●規(guī)則文件內(nèi)部定義:VARIABLE?變量名 值
○例如:VARIABLE pspace 3.0
●通過(guò)環(huán)境變量定義:VARIABLE?變量名?ENVIRONMENT
○例如:VARIABLE pspace ENVIRONMENT (此時(shí)需要在執(zhí)行?Calibre前設(shè)置相應(yīng)的環(huán)境變量,如?setenv pspace 3.0)
包含其他規(guī)則文件4
INCLUDE文件名 語(yǔ)句允許將另一個(gè)規(guī)則文件的全部?jī)?nèi)容插入到當(dāng)前文件中。這對(duì)于規(guī)則文件的模塊化管理非常有用,例如,工藝廠商(Foundry)提供的基礎(chǔ)規(guī)則可以通過(guò)?INCLUDE?語(yǔ)句被用戶(hù)規(guī)則文件調(diào)用6。現(xiàn)代?PDK (Process Design Kit)?的規(guī)則集管理廣泛采用此機(jī)制,它允許Foundry提供一套基礎(chǔ)的、經(jīng)過(guò)驗(yàn)證的“黃金”規(guī)則,用戶(hù)可以在不修改核心規(guī)則的情況下,通過(guò)創(chuàng)建自己的規(guī)則文件來(lái)包含這些基礎(chǔ)規(guī)則,并添加或覆蓋特定項(xiàng)目的規(guī)則。這種分離是業(yè)界推薦的最佳實(shí)踐。
規(guī)則文件編譯4
規(guī)則文件在使用前必須經(jīng)過(guò)編譯:
●當(dāng)從命令行調(diào)用?Calibre?或在圖形用戶(hù)界面(GUI)中加載規(guī)則文件時(shí),會(huì)自動(dòng)進(jìn)行編譯。
●編譯過(guò)程包括檢查語(yǔ)法正確性、特定操作的層使用是否正確,并解析所有語(yǔ)句和操作之間的依賴(lài)關(guān)系。 規(guī)則文件的編譯順序和依賴(lài)關(guān)系解析意味著?SVRF?處理器在執(zhí)行前會(huì)構(gòu)建一個(gè)完整的規(guī)則模型。這表明在一定程度上可能支持前向引用,但循環(huán)依賴(lài)可能會(huì)被標(biāo)記為錯(cuò)誤。
LVS規(guī)則文件典型結(jié)構(gòu)
一個(gè)典型的?Calibre LVS?規(guī)則文件通常包含以下部分(基于?4):
1.可選的文件頭注釋?zhuān)峁┮?guī)則文件的基本信息。
2.TITLE聲明,為報(bào)告提供標(biāo)題。
3.INCLUDE語(yǔ)句,用于包含通用的或?Foundry?提供的規(guī)則模塊。
4.核心?LVS?規(guī)范聲明(詳見(jiàn)下一節(jié))。
5.LAYER定義語(yǔ)句,用于定義原始(drawn)層和派生(derived)層。
6.連接性建立語(yǔ)句,如?CONNECT?和?SCONNECT。
7.端口(Port)定義語(yǔ)句。
8.DEVICE器件識(shí)別語(yǔ)句。
9.LVS控制和報(bào)告相關(guān)語(yǔ)句。
SVRF語(yǔ)法的某些特性,例如對(duì)名稱(chēng)的大小寫(xiě)敏感性,是用戶(hù)常遇到的問(wèn)題來(lái)源,清晰地記錄這些特性至關(guān)重要。例如,4中提到“大多數(shù)?SVRF?語(yǔ)句不區(qū)分大小寫(xiě),但單元名、文件名和可能的網(wǎng)表名除外”。這意味著用戶(hù)為層名鍵入?Metal1?而不是?metal1?可能仍然有效,但對(duì)單元名使用?MyCell?而不是?mycell?則很可能導(dǎo)致問(wèn)題。這種不一致性需要特別指出。
3.核心?LVS?規(guī)范聲明
核心LVS?規(guī)范聲明用于定義?LVS?運(yùn)行的基本輸入、輸出和全局設(shè)置。
表?1:?核心?LVS?規(guī)范聲明
命令 | 目的 | 關(guān)鍵參數(shù)和語(yǔ)法示例 | 典型用法/示例 | 主要參考 |
LAYOUT ? SYSTEM type | 指定版圖數(shù)據(jù)庫(kù)的格式。 | type: ? GDSII, OASIS, LEFDEF, OPENACCESS, SPICE?等。必需,且僅出現(xiàn)一次。 | LAYOUT ? SYSTEM GDSII | 4 |
LAYOUT ? PATH "filename" [...] | 指定一個(gè)或多個(gè)版圖數(shù)據(jù)庫(kù)文件的路徑。 | filename: ?版圖文件名。必需,至少出現(xiàn)一次。 | LAYOUT ? PATH "design.gds" | 4 |
`LAYOUT ? PRIMARY "cellname" | *` | 指定版圖中的頂層單元名稱(chēng)。 | cellname: ?頂層單元名。*?可匹配任意主單元,但若存在多個(gè)主單元,則匹配遇到的第一個(gè)?8。GDSII, OASIS, ? OpenAccess?數(shù)據(jù)庫(kù)必需。 | LAYOUT ? PRIMARY "TOP_CELL" |
`LAYOUT ? CASE {YES | NO}` | 控制讀取版圖數(shù)據(jù)庫(kù)時(shí)的大小寫(xiě)敏感性(針對(duì)單元名、文本串等)。 | YES: ?區(qū)分大小寫(xiě)?(默認(rèn))。?NO:?不區(qū)分大小寫(xiě)。 | LAYOUT ? CASE YES?9 |
SOURCE ? SYSTEM type | 指定源網(wǎng)表文件的格式。 | type: ? SPICE, VERILOG, CNET, EDIF?等。必需,且僅出現(xiàn)一次。 | SOURCE ? SYSTEM SPICE | 4 |
SOURCE ? PATH "filename" | 指定源網(wǎng)表文件的路徑。 | filename: ?網(wǎng)表文件名。只能使用一次。 | SOURCE ? PATH "design.src.net" | 4 |
SOURCE ? PRIMARY "cellname" | 指定源網(wǎng)表中的頂層單元或子電路名稱(chēng)。 | cellname: ?頂層單元名。 | SOURCE ? PRIMARY "TOP_SUBCKT" | 4 |
`SOURCE ? CASE {YES | NO}` | 控制讀取源網(wǎng)表時(shí)的大小寫(xiě)敏感性。 | YES: ?區(qū)分大小寫(xiě)?(默認(rèn))。?NO:?不區(qū)分大小寫(xiě)。 | SOURCE ? CASE YES?9 |
LVS ? REPORT "filename" | 指定?LVS?報(bào)告文件的名稱(chēng)。 | filename: ?報(bào)告文件名。LVS?運(yùn)行時(shí)必需。 | LVS ? REPORT "lvs_results/design.lvs.report"?7 | 4 |
MASK ? SVDB DIRECTORY "dir_path" [options] | 指定標(biāo)準(zhǔn)驗(yàn)證數(shù)據(jù)庫(kù)?(SVDB)?的目錄及生成的?LVS?文件類(lèi)型。 | dir_path: ?目錄路徑。?options: QUERY (RVE?必需), XRC, CCI, IXF, ? NXF, PHDB, PINLOC, NETLIST?等。 | MASK ? SVDB DIRECTORY svdb QUERY?10 | 4 |
PRECISION ? value | 定義數(shù)據(jù)庫(kù)單位精度。 | value: ?整數(shù)值,代表每用戶(hù)單位對(duì)應(yīng)的數(shù)據(jù)庫(kù)單位數(shù)。 | PRECISION ? 1000?7 | 4 |
RESOLUTION ? value | 定義數(shù)據(jù)庫(kù)單位分辨率。 | value: ?整數(shù)值,代表數(shù)據(jù)庫(kù)的最小可分辨單位。 | RESOLUTION ? 1 (通常與?PRECISION?結(jié)合使用,例如?PRECISION 1000 ? RESOLUTION 1)?7 | 4 |
LAYOUT PRIMARY?和SOURCE PRIMARY?語(yǔ)句是?LVS?比較的起點(diǎn)。這些聲明中的不匹配或不正確的指定將從根本上導(dǎo)致比較的失敗。雖然?*?通配符為?LAYOUT PRIMARY?提供了一定的便利性,特別是在批處理運(yùn)行中,但如8所述,在包含多個(gè)頂層單元的?GDS?文件中,它僅匹配遇到的第一個(gè)單元記錄,這對(duì)于復(fù)雜設(shè)計(jì)或包含多個(gè)無(wú)關(guān)設(shè)計(jì)的GDS?文件來(lái)說(shuō)是一個(gè)重要的警示。
版圖、電路圖和比較規(guī)則中的大小寫(xiě)敏感性(由?LAYOUT CASE, SOURCE CASE, LVS COMPARE CASE?等命令控制)是?LVS?差異的一個(gè)常見(jiàn)來(lái)源。在整個(gè)流程中保持一致的大小寫(xiě)處理至關(guān)重要。例如,如果電路圖使用?"VDD"?而版圖使用?"vdd",并且比較時(shí)啟用了大小寫(xiě)敏感,除非進(jìn)行了名稱(chēng)映射或調(diào)整了規(guī)則,否則這將導(dǎo)致不匹配。Foundry?通常會(huì)在其?PDK?中規(guī)定特定的大小寫(xiě)處理方式。
MASK SVDB DIRECTORY?命令及其?QUERY?選項(xiàng)不僅是一個(gè)輸出設(shè)置,更是利用?Calibre RVE?進(jìn)行交互式調(diào)試的前提條件4。沒(méi)有正確生成的包含?QUERY?數(shù)據(jù)的?SVDB,用戶(hù)將失去強(qiáng)大的交互式調(diào)試能力,只能依賴(lài)文本報(bào)告,這將大大增加錯(cuò)誤定位的難度。因此,QUERY?選項(xiàng)已成為現(xiàn)代?LVS?流程中的事實(shí)標(biāo)準(zhǔn)。
4. LVS?的層定義與幾何運(yùn)算
在LVS?規(guī)則文件中,必須首先定義版圖中的物理層,然后通過(guò)幾何運(yùn)算派生出用于器件識(shí)別和連接性分析的邏輯層。
原始層定義
●LAYER layer_name layer_number:此命令為?GDSII/OASIS?中的層號(hào)賦予一個(gè)易于理解的名稱(chēng)?4。這是所有后續(xù)層操作的基礎(chǔ)。
○示例:layer M1 40 (將?GDS?層號(hào)?40?定義為?M1)
○示例?(來(lái)自?FreePDK45?7):layer active 1,layer poly 9
●LAYER MAP original_layer_number new_layer_name:此命令允許將特定?GDS?層號(hào)和數(shù)據(jù)類(lèi)型(DATATYPE)映射為一個(gè)新的?SVRF?層?11。這對(duì)于處理具有復(fù)雜層結(jié)構(gòu)或特殊數(shù)據(jù)類(lèi)型的工藝非常有用。
○示例?(來(lái)自?11):LAYER MAP 19 TEXTTYPE == 32 M3_PORT_TEXT (將GDS?層?19、數(shù)據(jù)類(lèi)型?32?上的文本對(duì)象映射到?SVRF?層?M3_PORT_TEXT)
派生層操作?(布爾運(yùn)算)
布爾運(yùn)算是?LVS?規(guī)則中創(chuàng)建器件識(shí)別層(如晶體管的柵極、源漏區(qū)、注入?yún)^(qū)等)的核心操作?4。
●AND layer1 layer2 [constraint]:取?layer1?和?layer2?的交集。在雙層?AND?操作中,層的順序會(huì)影響網(wǎng)絡(luò)?ID?的傳遞?4。
○示例?(來(lái)自?FreePDK45?7):pdif = active and pimplant (P擴(kuò)散區(qū)?=?有源區(qū) 與?P注入 交疊部分)
●OR layer1 layer2:取layer1?和?layer2?的并集。
○示例:metal_stack = M1 or M2
●NOT layer1 [layer2...]:從?layer1?中減去與?layer2 (及后續(xù)層)?重疊的部分。
○示例:field_ox = ALL_LAYOUT not active (場(chǎng)氧?=?所有版圖區(qū)域 減去 有源區(qū))
●XOR layer1 layer2:取layer1?和?layer2?的異或部分?(即,存在于其中一層但不同時(shí)存在于兩層中的區(qū)域)。
LVS中器件識(shí)別的準(zhǔn)確性直接取決于使用布爾運(yùn)算和尺寸調(diào)整操作精確定義派生層。例如,MOSFET?器件由多個(gè)物理層的交集定義(如多晶硅層跨有源區(qū),并在特定的注入?yún)^(qū)內(nèi))。7中的?ngate1 = poly and ndif?就是一個(gè)典型例子。如果?poly?或?ndif?層的定義不正確(例如,GDS?層號(hào)錯(cuò)誤,或應(yīng)用了不正確的尺寸調(diào)整),那么?ngate1?就會(huì)出錯(cuò),進(jìn)而導(dǎo)致?NMOS?晶體管被錯(cuò)誤識(shí)別,或者其?W/L?參數(shù)計(jì)算錯(cuò)誤。
此外,雙層布爾運(yùn)算(尤其是?AND?和?NOT)中層的順序可能會(huì)影響網(wǎng)絡(luò)?ID?的傳播?4。雖然這在?DRC?的連接性檢查中可能更為關(guān)鍵,但如果派生層用于?CONNECT?語(yǔ)句,LVS?規(guī)則編寫(xiě)者也應(yīng)意識(shí)到這一細(xì)微差別。例如,4指出:“由雙層?AND?操作派生的層接收l(shuí)ayer1?的網(wǎng)絡(luò)?ID?!?如果此派生層隨后用于?CONNECT?語(yǔ)句,則繼承的網(wǎng)絡(luò)?ID?可能會(huì)影響連接性的解析方式。
尺寸調(diào)整操作?(Sizing)
●SIZE layer_name BY value [direction_options]:將指定層上的多邊形擴(kuò)大(正?value)或縮?。ㄘ?fù)?value)指定的尺寸?12。此操作對(duì)于調(diào)整層以適應(yīng)器件識(shí)別(例如,創(chuàng)建柵極擴(kuò)展區(qū))或考慮工藝偏差至關(guān)重要。
○示例:gate_ext = SIZE poly BY 0.1 (將?poly?層擴(kuò)大?0.1?用戶(hù)單位)
○SIZE操作不僅用于幾何修改,對(duì)于模擬工藝效應(yīng)(如過(guò)刻蝕/欠刻蝕)或創(chuàng)建魯棒器件終端識(shí)別所需的特定幾何條件也至關(guān)重要。例如,在?LVS?中,可以對(duì)擴(kuò)散層進(jìn)行輕微的尺寸放大,以確保與接觸層(contact)的可靠重疊,從而穩(wěn)健地定義終端;或者對(duì)多晶硅層進(jìn)行尺寸調(diào)整,以定義一個(gè)考慮到光刻效應(yīng)的有效溝道長(zhǎng)度。
拓?fù)?選擇操作
這些操作雖然不常直接用于?LVS?器件構(gòu)建,但可用于條件檢查或復(fù)雜的層派生。
●INSIDE layer1 layer2:選擇?layer1?中完全位于?layer2?內(nèi)部的多邊形?13。
●OUTSIDE layer1 layer2:選擇?layer1?中完全位于?layer2?外部的多邊形?13。
●INSIDE EDGE layer1 layer2:選擇?layer1?的邊中,完全位于?layer2?內(nèi)部的部分?13。
●OUTSIDE EDGE layer1 layer2:選擇?layer1?的邊中,完全位于?layer2?外部的部分?13。
5.連接性建立命令
連接性命令用于定義版圖中不同導(dǎo)電層之間如何形成電氣網(wǎng)絡(luò)。
直接連接
●CONNECT layer1... layerN:此命令定義指定層上鄰接或重疊的多邊形之間的電氣連接4。BY layerC?子句指定了一個(gè)相互連接層,例如用于連接?metal1?和?metal2?的通孔(via)層。
○示例?(來(lái)自?FreePDK45?7):connect metal1 metal2 by via1
○示例?(來(lái)自?14):connect met3 met2 by via2
○15提到,在?PEX GROUND LAYER(用于寄生參數(shù)提?。┲兄付ǖ膶右矐?yīng)出現(xiàn)在CONNECT?語(yǔ)句中,這表明?CONNECT?建立了基礎(chǔ)的電氣網(wǎng)絡(luò)。
CONNECT語(yǔ)句是?LVS?中網(wǎng)絡(luò)提取的基石。整個(gè)?LVS?比較的準(zhǔn)確性取決于是否正確定義了所有導(dǎo)電層和通孔如何連接在一起。LVS?比較的是網(wǎng)表,而網(wǎng)表是器件及其互連的圖形表示。CONNECT?語(yǔ)句正是告訴?Calibre?如何從幾何圖形構(gòu)建“版圖網(wǎng)表”的。如果缺少某個(gè)?CONNECT?語(yǔ)句(例如,某個(gè)通孔層的連接定義),網(wǎng)絡(luò)將被斷開(kāi),導(dǎo)致大量錯(cuò)誤的開(kāi)路(open)錯(cuò)誤。如果進(jìn)行了不正確的?CONNECT?定義,則可能導(dǎo)致錯(cuò)誤的短路(short)錯(cuò)誤。
CONNECT命令中的?BY layerC?子句對(duì)于通孔連接至關(guān)重要。它明確定義了“橋接”層。沒(méi)有它,CONNECT metal1 via1 metal2?可能意味著這三層必須同時(shí)重疊,這與通孔的典型工作方式不符。connect metal1 metal2 by via1?的例子清楚地表明了這一點(diǎn):metal1連接到?via1,via1?連接到?metal2,BY via1?使via1?成為中介。
軟連接?(Soft Connections)
軟連接通常用于處理高電阻率層(如阱或襯底)或有特殊連接需求的場(chǎng)景。
●SCONNECT upper_layer lower_layer [LINK name]
●SCONNECT upper_layer lower_layer...lower_layerN BY contact_layer [LINK name]:此命令指定從上層到下層的單向連接?4。
○示例:SCONNECT NWELL VDD_PAD BY NWCONT (N阱通過(guò)阱接觸層軟連接到?VDD?焊盤(pán)層)
軟連接檢查
●LVS SOFTCHK lower_layer {CONTACT|UPPER|LOWER} [ALL]:檢測(cè)并報(bào)告由?SCONNECT?操作產(chǎn)生的沖突連接?4。
●LVS ABORT ON SOFTCHK {YES|NO}:決定如果發(fā)現(xiàn)軟連接沖突,LVS?處理是否應(yīng)停止。默認(rèn)通常是?YES?4。
SCONNECT和LVS SOFTCHK?是處理非理想連接的專(zhuān)門(mén)工具,這些連接通常與襯底或阱的連接有關(guān),其連接路徑可能具有電阻性或特定的電流流動(dòng)假設(shè)。濫用這些命令或忽略?LVS SOFTCHK?警告可能會(huì)掩蓋真實(shí)的連接問(wèn)題或產(chǎn)生虛假的連接問(wèn)題。例如,P型襯底可能通過(guò)?SCONNECT?連接到?VSS,但如果另一個(gè)?SCONNECT?無(wú)意中將其連接到不同的電位,LVS SOFTCHK?應(yīng)該會(huì)標(biāo)記這個(gè)問(wèn)題。
6.端口定義與管理
端口(Port)是電路模塊與外部連接的接口,在?LVS?中,精確的端口定義對(duì)于頂層連接和模塊級(jí)驗(yàn)證至關(guān)重要。
端口層識(shí)別
Calibre LVS?可以通過(guò)物理圖形或文本標(biāo)簽來(lái)識(shí)別端口。
●PORT LAYER POLYGON layer1 [layerN...]:將指定層上的多邊形(物理圖形)視為端口區(qū)域4。
○示例:PORT LAYER POLYGON M_TOP PAD_SHAPE (將頂層金屬上的PAD_SHAPE?層圖形定義為端口)
●PORT LAYER TEXT layer_name [layer_name2...]:將指定層上的文本對(duì)象(標(biāo)簽)視為端口標(biāo)識(shí)4。這些文本標(biāo)簽定義了端口的名稱(chēng)和邏輯位置。
○示例?(來(lái)自?FreePDK45?7):PORT LAYER TEXT metal1 metal2 metal3 metal4 metal5 metal6 metal7 metal8 metal9 metal10
通用文本層定義
文本層不僅用于端口,也用于標(biāo)記內(nèi)部網(wǎng)絡(luò)。對(duì)于端口而言,文本標(biāo)簽必須與其對(duì)應(yīng)的導(dǎo)電層相關(guān)聯(lián)。
●TEXT LAYER layer_name [layer_name2... ]:定義包含用于標(biāo)記網(wǎng)絡(luò)和端口的文本對(duì)象的層7。ATTACH?關(guān)鍵字至關(guān)重要,它將文本標(biāo)簽與一個(gè)或多個(gè)導(dǎo)電層(layer_to_attach_to)關(guān)聯(lián)起來(lái)。
○示例?(來(lái)自?FreePDK45?7):TEXT LAYER metal1 metal2 metal3 metal4 metal5 metal6 metal7 metal8 metal9 metal10 (這里假設(shè)這些金屬層本身也承載文本,或者有單獨(dú)的文本層需要通過(guò)?ATTACH?關(guān)聯(lián))
○示例?(來(lái)自?14):TEXT LAYER 161 ATTACH 161 met1 (將層號(hào)?161?上的文本附加到?met1?層上)
○11和16討論了?TEXT LAYER?及其?ATTACH?對(duì)于文本參與連接性的重要性。如16所述:“當(dāng)一個(gè)標(biāo)簽存在于層?137?上,并且其下方有?metal1?層的多邊形時(shí),Calibre?會(huì)將此標(biāo)簽附加到該多邊形上?!?/p>
正確的端口定義對(duì)于?LVS?至關(guān)重要。端口是版圖和電路圖之間的主要對(duì)應(yīng)點(diǎn)?17。不匹配的端口通常是調(diào)試?LVS?時(shí)的首要問(wèn)題。17指出:“端口為?Calibre?提供了連接性的起點(diǎn)。首先調(diào)試任何不匹配的端口非常重要,尤其是電源/地端口。”?如果端口在名稱(chēng)、數(shù)量或位置(如果檢查位置)上不匹配,LVS?工具將無(wú)法可靠地比較連接到這些端口的內(nèi)部電路。
基于文本的端口定義(PORT LAYER TEXT, TEXT LAYER)非常普遍。ATTACH?機(jī)制(或通過(guò)?LABEL ORDER?等命令實(shí)現(xiàn)的隱式附加,盡管?ATTACH?更為明確)對(duì)于將邏輯端口名稱(chēng)(文本)鏈接到物理導(dǎo)體至關(guān)重要。未附加的標(biāo)簽是?LVS?中常見(jiàn)的警告?16。一個(gè)懸浮在空中的文本標(biāo)簽"VDD"?對(duì)?LVS?毫無(wú)意義;它必須與實(shí)際承載?VDD?網(wǎng)絡(luò)的金屬圖形相關(guān)聯(lián)。
端口處理控制
●LVS IGNORE PORTS {YES|NO}:指定?LVS?在比較過(guò)程中是否應(yīng)忽略源電路圖和版圖的端口?4。默認(rèn)值為?NO。
○示例?(來(lái)自?FreePDK45?7):LVS IGNORE PORTS no
●LVS CHECK PORT NAMES {NO|YES}:指定工具是否應(yīng)比較匹配端口的名稱(chēng)4。默認(rèn)值為?YES。
○若設(shè)為?NO,則只比較端口數(shù)量和連接,不比較名稱(chēng)。
LVS IGNORE PORTS NO?和LVS CHECK PORT NAMES YES (默認(rèn)設(shè)置)?強(qiáng)制執(zhí)行嚴(yán)格的端口匹配,這通常是穩(wěn)健驗(yàn)證所期望的。更改這些設(shè)置可能會(huì)掩蓋真實(shí)的設(shè)計(jì)錯(cuò)誤。例如,如果電路圖中的端口?"ENABLE"?對(duì)應(yīng)于版圖中的?"ENBL",LVS CHECK PORT NAMES YES?會(huì)標(biāo)記此問(wèn)題,這是一個(gè)實(shí)際存在的問(wèn)題。禁用此檢查則會(huì)隱藏該問(wèn)題。
文本深度?(用于層次化設(shè)計(jì))
●TEXT DEPTH PRIMARY | ALL | integer:控制在層次結(jié)構(gòu)中搜索或應(yīng)用文本對(duì)象的深度14。
○PRIMARY:僅在頂層單元。
○ALL:在所有層級(jí)。
○integer:指定層級(jí)深度。
○示例?(來(lái)自?14):TEXT DEPTH PRIMARY
7.器件識(shí)別與參數(shù)化
器件識(shí)別是將版圖中的幾何圖形轉(zhuǎn)換為電路元器件(如晶體管、電阻、電容等)的過(guò)程,并提取其相關(guān)參數(shù)用于?LVS?比較。
器件定義
●DEVICE Mname device_type gate_layer source_drain_layer [bulk_layer][model_name][property_assignments]:此核心命令定義了如何從版圖層識(shí)別特定類(lèi)型的器件?5。
○Mname:器件名稱(chēng)前綴?(例如,MOSFET?通常用?M)。
○device_type:器件類(lèi)型,如?N (NMOS), P (PMOS), R (電阻), C (電容), D (二極管)。
○gate_layer, source_drain_layer, bulk_layer:?之前定義的原始層或派生層,用于構(gòu)成器件。
○model_name:可選,用于指定?SPICE?模型名稱(chēng)。
○property_assignments:可選,用于直接定義或計(jì)算器件屬性。
○19明確指出:“在?Calibre LVS?中……器件識(shí)別命令以?DEVICE?語(yǔ)句開(kāi)始?!辈⑻岬搅耸褂门缮鷮樱ㄈ?g_poly = poly and active)作為?DEVICE?語(yǔ)句的輸入。
○示例?(NMOS):DEVICE MN N poly_gate_n active_n nwell NMOS W=w L=l (其中?poly_gate_n, active_n, nwell?是派生層, w?和?l?是待計(jì)算的屬性)。
DEVICE語(yǔ)句是?LVS?提取的核心,它將原始的版圖多邊形轉(zhuǎn)換為可識(shí)別的電路組件。其準(zhǔn)確性至關(guān)重要,所使用的層(例如?gate_layer, sd_layer)必須經(jīng)過(guò)精心派生。LVS?旨在比較電路圖組件與版圖組件。電路圖已經(jīng)包含組件(如?M1, R1, C1)。DEVICE?語(yǔ)句的作用就是在版圖中“找到”這些?M1, R1, C1。如果?DEVICE MN ngate ndiff nwell NMOS W=... L=...?的定義有缺陷(例如,ngate?層錯(cuò)誤),那么?NMOS?器件將無(wú)法被找到,或者其?W/L?參數(shù)將不正確,從而導(dǎo)致不匹配。
器件屬性定義與提取
●PROPERTY property_name property_type:定義要為器件提取的屬性及其類(lèi)型(如長(zhǎng)度、面積、用戶(hù)定義等)5。
○示例:PROPERTY L LENGTH,PROPERTY W LENGTH
●TRACE PROPERTY device_model_name(spice_property_name) layout_property_name [tolerance]:指示?Calibre?跟蹤(提取并比較)指定的器件屬性?20。spice_property_name?是電路圖中的屬性名,layout_property_name?是版圖中通過(guò)?DEVICE?語(yǔ)句或?LVS PARAMETER?計(jì)算得到的屬性名。
○示例:TRACE PROPERTY NMOS(W) W_LAYOUT,TRACE PROPERTY NMOS(L) L_LAYOUT
○21提到可以在?TRACE PROPERTY?中使用容差因子。
●LVS COMPONENT TYPE PROPERTY property_name_for_element:將版圖中器件的一個(gè)屬性(該屬性的值通常是?SPICE?元件類(lèi)型,如?'M', 'R', 'C')映射到?SPICE?網(wǎng)表中的元件類(lèi)型聲明?7。
○示例?(來(lái)自?FreePDK45?7):LVS COMPONENT TYPE PROPERTY element (假設(shè)器件上有一個(gè)名為?element?的屬性,其值為?'M')
●LVS COMPONENT SUBTYPE PROPERTY property_name_for_model:將版圖中器件的一個(gè)屬性(該屬性的值通常是SPICE?模型名)映射到?SPICE?網(wǎng)表中的模型名稱(chēng)?7。
○示例?(來(lái)自?FreePDK45?7):LVS COMPONENT SUBTYPE PROPERTY model (假設(shè)器件上有一個(gè)名為?model?的屬性,其值為?'NMOS_VTG')
LVS COMPONENT TYPE PROPERTY?和?LVS COMPONENT SUBTYPE PROPERTY?對(duì)于生成與源網(wǎng)表(通常是SPICE?格式)語(yǔ)法兼容的版圖網(wǎng)表至關(guān)重要。它們彌合了通用器件識(shí)別與特定網(wǎng)表約定之間的差距。例如,Calibre內(nèi)部可能將器件識(shí)別為?"mosfet_type_N"。但是?SPICE?網(wǎng)表需要?Minstance D G S B model PARAMS?這樣的格式。通過(guò)這兩個(gè)命令,可以確保提取的網(wǎng)表使用正確的?'M'?前綴和模型名稱(chēng)。
用戶(hù)自定義參數(shù)
●LVS PARAMETER param_name "value_expression":允許用戶(hù)基于其他已提取的屬性或幾何測(cè)量值,通過(guò)表達(dá)式計(jì)算器件參數(shù)?2。這為處理復(fù)雜器件特性或非標(biāo)準(zhǔn)參數(shù)計(jì)算提供了極大的靈活性,是先進(jìn)工藝或定制器件的關(guān)鍵。
○2強(qiáng)調(diào):“憑借創(chuàng)建用戶(hù)自定義參數(shù)進(jìn)行提取的能力,nmLVS?是‘面向未來(lái)的’?!?/p>
○示例:LVS PARAMETER WEFF "W - 2*delta_W_process_bias" (計(jì)算有效寬度,考慮工藝偏差)
屬性映射
●LVS PROPERTY MAP property_name layout_property_name source_property_name:當(dāng)版圖屬性和源網(wǎng)表屬性名稱(chēng)不同但意義相同時(shí),用于映射它們?4。
○示例:LVS PROPERTY MAP L L_drawn L_schematic
表?2:?常用?LVS?器件識(shí)別與屬性命令
命令 | 目的 | 關(guān)鍵參數(shù)/語(yǔ)法片段 | 示例用法?(概念性) | 主要參考 |
DEVICE | 從版圖層識(shí)別器件。 | DEVICE ? M_prefix type gate_lay sd_lay [bulk_lay][model][prop=val...] | DEVICE ? MN N poly_g active_d n_well NMOS W=w L=l | 4 |
PROPERTY | 定義器件屬性及其類(lèi)型。 | PROPERTY ? prop_name type | PROPERTY ? W LENGTH,PROPERTY R RESISTANCE | 4 |
LVS ? COMPONENT TYPE PROPERTY | 將器件的某個(gè)屬性值映射為?SPICE?元件類(lèi)型?(如?M, ? R, C)。 | LVS ? COMPONENT TYPE PROPERTY prop_element_type | LVS ? COMPONENT TYPE PROPERTY element (其中?element?屬性值為?"M") | 7 |
LVS ? COMPONENT SUBTYPE PROPERTY | 將器件的某個(gè)屬性值映射為?SPICE?模型名稱(chēng)。 | LVS ? COMPONENT SUBTYPE PROPERTY prop_model_name | LVS ? COMPONENT SUBTYPE PROPERTY model (其中?model?屬性值為?"nmos_ll") | 7 |
LVS ? PARAMETER | 計(jì)算用戶(hù)定義的器件參數(shù)。 | LVS ? PARAMETER new_param "expression" | LVS ? PARAMETER AREA "W * L" | 2 |
TRACE ? PROPERTY | 指示?LVS?比較特定的器件屬性。 | TRACE ? PROPERTY model_name(spice_prop) layout_prop [tol] | TRACE ? PROPERTY NMOS(W) W_ext | 20 |
8. LVS?比較與匹配控制
這些命令用于控制?LVS?在比較版圖提取網(wǎng)表和源網(wǎng)表時(shí)的行為,例如處理大小寫(xiě)、簡(jiǎn)化器件、識(shí)別邏輯門(mén)等。
比較時(shí)的大小寫(xiě)敏感性
●LVS COMPARE CASE {YES|NO}:控制在比較階段對(duì)器件名稱(chēng)、類(lèi)型、子類(lèi)型和屬性值的大小寫(xiě)敏感性4。
○YES (默認(rèn)):區(qū)分大小寫(xiě)。
○NAMES:只對(duì)名稱(chēng)區(qū)分大小寫(xiě)。
○示例?(來(lái)自?9):LVS COMPARE CASE NAMES
器件簡(jiǎn)化?(Reduction)
這些命令通過(guò)將多個(gè)簡(jiǎn)單器件組合成一個(gè)等效器件來(lái)簡(jiǎn)化比較過(guò)程,這對(duì)于包含大量串并聯(lián)器件的電路(常見(jiàn)于功率級(jí)或定制模擬電路)可以顯著提高?LVS?運(yùn)行速度并使報(bào)告更清晰。然而,如果單元器件之一存在故障,簡(jiǎn)化可能會(huì)掩蓋確切的位置。
●LVS REDUCE PARALLEL MOS {YES|NO}:合并并聯(lián)的?MOS?晶體管?4。
○示例?(來(lái)自?FreePDK45?7):LVS REDUCE PARALLEL MOS yes
●LVS REDUCE SERIES MOS {YES|NO}:合并串聯(lián)的?MOS?晶體管?4。
○示例?(來(lái)自?FreePDK45?7):LVS REDUCE SERIES MOS yes
●LVS REDUCE SEMI SERIES MOS {YES|NO}:合并半串聯(lián)(semi-series)連接的?MOS?晶體管?4。
○示例?(來(lái)自?FreePDK45?7):LVS REDUCE SEMI SERIES MOS yes
●類(lèi)似的?LVS REDUCE?命令也存在于電阻和電容。
邏輯門(mén)識(shí)別
●LVS RECOGNIZE GATES {ALL|NONE|schematic_driven_option}:使能從晶體管配置中識(shí)別邏輯門(mén)(如與門(mén)、或門(mén)等)4。
○ALL:嘗試識(shí)別所有可能的邏輯門(mén)。
○NONE:禁止邏輯門(mén)識(shí)別。
○示例?(來(lái)自?FreePDK45?7):LVS RECOGNIZE GATES all
○LVS RECOGNIZE GATES ALL?對(duì)于數(shù)字模塊可能非常有效,但如果在模擬或混合信號(hào)設(shè)計(jì)中不通過(guò)?HCELL?或?LVS BOX?仔細(xì)管理,可能會(huì)引入復(fù)雜性或意外行為,因?yàn)樗淖兞吮容^的“抽象級(jí)別”。如果?LVS?將版圖和電路圖都識(shí)別為一個(gè)與非門(mén),它會(huì)將它們作為與非門(mén)進(jìn)行比較,這很高效。但是,如果電路圖設(shè)計(jì)了一個(gè)定制的晶體管級(jí)結(jié)構(gòu),而這個(gè)結(jié)構(gòu)恰好看起來(lái)像一個(gè)與非門(mén),那么?LVS RECOGNIZE GATES?可能會(huì)執(zhí)行門(mén)級(jí)匹配,除非同時(shí)也仔細(xì)比較屬性,否則可能會(huì)忽略細(xì)微的晶體管級(jí)差異。
過(guò)濾未使用器件
●LVS FILTER UNUSED OPTION option:控制如何處理和報(bào)告未使用的器件(即,存在于一個(gè)網(wǎng)表中但不在另一個(gè)網(wǎng)表中,或未連接的器件)4。
○示例?(來(lái)自?FreePDK45?7):LVS FILTER UNUSED MOS no (此處的?MOS no?可能是特定于該規(guī)則文件的簡(jiǎn)化寫(xiě)法,標(biāo)準(zhǔn)SVRF中?LVS FILTER UNUSED OPTION?后跟如?NOFILTER?等選項(xiàng),或者使用?LVS FILTER device_type...格式)。
●LVS FILTER device_type [(subtype)][property_name [(spice_value)][filter_constraint]] {SHORT | OPEN}:更細(xì)致地過(guò)濾特定類(lèi)型和屬性的器件?20。
○示例?(來(lái)自?20):LVS FILTER mp w > 3 < 5 OPEN LAYOUT MASK (過(guò)濾版圖中?w?屬性值在?3?和?5?之間的?mp?型器件,使其連接的網(wǎng)斷開(kāi))
○LVS FILTER UNUSED OPTION?對(duì)于管理由未完成設(shè)計(jì)、包含未使用內(nèi)部組件的?IP?模塊或有意差異(例如,僅用于版圖的測(cè)試結(jié)構(gòu))引起的差異至關(guān)重要。過(guò)濾的選擇(以及是從源、版圖還是兩者都過(guò)濾)直接影響哪些內(nèi)容被視為“錯(cuò)誤”。
器件映射
●LVS MAP DEVICE layout_device_name source_device_name [layout_subtype source_subtype]:當(dāng)版圖和源網(wǎng)表中的器件類(lèi)型或模型名稱(chēng)不同但功能等效時(shí),用于映射它們4。
○示例:LVS MAP DEVICE RESISTOR_LAYOUT R_SCHEMATIC
種子點(diǎn)比較?(Seed Comparison)
●LVS COMPARE SEED [options]:可能用于通過(guò)識(shí)別除端口之外的初始匹配點(diǎn)來(lái)指導(dǎo)比較過(guò)程4。此命令的詳細(xì)用法在提供的材料中信息較少。
網(wǎng)絡(luò)合并?(Net Joining)
●LVS JOIN NETS layout_net_name source_net_name:在比較之前合并版圖或源網(wǎng)表中指定的邏輯上等效但名稱(chēng)不同的網(wǎng)絡(luò)4。此命令的詳細(xì)用法在提供的材料中信息較少。
9. LVS?報(bào)告與輸出控制
這些命令用于配置?LVS?報(bào)告的內(nèi)容、詳細(xì)程度以及?SVDB (Standard Verification Database)?的生成,SVDB?對(duì)于使用?RVE (Results Viewing Environment)?進(jìn)行圖形化調(diào)試至關(guān)重要。
LVS報(bào)告內(nèi)容控制
●LVS REPORT OPTION option_char1 [option_char2...]:控制?LVS?報(bào)告的詳細(xì)程度和內(nèi)容?4。
○S:報(bào)告?SCONNECT(軟連接)沖突。
○V:報(bào)告虛擬連接。
○F或FX:包含修復(fù)建議?(Fix Suggestions)?10。
○N:(來(lái)自?FreePDK45?示例?7)?可能控制網(wǎng)表/名稱(chēng)報(bào)告的細(xì)節(jié),具體含義需查閱?SVRF?手冊(cè)。
○其他選項(xiàng)可能控制屬性錯(cuò)誤、未匹配引腳等的報(bào)告。
○LVS REPORT OPTION?是一個(gè)強(qiáng)大的工具,可以根據(jù)驗(yàn)證階段或正在調(diào)試的錯(cuò)誤類(lèi)型定制?LVS?報(bào)告。使用?FX?可以顯著幫助新手用戶(hù)或加快常見(jiàn)錯(cuò)誤的修復(fù)速度。
表?3:?常用?LVS REPORT OPTION?標(biāo)志
選項(xiàng)標(biāo)志 | 描述 |
A | 報(bào)告所有不匹配的屬性?(All property errors)。 |
B | 報(bào)告所有黑盒單元?(Black boxed cells)。 |
E | 報(bào)告提取錯(cuò)誤?(Extraction errors)。 |
F ?或?FX | 包含修復(fù)建議?(Fix suggestions)。 |
I | 報(bào)告被忽略的實(shí)例?(Ignored instances)。 |
N | 控制網(wǎng)絡(luò)名稱(chēng)和編號(hào)的報(bào)告方式?(Net name/number reporting)。 |
P | 報(bào)告被過(guò)濾的端口?(Filtered ports)。 |
S | 報(bào)告軟連接沖突?(Soft connect conflicts)。 |
U | 報(bào)告未使用的器件/網(wǎng)絡(luò)?(Unused devices/nets)。 |
V | 報(bào)告虛擬連接?(Virtual connections)。 |
X | 報(bào)告交叉引用信息?(Cross-reference information)。 |
注意:?上述列表并非詳盡無(wú)遺,具體選項(xiàng)及其行為請(qǐng)參考最新的?Calibre SVRF?手冊(cè)。
報(bào)告中各部分的最大條目數(shù)
●LVS REPORT MAXIMUM {number | ALL}:設(shè)置?LVS?報(bào)告中每個(gè)部分列出的差異(例如,不匹配的網(wǎng)絡(luò)、器件)的最大數(shù)量?4。ALL?表示列出所有。
○示例?(來(lái)自?FreePDK45?7):LVS REPORT MAXIMUM 50
○LVS REPORT MAXIMUM?對(duì)于管理包含大量錯(cuò)誤的超大型設(shè)計(jì)的報(bào)告大小至關(guān)重要。設(shè)置過(guò)低可能會(huì)隱藏問(wèn)題的全部范圍,而?ALL?則可能生成巨大的報(bào)告。
MASK SVDB DIRECTORY (輸出上下文重申)
●MASK SVDB DIRECTORY "directory_path" [options]:如核心規(guī)范聲明部分所述,此命令還規(guī)定了為RVE?查看和其他工具存儲(chǔ)哪些?LVS?數(shù)據(jù)?4。
○QUERY:生成?RVE?調(diào)試所需的數(shù)據(jù)。
○IXF:生成實(shí)例交叉引用文件。
○NXF:生成網(wǎng)絡(luò)交叉引用文件。
○PINLOC:生成引腳位置信息。
○這些選項(xiàng)對(duì)于全面的調(diào)試和數(shù)據(jù)傳遞至關(guān)重要。
10.層次化?LVS?命令
層次化?LVS?是處理大型和復(fù)雜設(shè)計(jì)的關(guān)鍵技術(shù),它通過(guò)在設(shè)計(jì)的不同層級(jí)進(jìn)行比較來(lái)提高性能和簡(jiǎn)化調(diào)試。
層次化單元對(duì)應(yīng)
●HCELL layout_cell_name source_cell_name:指定版圖單元?layout_cell_name?對(duì)應(yīng)于源電路圖單元?source_cell_name,并且應(yīng)作為一個(gè)獨(dú)立的模塊進(jìn)行比較6。
○HCELL命令可以寫(xiě)在主規(guī)則文件中,也可以寫(xiě)在一個(gè)單獨(dú)的?HCELL?文件中,并通過(guò)?calibre?命令的?-hcell?選項(xiàng)在運(yùn)行時(shí)指定?25。
○B(yǎng)Y NAME?選項(xiàng)指示?LVS?僅通過(guò)名稱(chēng)匹配單元,而不考慮其內(nèi)部結(jié)構(gòu)是否完全相同,這在某些情況下用于強(qiáng)制對(duì)應(yīng)。
○24深入探討了?Hcell?列表對(duì)于平衡?LVS?性能和可調(diào)試性的重要性,以及?Calibre Interactive?中自動(dòng)生成?Hcell?的功能。
黑盒/灰盒處理單元?(Black Boxing / Gray Boxing)
●LVS BOX layout_cell_name [source_cell_name]:將?layout_cell_name?的內(nèi)部?jī)?nèi)容從比較中排除,僅檢查其邊界連接或進(jìn)行有限的內(nèi)部檢查?17。
○B(yǎng)LACK:完全忽略?xún)?nèi)部結(jié)構(gòu),僅檢查到盒子的引腳連接性。常用于已驗(yàn)證的?IP?核或模擬宏模塊。
○GRAY:允許一定程度的屬性檢查或引腳信息傳遞,但仍不比較內(nèi)部電路。
○CELL:將單元視為一個(gè)基本器件,用于比較。
○CUT:在比較中剪切掉此單元。
○如果省略?source_cell_name,則假定其與?layout_cell_name?相同。
○26提到較新版本的?Calibre?可能支持在?LVS BOX?的單元名中使用通配符,如?LVS Box BLACK mycell*。
LVS BOX?端口定義?(用于黑盒單元)
●LVS BOX PORT original_port_layer text_layer interconnect_layer [options]:定義如何在黑盒單元上識(shí)別端口,將text_layer?上的文本標(biāo)簽鏈接到構(gòu)成?original_port_layer?的物理?interconnect_layer?圖形?18。對(duì)于黑盒化的單元,尤其是?BLACK?盒子,LVS BOX PORT?語(yǔ)句是?LVS?理解如何連接到盒子引腳的唯一途徑。
○示例:LVS BOX PORT M2_PIN M2_TEXT M2_CONNECT (概念性示例)
LVS BOX?范圍/窺探?(微調(diào)盒子行為)
●LVS BOX CUT EXTENT {YES|NO}:控制連接是在黑盒單元的邊界處被切斷,還是允許稍微延伸18。
●LVS BOX PEEK LAYER layer_name...:允許?LVS“窺探”黑盒單元內(nèi)部指定的層,例如用于電源/地連接?18。
器件下推?(Device Pushing)
●LVS PUSH DEVICES {YES | NO | SEPARATE PROPERTIES YES |...}:控制器件是“下推”到其定義幾何形狀所在的單元中,還是“上拉”到其例化所在的層級(jí)?4。
○YES (默認(rèn)):將器件下推到其幾何圖形所在的最低層級(jí)單元。
○NO:將器件保留在其實(shí)例化發(fā)生的層級(jí)。這可以簡(jiǎn)化?LVS?看到的層次結(jié)構(gòu),但可能需要?LVS EXPAND SEED NAMES?等命令來(lái)輔助匹配。
○SEPARATE PROPERTIES YES:影響屬性的處理方式,可能生成單獨(dú)的屬性文件27。
○此命令顯著影響層次化?LVS?的行為以及?HCELL?的處理方式。如果一個(gè)單元?MY_CELL?包含晶體管,并且設(shè)置了?LVS PUSH DEVICES NO,那么在?LVS?比較期間,這些晶體管可能被視為?MY_CELL?父級(jí)的一部分。如果?MY_CELL?也在?HCELL?列表中,LVS?期望比較版圖?MY_CELL?與電路圖?MY_CELL。如果電路圖?MY_CELL?包含晶體管,但由于器件被上推,版圖?MY_CELL?的?LVS?視圖為空,這將導(dǎo)致不匹配。
有效的層次化?LVS?是一個(gè)權(quán)衡過(guò)程。HCELL?保留部分層次結(jié)構(gòu)以進(jìn)行詳細(xì)匹配,而?LVS BOX?則抽象掉其他部分(如供應(yīng)商?IP?或尚未完成?LVS?清理的模擬模塊)。LVS PUSH DEVICES?從根本上改變了器件與層次級(jí)別的關(guān)聯(lián)方式,從而影響?HCELL?和?LVS BOX?策略。
表?4:?層次化?LVS?命令摘要
命令 | 在層次化?LVS?中的目的 | 關(guān)鍵選項(xiàng)/注意事項(xiàng) | 主要參考 |
HCELL ? layout_cell source_cell | 定義版圖和電路圖之間對(duì)應(yīng)的層次化單元,作為一個(gè)整體進(jìn)行比較。 | BY ? NAME?選項(xiàng)??捎糜谥饕?guī)則文件或單獨(dú)的?HCELL?文件。對(duì)性能與調(diào)試的平衡至關(guān)重要。 | 6 |
LVS ? BOX cell_name [source_cell] | 從比較中排除指定單元的內(nèi)部?jī)?nèi)容,或以特定方式處理。 | BLACK ? (僅檢查引腳連接), GRAY (有限檢查), CELL (視為基本器件)。通配符可能支持。 | 17 |
LVS ? BOX PORT orig_port_lay text_lay interconnect_lay [options] | 為?LVS BOX?定義的黑盒單元指定端口識(shí)別方式。 | 對(duì)黑盒單元的外部連接至關(guān)重要。必須正確指定文本層、連接層和原始端口層。 | 18 |
`LVS ? PUSH DEVICES {YES | NO | SEPARATE ? PROPERTIES YES | ...}` |
11.特定?LVS?驗(yàn)證命令
除了通用的?LVS?控制命令外,還有一些針對(duì)特定驗(yàn)證任務(wù)的命令。
A.電源與地網(wǎng)絡(luò)驗(yàn)證
正確識(shí)別和驗(yàn)證電源?(Power)?和地?(Ground)?網(wǎng)絡(luò)對(duì)于確保電路的正常工作至關(guān)重要。
●LVS POWER NAME "name1" ["name2"...]:聲明全局電源網(wǎng)絡(luò)名稱(chēng)?4。LVS?會(huì)對(duì)這些網(wǎng)絡(luò)進(jìn)行特殊處理。
○示例?(來(lái)自?FreePDK45?7):LVS POWER NAME VDD
●LVS GROUND NAME "name1" ["name2"...]:聲明全局地網(wǎng)絡(luò)名稱(chēng)?4。
○示例?(來(lái)自?FreePDK45?7):LVS GROUND NAME VSS GROUND (注意:示例中的?GROUND?是?VSS?之外的另一個(gè)地網(wǎng)絡(luò)名稱(chēng))
○LVS POWER NAME?和LVS GROUND NAME?不僅僅是信息性的;它們?cè)试S?LVS?對(duì)這些關(guān)鍵網(wǎng)絡(luò)應(yīng)用特殊檢查和處理,例如確保它們是分開(kāi)的并且正確分布。它們還有助于正確識(shí)別器件終端(例如,MOS?的體連接)。
●LVS ISOLATE SHORTS {YES|NO}]:識(shí)別并幫助定位短路,尤其適用于電源/地短路?4。
○推薦設(shè)置?(來(lái)自?10):LVS Isolate Shorts YES BY CELL BY LAYER CELL ALL
○此命令通過(guò)報(bào)告相同網(wǎng)絡(luò)上文本之間的最短路徑(按層和單元分解)來(lái)精確定位短路的物理位置,而不僅僅是簡(jiǎn)單地檢測(cè)短路。輸出通常是一個(gè)可在?RVE?中查看的數(shù)據(jù)庫(kù),從而顯著加快短路調(diào)試速度?17。
●LVS ISOLATE PORT port_name [net_name]:可能用于隔離連接到特定端口的網(wǎng)絡(luò)以進(jìn)行調(diào)試4。具體用法和選項(xiàng)在所提供的材料中信息較少。
B.天線效應(yīng)檢查?(LVS?上下文)
天線效應(yīng)是由于工藝過(guò)程(如等離子刻蝕)中導(dǎo)體連接到柵極時(shí)電荷積累導(dǎo)致的柵氧化層損傷。保護(hù)二極管可以泄放這些電荷。LVS?需要驗(yàn)證這些二極管的存在和正確連接。
●NET AREA RATIO conductor_layer gate_layer ratio_value_without_diode [options]:該命令主要用于?DRC,檢查天線規(guī)則,通過(guò)計(jì)算連接到柵極層的導(dǎo)體層(天線)面積與柵極本身面積的比率5。
○DIODE diode_protection_layer ratio_value_with_diode?選項(xiàng)至關(guān)重要:它允許指定保護(hù)二極管層,并在存在連接到柵極的二極管時(shí)應(yīng)用一個(gè)(通常更大的)允許比率值。
○雖然這是一個(gè)?DRC?類(lèi)型的檢查,但它經(jīng)常包含在?LVS?規(guī)則文件中或與?LVS?一同運(yùn)行,因?yàn)樘炀€保護(hù)二極管是?LVS?必須識(shí)別和正確連接的器件。
○NET AREA RATIO... DIODE...?的有效性首先依賴(lài)于?LVS?正確識(shí)別和連接保護(hù)二極管。如果?LVS?未能識(shí)別二極管,即使物理上存在二極管,天線檢查也可能失敗(或者如果規(guī)則結(jié)構(gòu)允許,則使用更嚴(yán)格的無(wú)二極管比率)。
○示例?(概念性,強(qiáng)調(diào)?DIODE?用法):?ANTENNA_CHECK { NET AREA RATIO METAL1 POLY_GATE DIODE NDIFF_DIODE 400 200 > 0 } (如果?METAL1?連接到POLY_GATE,且?POLY_GATE?連接到一個(gè)位于NDIFF_DIODE?層的二極管,則面積比允許達(dá)到?400;否則,允許比率為?200。)
○注意:關(guān)于?NET AREA RATIO?及其?DIODE?參數(shù)用于天線檢查的完整?SVRF?語(yǔ)法和所有選項(xiàng),在提供的摘要信息中并不全面,通常需要參考?Calibre?驗(yàn)證用戶(hù)手冊(cè)。
12.高級(jí)及其他?LVS?命令
這些命令提供了更細(xì)致的?LVS?控制或用于特定場(chǎng)景。
對(duì)應(yīng)點(diǎn)?(手動(dòng)種子點(diǎn))
●LVS CPOINT layout_net_name source_net_name:通過(guò)名稱(chēng)手動(dòng)指定版圖網(wǎng)絡(luò)和源網(wǎng)絡(luò)之間的對(duì)應(yīng)關(guān)系4。這可以在模糊的情況下幫助引導(dǎo)?LVS,但應(yīng)謹(jǐn)慎使用,因?yàn)樗赡苎谏w了阻止自動(dòng)對(duì)應(yīng)的根本問(wèn)題(如端口定義錯(cuò)誤、連接斷開(kāi)或器件識(shí)別問(wèn)題)。
名稱(chēng)大小寫(xiě)保留?(超越初始讀取階段)
●LAYOUT PRESERVE CASE {YES|NO}:如果為?NO (默認(rèn)),則在網(wǎng)表提取過(guò)程中,僅大小寫(xiě)不同的版圖網(wǎng)絡(luò)名稱(chēng)被視為相同。如果為?YES,則它們被視為不同?4。此命令與?LAYOUT CASE?和?LVS COMPARE CASE?相互作用。
●SOURCE PRESERVE CASE {YES|NO}:對(duì)源網(wǎng)表名稱(chēng)類(lèi)似處理?(雖然未在?4中明確列出,但邏輯上應(yīng)存在對(duì)應(yīng)命令)。
●各種?CASE?控制命令(LAYOUT CASE, SOURCE CASE, LVS COMPARE CASE, LAYOUT PRESERVE CASE?等)共同提供了對(duì)?LVS?不同階段如何處理大小寫(xiě)敏感性的細(xì)粒度控制。PDK?或設(shè)計(jì)團(tuán)隊(duì)定義的一致策略對(duì)于避免不匹配至關(guān)重要。
ERC路徑檢查?(若在?LVS?上下文中運(yùn)行)
●ERC PATHCHK path_type layer_name...:電氣規(guī)則檢查(ERC),例如檢查懸空阱或柵極,有時(shí)可以作為?LVS?運(yùn)行的一部分,特別是當(dāng)它們依賴(lài)于已提取的連接性時(shí)10。ERC PATHCHK?是一個(gè)常見(jiàn)的?ERC?命令。
○10提到?ERC?結(jié)果可以顯示在?LVS RVE?中,這表明?ERC?檢查可以與?LVS?運(yùn)行集成。
標(biāo)題聲明
●TITLE "string":為?LVS?報(bào)告和運(yùn)行輸出添加標(biāo)題?7。
○示例?(來(lái)自?FreePDK45?7):TITLE "LVS Rule File for FreePDK45"
工程變更指令?(ECO)?流程的啟示
雖然沒(méi)有直接的?LVS ECO?命令,但?32和33討論了工程變更指令?(ECO)?流程。LVS?在?ECO?中對(duì)于驗(yàn)證增量更改至關(guān)重要。現(xiàn)有的?LVS?規(guī)則命令將被使用,但?LVS?策略可能涉及諸如對(duì)設(shè)計(jì)中未更改部分使用?LVS BOX?等技術(shù),以加快?ECO?驗(yàn)證運(yùn)行速度。ECO?通常只修改大型設(shè)計(jì)的一小部分。重新運(yùn)行全芯片?LVS?可能非常耗時(shí)。常見(jiàn)的?ECO LVS?策略是對(duì)成熟的、未更改的模塊進(jìn)行黑盒處理(LVS BOX),并僅對(duì)修改部分及其接口運(yùn)行?LVS。這需要穩(wěn)健的?LVS BOX PORT?定義和對(duì)頂層網(wǎng)表的仔細(xì)管理。
13.總結(jié)與最佳實(shí)踐
SVRF命令是定義精確高效的?Calibre LVS?驗(yàn)證流程的基石。深刻理解核心概念——包括層定義、連接性建立、器件識(shí)別、端口定義和層次化管理——對(duì)于成功進(jìn)行?LVS?至關(guān)重要。
推薦的最佳實(shí)踐包括:
●基于Foundry規(guī)則:始終以Foundry提供的規(guī)則集為起點(diǎn),在充分理解其內(nèi)容后再進(jìn)行修改或擴(kuò)展。
●模塊化設(shè)計(jì):利用?INCLUDE?語(yǔ)句實(shí)現(xiàn)規(guī)則文件的模塊化,便于維護(hù)和復(fù)用。
●精確的層定義:特別注意用于器件識(shí)別的層的定義和派生邏輯的準(zhǔn)確性。
●可靠的連接性:確保所有?CONNECT?語(yǔ)句的正確性,尤其是通孔連接中的?BY?子句。
●細(xì)致的端口處理:使用?PORT LAYER TEXT?和?TEXT LAYER ATTACH (或其他有效附加機(jī)制)?精心定義所有端口。
●策略性層次化:對(duì)于復(fù)雜設(shè)計(jì),策略性地使用?HCELL?和?LVS BOX?來(lái)平衡驗(yàn)證范圍、性能和可調(diào)試性。
●高效調(diào)試:利用?LVS REPORT OPTION?定制報(bào)告內(nèi)容,并充分使用?Calibre RVE?進(jìn)行圖形化調(diào)試。
●一致的大小寫(xiě)處理:在整個(gè)規(guī)則文件和相關(guān)輸入(版圖、電路圖)中保持大小寫(xiě)處理的一致性。
●參考官方文檔:對(duì)于權(quán)威的語(yǔ)法細(xì)節(jié)和高級(jí)選項(xiàng),務(wù)必參考最新的?Calibre SVRF?用戶(hù)手冊(cè)和相關(guān)文檔,因?yàn)榧夹g(shù)和命令集會(huì)不斷發(fā)展?34。
一個(gè)結(jié)構(gòu)良好、注釋清晰的?LVS?規(guī)則文件不僅是一段代碼,更是一份關(guān)鍵的設(shè)計(jì)文檔,它記錄了特定工藝的電氣規(guī)則以及設(shè)計(jì)者關(guān)于版圖如何映射到電路圖的意圖。隨著開(kāi)源?PDK(如?7等所示例)的興起,越來(lái)越多的?LVS?規(guī)則文件(或其他工具的等效文件)變得公開(kāi)可用。這些文件是有價(jià)值的學(xué)習(xí)資源,同時(shí)也凸顯了對(duì)其所使用的?SVRF?命令進(jìn)行標(biāo)準(zhǔn)化和清晰文檔化的需求。理解本報(bào)告中討論的標(biāo)準(zhǔn)?SVRF?命令,將有助于用戶(hù)更好地解讀、調(diào)整和調(diào)試這些開(kāi)源規(guī)則文件,或在不同?PDK?之間遷移設(shè)計(jì)。
通過(guò)遵循這些實(shí)踐并深入理解?SVRF?命令的功能,設(shè)計(jì)和驗(yàn)證工程師可以更有效地確保其?IC?設(shè)計(jì)的物理實(shí)現(xiàn)與邏輯意圖的一致性,從而提高首次成功的幾率并加速產(chǎn)品上市時(shí)間。
引用的著作
1.What is Layout Versus Schematic Checking (LVS)? - Synopsys,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.synopsys.com/glossary/what-is-layout-versus-schematic-checking.html
2.Calibre nmLVS - EDA Solutions,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.eda-solutions.com/app/uploads/2021/02/82860_Siemens-SW-Calibre-nmLVS-FS-82860-F-fs.pdf
3.Design rule checking - Wikipedia,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://en.wikipedia.org/wiki/Design_rule_checking
4.Calibre Rule Writing PDF | PDF | Reserved Word | Parameter (Computer Programming) - Scribd,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.scribd.com/document/457133871/Calibre-Rule-Writing-pdf
5.Calibre Writing DRC/LVS Rules - Siemens Xcelerator Academy: On-Demand Training,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://training.plm.automation.siemens.com/mytraining/viewlibrary.cfm?memTypeID=288311&memID=288311
6.Review of Calibre deck files - INFN Torino Wiki,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://wiki.to.infn.it/vlsi/workbook/verification/calibre/files
7.calibre-lvs.rule - mflowgen/freepdk-45nm - GitHub,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://github.com/mflowgen/freepdk-45nm/blob/master/calibre-lvs.rule
8.How do I run Calibre LVS on an entire library? - SIEMENS Community,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://community.sw.siemens.com/s/question/0D54O000070D2TYSA0/how-do-i-run-calibre-lvs-on-an-entire-library
9.Jinhua Wang 1. LVS is used to check if the layout connection is correct, compared to the schemat,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.mics.ece.vt.edu/content/dam/mics_ece_vt_edu/ICDesign/Tutorials/tsmc180/n07_Layout%20Versus%20Schematic.pdf
10.?Calibre RVE for LVS Quick Reference 2010. - Scribd,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.scribd.com/document/328491995/LVS-Quick-Reference
11.?Need an example of how to use LAYOUT TEXT. I tried LAYOUT TEXT div_bus3 98.787000 0.056000 19.20 It seems to be not taking . in layer number - SIEMENS Community,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://community.sw.siemens.com/s/question/0D54O00006uSXZPSA4/need-an-example-of-how-to-use-layout-text-i-tried-layout-text-divbus3-98787000-0056000-1920-it-seems-to-be-not-taking-in-layer-number
12.?Calibre nmDRC - InnoFour,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.innofour.com/static/default/files/documents/pdf/Siemens-SW-Calibre-nmDRC-FS.pdf
13.?DRC Verification by Calibre :??? ???,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://blog.naver.com/beahey/90087958178?viewType=pc
14.?Extracting a net with Mentor Calibre ? | CAD Forums,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.thecadforums.com/threads/extracting-a-net-with-mentor-calibre.36699/
15.?How to Make Calibre PEX Recognize your Ground Layers - Siemens Support Center,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://support.sw.siemens.com/en-US/okba/MG616849/How-to-Make-Calibre-PEX-Recognize-Your-Ground-Layers/media/51d90699-a755-4bb2-93c0-5962aec443b1.pdf
16.?calibre lvs warnings with unattached label | Forum for Electronics - EDABoard,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.edaboard.com/threads/calibre-lvs-warnings-with-unattached-label.182617/
17.?www.ijraset.com,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.ijraset.com/fileserve.php?FID=25120
18.?LVS BLACK BOX PORT - SIEMENS Community,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://community.sw.siemens.com/s/question/0D54O00006eo5gISAQ/lvs-black-box-port
19.?MOSFET as black box in LVS - Forum for Electronics,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.edaboard.com/threads/mosfet-as-black-box-in-lvs.397406/
20.?Calibre nmLVS: Filter elements from layout or source - EDA Solutions,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.eda-solutions.com/tn061/
21.?About the Calibre LVS | Forum for Electronics,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.edaboard.com/threads/about-the-calibre-lvs.137711/
22.?www.southampton.ac.uk,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.southampton.ac.uk/~bim/notes/cad/reference/pdf/ledit.pdf
23.?Chenyuan Zhao 1. In this tutorial, the layout versus schematic (LVS) checking process would be i,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.mics.ece.vt.edu/content/dam/mics_ece_vt_edu/ICDesign/Tutorials/tsmc180/08_Layout%20Versus%20Schematic.pdf
24.?Balancing performance vs. debuggability in LVS circuit verification ...,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://blogs.sw.siemens.com/calibre/2024/04/23/balancing-performance-vs-debuggability-in-lvs-circuit-verification/
25.?LVS Best - Practice - and - Debugging | PDF - Scribd,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.scribd.com/document/783014975/LVS-Best-Practice-and-Debugging
26.?LVS Black Box with PCell - SIEMENS Community,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://community.sw.siemens.com/s/question/0D54O00006eo5cPSAQ/lvs-black-box-with-pcell
27.?How to fix *WARNING* The number of errors was detected in Extract Tab: 1 in Calibre QRC run. - Custom IC Design - Cadence Technology Forums,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/41265/how-to-fix-warning-the-number-of-errors-was-detected-in-extract-tab-1-in-calibre-qrc-run/1359356
28.?"NO LVS PUSH DEVICES" warning? - Mentor Graphics Communities,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://mentor889.rssing.com/chan-26396768/all_p44.html
29.?Calbr Query User | PDF - Scribd,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://ru.scribd.com/document/690835824/Calbr-Query-User
30.?calibre SVRF command for cell fill. - SIEMENS Community,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://community.sw.siemens.com/s/question/0D5Vb00000Z22xzKAB/calibre-svrf-command-for-cell-fill
31.?Calibre DRC how to get connected metals - SIEMENS Community,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://community.sw.siemens.com/s/question/0D54O00006wEVnXSAW/calibre-drc-how-to-get-connected-metals
32.?7. Using the ECO Compilation Flow - Intel,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.intel.com/content/www/us/en/docs/programmable/683641/25-1/using-the-eco-compilation-flow.html
33.?How to remove fill shapes after a design ECO using Calibre DESIGNrev - YouTube,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.youtube.com/watch?v=WMB7L9ykmzg
34.?Calibre Svrf Guide,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://www.api.motion.ac.in/fill-and-sign-pdf-form/uploaded-files/_pdfs/calibre_svrf_guide.pdf
35.?Predictive PDK (ASAP) – ASU Engineering,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://asap.asu.edu/
36.?skywater-pdk/docs/rules/periphery/periphery.csv at main - GitHub,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://github.com/google/skywater-pdk/blob/main/docs/rules/periphery/periphery.csv
37.?IHP-GmbH/IHP-Open-PDK: 130nm BiCMOS Open Source PDK, dedicated for Analog, Mixed Signal and RF Design - GitHub,?訪問(wèn)時(shí)間為 五月?9, 2025,?https://github.com/IHP-GmbH/IHP-Open-PDK