適應(yīng)非曼哈頓形體的隨機(jī)行走電容參數(shù)提取方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及VLSI(VeryLargeScaleIntegratedcircuits,超大規(guī)模集成電路) 物理設(shè)計(jì)領(lǐng)域,特別是關(guān)于集成電路互連電容參數(shù)的提取。
【背景技術(shù)】
[0002] 集成電路的設(shè)計(jì)流程中首先要提出功能描述,然后經(jīng)過邏輯設(shè)計(jì)、版圖設(shè)計(jì)得到 描述半導(dǎo)體工藝尺寸、結(jié)構(gòu)的版圖,最后進(jìn)行版圖驗(yàn)證,即通過計(jì)算機(jī)軟件模擬來驗(yàn)證上述 設(shè)計(jì)是否滿足要求。若滿足要求,則進(jìn)行下一步的生產(chǎn)制造。否則,若不滿足要求,則返回邏 輯設(shè)計(jì)、版圖設(shè)計(jì)進(jìn)行必要的修正。在版圖驗(yàn)證中,一個(gè)重要的環(huán)節(jié)是互連寄生參數(shù)提取。
[0003] 隨著集成電路制造技術(shù)的發(fā)展,電路規(guī)模不斷增大、特征尺寸不斷縮小,當(dāng)今很多 芯片已含有一千萬乃至更多個(gè)器件。然而,集成電路中互連線的寄生效應(yīng)造成互連線對(duì)電 路延時(shí)的影響已超過了器件對(duì)電路延時(shí)的影響。因此,需要對(duì)互連線的電容、電阻等參數(shù)進(jìn) 行準(zhǔn)確的計(jì)算,以保證電路模擬與驗(yàn)證的正確有效性。為了提高計(jì)算精度,互連線之間的電 容參數(shù)提取需要使用三維提取方法,即利用三維場求解器進(jìn)行求解。場求解器的計(jì)算往往 耗時(shí)較多,對(duì)其算法的優(yōu)化與加速研究意義很大。
[0004]在集成電路電容參數(shù)提取的場求解器方法中,隨機(jī)行走電容提取算法是一種比較 流行的方法。該方法不同于常規(guī)的有限差分法、有限元法和邊界元法,它無需求解線性方程 組,計(jì)算中的主要步驟是在空間中隨機(jī)取點(diǎn)(其得到一系列點(diǎn)的過程被形象地稱為"隨機(jī) 行走")。如圖1所示,每次隨機(jī)行走都從圍繞導(dǎo)體的高斯面上開始,然后以當(dāng)前點(diǎn)為中心構(gòu) 造一個(gè)最大、不與導(dǎo)體相交的立方體(稱為轉(zhuǎn)移立方體),下一次取點(diǎn)則隨機(jī)地落在轉(zhuǎn)移立 方體的表面,如圖1中的s(1)和S(2)。這個(gè)過程重復(fù)進(jìn)行,直到隨機(jī)取點(diǎn)的位置達(dá)到導(dǎo)體表 面,此時(shí)結(jié)束一次隨機(jī)行走。要計(jì)算某一導(dǎo)體(例如圖1中的導(dǎo)體i)與其他所有導(dǎo)體之間 的電容值,需要進(jìn)行至少上萬次的隨機(jī)行走,而每次隨機(jī)行走則需多次計(jì)算空間一點(diǎn)到它 最近導(dǎo)體的距離。
[0005]在一般的數(shù)字集成電路中,所有導(dǎo)體塊和整個(gè)三維仿真空間都是長方體,并且它 們的任何一條邊都平行于X,y,z坐標(biāo)軸中的某一個(gè),這樣的幾何結(jié)構(gòu)被稱為曼哈頓結(jié)構(gòu)。 隨機(jī)行走算法中使用轉(zhuǎn)移立方體(如圖1所示)正是考慮到轉(zhuǎn)移立方體可以與曼哈頓結(jié)構(gòu) 導(dǎo)體有較大的接觸面。盡管曼哈頓結(jié)構(gòu)導(dǎo)體是數(shù)字集成電路中最常見的導(dǎo)體,但是,近年來 隨著嵌入式設(shè)備的快速發(fā)展,數(shù)字模擬混合集成電路的使用越來越廣泛。這樣的電路中包 含許多非曼哈頓結(jié)構(gòu)的導(dǎo)體,如圖2及3所示。這些非曼哈頓結(jié)構(gòu)的導(dǎo)體一般是橫截面為 不規(guī)則多邊形的棱柱結(jié)構(gòu),因此在z坐標(biāo)軸方向,它們與曼哈頓導(dǎo)體是相似的,但在X和y 坐標(biāo)方向,這些導(dǎo)體并不平行于坐標(biāo)軸。因此,傳統(tǒng)的僅針對(duì)曼哈頓結(jié)構(gòu)的隨機(jī)行走電容提 取算法并不適用于包含非曼哈頓結(jié)構(gòu)的集成電路。
【發(fā)明內(nèi)容】
[0006] 鑒于以上內(nèi)容,有必要提供一種適應(yīng)非曼哈頓形體的隨機(jī)行走電容參數(shù)方法及系 統(tǒng),對(duì)現(xiàn)有的針對(duì)于曼哈頓結(jié)構(gòu)電路的懸浮隨機(jī)行走算法進(jìn)行擴(kuò)展,使其能夠應(yīng)用于包含 非曼哈頓結(jié)構(gòu)的電路的電容提取問題。
[0007] -種適應(yīng)非曼哈頓形體的隨機(jī)行走電容參數(shù)提取方法,運(yùn)行于計(jì)算裝置中,用于 對(duì)集成電路提取互連電容參數(shù),該方法包括:載入步驟,載入預(yù)先計(jì)算的轉(zhuǎn)移概率表和權(quán)重 表;建立步驟,根據(jù)集成電路中曼哈頓結(jié)構(gòu)導(dǎo)體和非曼哈頓結(jié)構(gòu)導(dǎo)體在空間中的分布情況 建立統(tǒng)一的空間管理結(jié)構(gòu);構(gòu)建步驟,構(gòu)建包圍主導(dǎo)體j的高斯面,所述高斯面內(nèi)僅包含主 導(dǎo)體,并且不與任何環(huán)境導(dǎo)體相交;初始化步驟,將主導(dǎo)體j與每個(gè)環(huán)境導(dǎo)體之間的耦合電 容〔?Υ/W)、主導(dǎo)體j的主電容Chj及隨機(jī)行走步數(shù)npath初始化為0 ;計(jì)算步驟一,計(jì)算 隨機(jī)行走步數(shù)npath,npath: =npath+Ι;計(jì)算步驟二,在包圍主導(dǎo)體j的高斯面上任取一 點(diǎn)r?為行走起始點(diǎn),以點(diǎn)rw為中心構(gòu)建一個(gè)轉(zhuǎn)移立方體,根據(jù)載入的轉(zhuǎn)移概率表在該轉(zhuǎn) 移立方體的表面上以相應(yīng)的轉(zhuǎn)移概率任意取一點(diǎn)r(1)為下一行走點(diǎn)處,根據(jù)載入的權(quán)重表 獲取隨機(jī)行走當(dāng)前點(diǎn)r(1)處的權(quán)值ω(r,r(1)),對(duì)權(quán)值賦值ω: =ω(r,r(1));判斷步驟一, 判斷當(dāng)前點(diǎn)r(1)是否在導(dǎo)體上;構(gòu)造步驟,若當(dāng)前點(diǎn)r(1)不在導(dǎo)體上,利用空間管理結(jié)構(gòu)查 找距離當(dāng)前點(diǎn)r(1)最近的導(dǎo)體并計(jì)算安全距離,然后構(gòu)造以當(dāng)前點(diǎn)r(1)為中心,且不與任一 個(gè)導(dǎo)體相交的轉(zhuǎn)移立方體;計(jì)算步驟三,根據(jù)載入的轉(zhuǎn)移概率表在所構(gòu)造的轉(zhuǎn)移立方體上 隨機(jī)取一點(diǎn),將該隨機(jī)點(diǎn)賦值給r(1),更新r(1)的值,返回判斷步驟一;計(jì)算步驟四,若當(dāng)前 點(diǎn)r(1)在導(dǎo)體上,計(jì)算主導(dǎo)體j與導(dǎo)體i之間的親合電容CCji=Cu+ω;判斷步驟二,判 斷是否滿足收斂條件,若不滿足收斂條件,返回計(jì)算步驟一;及計(jì)算步驟五,當(dāng)滿足收斂條 件時(shí),計(jì)算主導(dǎo)體j與各個(gè)環(huán)境導(dǎo)體i之間的耦合電容G及主導(dǎo)體j的主電容C,其中 C, := C);//npathyj ^ i,Cj j: = - Σ x ^ jCj.o
[0008] -種適應(yīng)非曼哈頓形體的隨機(jī)行走電容參數(shù)提取系統(tǒng),應(yīng)用于計(jì)算裝置中,用于 對(duì)集成電路提取互連電容參數(shù),該系統(tǒng)包括:載入模塊,用于載入預(yù)先計(jì)算的轉(zhuǎn)移概率表和 權(quán)重表;建立模塊,用于根據(jù)集成電路中曼哈頓結(jié)構(gòu)導(dǎo)體和非曼哈頓結(jié)構(gòu)導(dǎo)體在空間中的 分布情況建立統(tǒng)一的空間管理結(jié)構(gòu);構(gòu)建模塊,用于構(gòu)建包圍主導(dǎo)體j的高斯面,所述高斯 面內(nèi)僅包含主導(dǎo)體,并且不與任何環(huán)境導(dǎo)體相交;初始化模塊,用于將主導(dǎo)體j與每個(gè)環(huán)境 導(dǎo)體之間的耦合電gC/,(VJ' # 0、主導(dǎo)體j的主電容Cjj及隨機(jī)行走步數(shù)npath初始化為 〇 ;計(jì)算模塊,用于計(jì)算隨機(jī)行走步數(shù)npath,npath: =npath+Ι;所述計(jì)算模塊,還用于在 包圍主導(dǎo)體j的高斯面上任取一點(diǎn)r?為行走起始點(diǎn),以點(diǎn)rW為中心構(gòu)建一個(gè)轉(zhuǎn)移立方 體,根據(jù)載入的轉(zhuǎn)移概率表在該轉(zhuǎn)移立方體的表面上以相應(yīng)的轉(zhuǎn)移概率任意取一點(diǎn)r(1)為 下一行走點(diǎn)處,根據(jù)載入的權(quán)重表獲取隨機(jī)行走當(dāng)前點(diǎn)r(1)處的權(quán)值ω(r,r(1)),對(duì)權(quán)值賦 值ω: =co(r,r(1));判斷模塊,用于判斷當(dāng)前點(diǎn)r(1)是否在導(dǎo)體上;構(gòu)造模塊,用于若當(dāng)前 點(diǎn)r(1)不在導(dǎo)體上,利用空間管理結(jié)構(gòu)查找距離當(dāng)前點(diǎn)r(1)最近的導(dǎo)體并計(jì)算安全距離,然 后構(gòu)造以當(dāng)前點(diǎn)r(1)為中心,且不與任一個(gè)導(dǎo)體相交的轉(zhuǎn)移立方體;所述計(jì)算模塊,還用于 根據(jù)載入的轉(zhuǎn)移概率表在所構(gòu)造的轉(zhuǎn)移立方體上隨機(jī)取一點(diǎn),將該隨機(jī)點(diǎn)賦值給r(1),更新 r(1)的值,所述判斷模塊繼續(xù)判斷當(dāng)前點(diǎn)r(1)是否在導(dǎo)體上;所述計(jì)算模塊,還用于若當(dāng)前 點(diǎn)r(1)在導(dǎo)體上,計(jì)算主導(dǎo)體j與導(dǎo)體i之間的耦合電容Cp(^=C]1+ω;所述判斷模塊, 還用于判斷是否滿足收斂條件,若不滿足收斂條件,所述計(jì)算模塊繼續(xù)計(jì)算隨機(jī)行走步數(shù) npath,npath: =npath+l;及所述計(jì)算模塊還用于當(dāng)滿足收斂條件時(shí),計(jì)算主導(dǎo)體j與各個(gè) 環(huán)境導(dǎo)體i之間的耦合電容(^及主導(dǎo)體j的主電容C,其中CV= c,,, /印〃汍v/ #ZiCjj: =_Uji〇
[0009] 本發(fā)明的適應(yīng)非曼哈頓形體的隨機(jī)行走電容參數(shù)提取方法及系統(tǒng)通過旋轉(zhuǎn)轉(zhuǎn)移 立方體,使得轉(zhuǎn)移立方體與傾斜導(dǎo)體的接觸面積顯著增大,并且提出安全區(qū)域的概念及其 計(jì)算方法,從而保證旋轉(zhuǎn)的轉(zhuǎn)移立方體不與導(dǎo)體相交。本發(fā)明還針對(duì)非曼哈頓結(jié)構(gòu)定義了 一種新型遮擋關(guān)系,并以此為基礎(chǔ)設(shè)計(jì)了便于查詢最近導(dǎo)體和計(jì)算安全區(qū)域大小的空間管 理結(jié)構(gòu)。通過本發(fā)明,對(duì)于含有521個(gè)導(dǎo)體(其中310個(gè)為非曼哈頓導(dǎo)體的)互連結(jié)構(gòu),懸 浮隨機(jī)行走算法提取中央導(dǎo)線的總電容只需1. 7秒,并且計(jì)算誤差小于1. 5%。
【附圖說明】
[0010] 圖1是隨機(jī)行走電容提取過