欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于圖同構(gòu)的面向模擬電路布局的對稱約束提取方法

文檔序號:6386185閱讀:320來源:國知局
專利名稱:基于圖同構(gòu)的面向模擬電路布局的對稱約束提取方法
技術(shù)領(lǐng)域
基于圖同構(gòu)的面向模擬電路布局的對稱約束提取方法屬于集成電路計算機輔助設(shè)計領(lǐng)域,尤其涉及模擬集成電路自動布圖領(lǐng)域。
背景技術(shù)
近年來半導(dǎo)體工藝的進步,特別是SOC(System on-Chip)技術(shù)的出現(xiàn),使得數(shù)字電路和模擬電路集成在同一芯片上成為可能。二十世紀(jì)九十年代初以來,數(shù)模混合集成電路市場以每年15%到20%的速度增長。2001年這個市場已經(jīng)超過220億美元。在數(shù)字電路領(lǐng)域,已經(jīng)有相當(dāng)不錯的CAD工具面市。但是由于模擬電路對于不同一性(nonidealities)、高次效應(yīng)(higher order effect)、寄生干擾(parasitic disturbances,包括串?dāng)_、襯底噪音、電源噪音等)非常敏感,因此模擬電路CAD工具不能簡單借用數(shù)字電路CAD工具的方法。與數(shù)字電路設(shè)計相比較,傳統(tǒng)的模擬電路設(shè)計更多的是基于設(shè)計者的經(jīng)驗和知識的、啟發(fā)式的設(shè)計過程。至今,還沒有足夠成熟的商用CAD工具,用來支持模擬電路的設(shè)計和版圖設(shè)計。模擬集成電路的設(shè)計自動化已經(jīng)成為集成電路設(shè)計中的瓶頸。
由于上面提到的模擬電路的特殊性,在模擬電路工具中必須考慮各種各樣的布局約束來減少布局對電路的不良影響,像前面提到的寄生,工藝偏差等。對稱約束是模擬電路布圖中常見的一種約束。器件的對稱擺放可有效的減少布圖寄生,可以降低電路對芯片上熱梯度的靈敏度。故對稱結(jié)構(gòu)在模擬電路中得到廣泛的應(yīng)用,像模擬電路中的全對稱放大器和差分結(jié)構(gòu)。傳統(tǒng)的布圖約束均由有經(jīng)驗的電路設(shè)計者給出,但是隨著工藝的進步和產(chǎn)品生命周期的縮短,這種方法已經(jīng)無法滿足需求。設(shè)計有效地自動提取模擬電路的布圖約束方法成為迫切的需求。
現(xiàn)有的提取對稱約束的方法有搜索對稱連接樹(symmetrical connection tree),加權(quán)二分圖匹配(Weighted Bipartite Matching)方法和通過靈敏度計算得到對稱約束的方法。這些方法在生成對稱對組時都需要一個回朔的過程,所以方法的時間復(fù)雜度比較高,其中靈敏度方法還需要經(jīng)過復(fù)雜的靈敏度分析。
本發(fā)明提出了一種新的快速有效的對稱約束提取方法。我們用二分圖(簡稱圖)表示電路器件間的連接關(guān)系,并通過一定方法為圖中各節(jié)點計算一個label值,該label值可以集中反映以某個節(jié)點為中心,其周邊節(jié)點的拓?fù)溥B接關(guān)系;當(dāng)兩個節(jié)點label值相等時,說明這兩個節(jié)點分別和其他節(jié)點具有相同的拓?fù)溥B接,可以作為對稱來處理;然后通過對稱對之間的連接關(guān)系確定對稱組。這種方法排除了在生成對稱組時回朔的可能,所以效率很高,同時這個方法也是非常有效的,可以找到電路中的所有對稱結(jié)構(gòu)。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于圖同構(gòu)的面向模擬電路布局的對稱約束提取方法。
本發(fā)明的特征在于它是一種以二分圖中各個節(jié)點的label值來標(biāo)志模擬電路中各節(jié)點分別和其周邊節(jié)點的拓?fù)溥B接關(guān)系,并從中把label值相等的兩個節(jié)點組成對稱對,再通過對稱對之間的連接關(guān)系來確定對稱組的基于圖同構(gòu)的對稱約束提取方法,它依次含有以下步驟(1)設(shè)定不同類型器件節(jié)點的初始label值并存入計算機中;(2)計算機讀取Spice格式的網(wǎng)表文件,構(gòu)造二分圖,它依次包含以下步驟(2.1)讀網(wǎng)表文件,把器件分類存入鏈表;(2.11)先按行讀入網(wǎng)表文件;行首字母*表示注釋行,行首字母m/M表示MOS器件描述行,行首字母c/C表示電容器件描述行,行首字母r/R表示電阻器件描述行;(2.12)讀取器件描述行的器件名稱和各種參數(shù),分類存入鏈表;(2.2)讀取器件鏈表,生成二分圖,用G(V,E)表示,其中V是頂點集合,V=V1∪V2,V1是器件節(jié)點,含有下列信息器件名稱、類型、電學(xué)參數(shù)、以及其各個接線端所連接的線網(wǎng);V2是線網(wǎng)節(jié)點,它表示電路中各器件端相互之間的拓?fù)溥B接點,即電路中的線網(wǎng);E是邊的集合,E={(v1,v2)|v1∈V1v2∈V2},它記錄著連接到各線網(wǎng)的各個器件的接線端;(3)二分圖的預(yù)處理及節(jié)點label值的初始化(3.1)處理二分圖中不需要的節(jié)點電阻以及實現(xiàn)電阻功能的MOS器件作短路處理,所述實現(xiàn)電阻功能的MOS器件是指它的柵極的偏置是恒壓源的MOS器件;電容以及實現(xiàn)電容功能的MOS器件作斷路處理,所述實現(xiàn)電容功能的MOS器件是指它的漏極和源極相連在一起的MOS器件;(3.2)初始化二分圖中每個節(jié)點的label值
器件節(jié)點的初始label值根據(jù)器件類型不同而選取不同的參數(shù);線網(wǎng)節(jié)點的初始label值等于線網(wǎng)節(jié)點的度,所述的度的定義為連接到該線網(wǎng)節(jié)點的邊數(shù),但從器件的柵極連接到該線網(wǎng)節(jié)點的那條邊除外;(4)計算二分圖中每個節(jié)點的label值各節(jié)點的label值在給定的循環(huán)次數(shù)內(nèi)通過下述公式更新,循環(huán)結(jié)束時各節(jié)點的label值即為其最終的label值;所述的循環(huán)次數(shù)等于二分圖中器件節(jié)點的個數(shù);它依次含有以下步驟(4.1)設(shè)置循環(huán)次數(shù)計數(shù)器i=1;(4.2)更新所有器件節(jié)點的label值LabeliMk=Labeli-1Mk+so×Labeli-1netjso+dr×Labeli-1netj′dr----(1)]]>其中LabeliMk,k=1,...,n,是當(dāng)前循環(huán)i要計算的器件節(jié)點Mk的label值,n是所有器件節(jié)點的數(shù)目,Labeli-1Mk是第i-1次循環(huán)所得器件節(jié)點Mk的label值,Labeli-1netjso是第i-1次循環(huán)時器件Mk源極連接的線網(wǎng)節(jié)點netjso的label值,Labeli-1netj′dr是第i-1次循環(huán)時器件Mk漏極連接的線網(wǎng)節(jié)點netj′dr的label值,so和dr分別是對源極和漏極連接的線網(wǎng)節(jié)點的label值的加權(quán)數(shù),通常選取為不同的素數(shù),(4.3)更新所有線網(wǎng)節(jié)點的label值Labelinetj=Labeli-1netj+so×ΣMl∈SsoN1N(netj)LabeliMl+dr×ΣMl∈SdrN2(netj)LabeliMl----(2)]]>其中公式中的Labelinetj,j=1,...,m,是當(dāng)前循環(huán)i要計算的第j個線網(wǎng)節(jié)點netj的Label值,m是所有線網(wǎng)節(jié)點的數(shù)目,Labeli-1netj是第i-1次循環(huán)時得到的第j個線網(wǎng)節(jié)點netj的Label值,ΣMl∈SsoN1(netj)LabeliMl]]>表示對集合SsoN1(netj)中的N1個節(jié)點的當(dāng)前l(fā)abel值求和,當(dāng)前是指當(dāng)前循環(huán)i中步驟(4.2)中計算所得,下同,SsoN1(netj)表示通過源極和第j個線網(wǎng)netj連接的N1個器件節(jié)點的集合,ΣMl∈SdrN2(netj)LabeliMl]]>表示對集合SdrN2(netj)中的N2個節(jié)點的當(dāng)前l(fā)abel值求和,SdrN2(netj)表示通過漏極和第j個線網(wǎng)節(jié)點netj連接的N2個器件節(jié)點的集合,
(4.4)循環(huán)次數(shù)i加1,若i≤n,則轉(zhuǎn)步驟(4.2),否則,循環(huán)結(jié)束,各節(jié)點的當(dāng)前l(fā)abel值即為最終的label值;(5)搜索二分圖,找到對稱組,它依次含有以下步驟(5.1)根據(jù)各器件的label值,找到所有對稱對設(shè)用SYS表示所有器件節(jié)點中的對稱對的集合,SYS={(vi,vi’)|vi≠vi’,vi∈V1,vi’∈V1,vi和vi’具有相同的label值},這是根據(jù)label值對所有器件節(jié)點進行從小到大的升序排列后,再順序取出label值相等的兩個器件來組成對稱對而得到的,vi、vi’也可用它們所代表的MOS器件Mi、Mi’來表示;(5.2)根據(jù)對稱對之間的連接關(guān)系,建立對稱組根據(jù)對稱對集合,首先找到對稱對(Mi,Mi’),先從Mi、Mi’的漏極開始搜索對稱對,一直要找到它們共同連接的線網(wǎng)節(jié)點時,再停止漏極的搜索;然后再從Mi、Mi’的源極出發(fā),開始搜索對稱對,也一直要到找到它們共同連接的線網(wǎng)節(jié)點時,結(jié)束搜索;把已經(jīng)找到的上述所有對稱對用對稱組SGr(p1,p2)表示,p1、p2分別為節(jié)點數(shù)組,p1、p2中順次排列的節(jié)點一一對應(yīng)地排成一對一的對稱組。
本方法是迄今為止效果最好,速度最快的提取對稱約束的方法。通過計算節(jié)點的label值可以獲得與之相連節(jié)點的拓?fù)潢P(guān)系,當(dāng)循環(huán)足夠多的次數(shù)時,每個節(jié)點的label值就可以反映在圖中以該節(jié)點為中心其周邊所有其它節(jié)點的拓?fù)溥B接關(guān)系。如果兩個節(jié)點的label值相等,我們就可以斷定它們是對稱的。所以在尋找對稱組時如果兩個節(jié)點是對稱的,就表示這兩個節(jié)點有相同的拓?fù)洵h(huán)境;這樣必然有兩種情況,它們都連到其它對稱對或它們連接到同一個線網(wǎng)節(jié)點,故通過對稱對之間的連接關(guān)系,可以很容易地將不同的對稱對放在一起形成對稱組。因此,在生成對稱組時不需要回朔的過程,大大減少方法的搜索次數(shù),提高了搜索效率。


圖1本發(fā)明的總體流程示意圖。
圖2本發(fā)明采用的原始電路圖。
圖3本發(fā)明采用的原始電路圖的二分圖。
圖4更新節(jié)點label值的流程示意圖。
圖5尋找對稱組的程序流程圖。
圖6網(wǎng)表示意圖。
圖7實施例中電路圖的二分圖。
圖8實施例中刪除電阻、電容后的二分圖。
圖9初始化label值后的二分圖,節(jié)點右上方的數(shù)字表示它的label值。
具體實施例方式
本發(fā)明基于Sun公司的unix工作站Sun v880完成。
圖1是總體流程圖。
下面的電路中的器件是MOS晶體管為M,本發(fā)明也適用于由各種器件組成的電路。
1.讀Spice格式的網(wǎng)表文件,構(gòu)造二分圖1)讀網(wǎng)表文件,把器件分類存入鏈表。
●先按行讀入網(wǎng)表文件,根據(jù)行首字母來判斷本行的性質(zhì)■*表示注釋行■m/M開頭的行是MOS器件描述行■c/C開頭的行是電容器件描述行■r/R開頭的行是電阻器件描述行●讀取器件描述行的器件名稱和各種參數(shù),分類存入鏈表。
2)讀取器件鏈表,生成二分圖(圖3給出了圖2所示電路圖的二分圖表示)G(V,E),其中V表示頂點集合,E表示邊的集合。V=V1∪V2,V1表示器件節(jié)點,V2表示線網(wǎng)節(jié)點;器件節(jié)點表示電路中的器件,包含信息有器件的名稱,類型,電學(xué)參數(shù),以及各個接線端連接的線網(wǎng)。線網(wǎng)節(jié)點用來表示電路中的線網(wǎng)(電路中器件端的拓?fù)溥B接點我們稱為線網(wǎng),如圖2中的VDD是連接電源和器件的線網(wǎng));E={(v1,v2)|v1∈V1v2∈V2,器件v1連接到線網(wǎng)v2},在線網(wǎng)節(jié)點中會記錄所連接器件的哪個端是連接到該線網(wǎng)的。
在構(gòu)造二分圖的過程中,不考慮器件的柵極連接,因為柵極的連接在模擬電路中非常復(fù)雜,對提取對稱信息沒有意義。實驗證明,我們不考慮柵極的連接不會影響找到實際對稱的器件。
2.預(yù)處理及初始化1)處理二分圖中的不需要節(jié)點,包括電阻,電容,以及實現(xiàn)電阻、電容功能的MOS管。
電阻是當(dāng)短路處理,電容是斷路。我們用如下方式判斷實現(xiàn)電阻或電容功能的MOS管實現(xiàn)電阻功能的MOS晶體管如果一個MOS晶體管的柵極的偏置是恒壓源,例如VDD,VSS,那么這個MOS晶體管就是實現(xiàn)電阻的功能;實現(xiàn)電容功能的MOS晶體管如果一個MOS晶體管的漏極和源極連接在一起,那么這個MOS晶體管就是實現(xiàn)電容的功能。
2)初始化圖G中每個節(jié)點的label值。器件節(jié)點的初始label值根據(jù)器件類型的不同而不同(表一),但通常都選取為素數(shù),這樣在label值的計算中,不同的兩組數(shù)的乘積基本上是不同的,從而避免不滿足對稱的節(jié)點具有相同的label值;器件節(jié)點的初始label值記為LabelMk0,Mk∈V1,k=1,...,n,n為圖G中器件節(jié)點個數(shù)。線網(wǎng)節(jié)點的初始label值等于它的度(不包括柵極連接),圖中節(jié)點的度定義為連接到該點的邊數(shù);線網(wǎng)節(jié)點的初始label值記為Labelnetj0,其中netj∈V2,j=1,...,m,m為圖G中線網(wǎng)節(jié)點個數(shù)。

表一不同類型器件節(jié)點的初始label值3.計算每個節(jié)點的label值如圖4所示,各節(jié)點的label值在給定的循環(huán)次數(shù)內(nèi)通過給定的公式進行更新,循環(huán)結(jié)束時各節(jié)點的label值即為最終的label值。每次更新中,先更新所有的器件節(jié)點的label值,然后更新所有線網(wǎng)節(jié)點的label值。通過這種循環(huán)的label值計算,對圖中每一個節(jié)點而言都將獲得一個最終的label值,該label值是以該節(jié)點為中心,其周邊節(jié)點拓?fù)溥B接關(guān)系的一個集中的反映。具有不同的label值的兩個節(jié)點意味著圖中分別以這兩個節(jié)點為中心的周邊節(jié)點拓?fù)溥B接關(guān)系是不一樣的;而具有相同的label值的兩個節(jié)點,以它們?yōu)橹行牡闹苓吂?jié)點的拓?fù)溥B接關(guān)系一定是相同的,由此可以判斷出這兩個節(jié)點是對稱的。通過合理的選取各節(jié)點的初始label值及Label值的計算方式,可以保證這一點。下面給出我們計算各節(jié)點label值的方法。
1)設(shè)置計數(shù)器i=1;2)更新所有器件節(jié)點的label值LabeliMk=Labeli-1Mk+so×Labeli-1netjso+dr×Labeli-1netj′dr]]>其中LabeliMk,k=1,...,n,是當(dāng)前循環(huán)i要計算的器件節(jié)點Mk的label值,Labeli-1Mk,k同上,是第i-1次循環(huán)所得器件節(jié)點Mk的label值,Labeli-1netjso是第i-1次循環(huán)時器件Mk源極連接的線網(wǎng)節(jié)點netjso的label值,Labeli-1netjdr是第i-1次循環(huán)時器件Mk漏極連接的線網(wǎng)節(jié)點netjdr的label值。so和dr分別是對源極和漏極連接的線網(wǎng)節(jié)點的label值的加權(quán),通常選取為素數(shù),以避免具有不同周邊拓?fù)溥B接關(guān)系的節(jié)點最終得到相同的label值。
簡言之,該公式通過對器件節(jié)點的label值計算收集其漏極和源極的連接信息。
3)更新所有線網(wǎng)節(jié)點的label值Labelinetj=Labeli-1netj+so×ΣMl∈SsoN1N(netj)LabeliMl+dr×ΣMl∈SdrN2(netj)LabeliMl----(2)]]>公式中的Labelinetj,j=1,...,m,是當(dāng)前循環(huán)要計算的第j個線網(wǎng)節(jié)點netj的Label值,m是所有線網(wǎng)節(jié)點的數(shù)目,Labeli-1entj是第i-1次循環(huán)計算的第j個線網(wǎng)節(jié)點netj的Label值,ΣMl∈SsoN1(netj)LabeliMl]]>表示對集合SsoN1(netj)中的N1節(jié)點的當(dāng)前l(fā)abel值(本次循環(huán)中步驟2)計算所得)求和,SsoN1(netj)表示通過源極和線網(wǎng)netj連接的器件節(jié)點集合。ΣMl∈SdrN2(netj)LabeliMl,]]>表示對集合SdrN2(netj)中的N2節(jié)點的當(dāng)前l(fā)abel值(本次循環(huán)中步驟2)計算所得)求和,SdrN2(netj)表示通過漏極和線網(wǎng)節(jié)點netj連接的器件節(jié)點集合。so和dr分別為對通過源極和漏極與連接到線網(wǎng)netj的器件label值的加權(quán),同樣選取為素數(shù)。
4)i←i+1;如果i<=n則轉(zhuǎn)步驟2),否則結(jié)束循環(huán),各節(jié)點當(dāng)前的label值即為最終label值。
在label值的計算中,循環(huán)次數(shù)可以參照以下原則選擇如果我們定義圖中兩個節(jié)點vs,vt之間的路徑為path(vs,vt)=(vs,v1,…,vp,vt),(vi-1,vi)∈E,且vi,i=2,…,p互不相同;那么vs和vt之間的距離定義為vs和vt之間最短路徑的長度(路徑長度指路徑上的節(jié)點個數(shù))。理論上循環(huán)次數(shù)應(yīng)該等于圖中任意兩個節(jié)點之間的距離的最大值。但是由于模擬電路的特點,圖G中任意兩點間的距離最大值不會超過器件節(jié)點數(shù)n,我們用n,即器件節(jié)點個數(shù)作為循環(huán)次數(shù)就足夠獲得反映圖中節(jié)點間的拓?fù)溥B接關(guān)系的每一個節(jié)點的label值。
4.搜索二分圖,找到對稱組在步驟3中,我們獲得了所有的節(jié)點的label值,在本步驟中,我們基于步驟3中所求出的label值,識別出所有的表示器件的對稱節(jié)點對(簡稱對稱對),并根據(jù)對稱對之間的連接關(guān)系建立對稱組。流程如圖五所示,步驟如下
1)根據(jù)各器件的label值找到所有對稱對;我們根據(jù)label值對器件節(jié)點進行升序排序,然后根據(jù)排序結(jié)果的順序依次判斷兩個器件的label是不是相等,如果相等,代表這兩個節(jié)點有相同的拓?fù)洵h(huán)境和相同的器件類型,我們就認(rèn)為它們是需要對稱的,并構(gòu)成一個對稱對,設(shè)SYS表示所有的對稱對集合,SYS={(vi,vi’)|vi≠vi’,vi∈V1,vi’∈V1,vi和vi’具有相同的label值}。在后面的描述中,我們也用(Mi,Mi’)表示對稱對,Mi表示節(jié)點vi代表的MOS晶體管,Mi’表示節(jié)點vi’代表的MOS晶體管。
2)根據(jù)對稱對間的連接關(guān)系建立對稱組;①.SYS中所有對稱對標(biāo)記為未訪問;②.從SYS中選取一個未被訪問過的對稱對(Mi,Mi’),將其標(biāo)記為已訪問;基于該對稱對建立新的對稱組SGr(p1,p2),p1,p2分別為節(jié)點數(shù)組,設(shè)定計數(shù)器c1=0,c2=0;③.p1[c1]←Mi,p2[c1]←Mi’,c1←c1+1;c2←c2+1;④.Mti←Mi,Mti’←Mi’;⑤.如果(Mti,Mti’)標(biāo)記為未訪問,則將其標(biāo)記為已訪問;在圖中從Mti和Mti’開始進行如下搜索;如果與Mti漏極相連接的線網(wǎng)節(jié)點netj和與Mti’漏極相連接的線網(wǎng)節(jié)點netj’為不同線網(wǎng)節(jié)點,則檢查所有與線網(wǎng)netj相連接的的器件節(jié)點和與線網(wǎng)netj’相連的器件節(jié)點;如果與netj相連接的器件節(jié)點Mai和與netj’相連接的器件節(jié)點Mai’同屬一個對稱對(Mai,Mai’),并且該對稱對標(biāo)記為未訪問,那么將該對稱對加入當(dāng)前對稱組p1[c1]←Mai,p2[c1]←Mai’,c1←c1+1;⑥.如果c2<c1,那么c2←c2+1,Mti←p1[c2],Mti’←p2[c2];轉(zhuǎn)步驟⑤;否則繼續(xù)下一步;⑦.Mti←Mi,Mti’←Mi’;⑧.如果(Mti,Mti’)標(biāo)記為未訪問,則將其標(biāo)記為已訪問;在圖中從Mti和Mti’開始進行如下搜索;如果與Mti源極相連接的線網(wǎng)節(jié)點netj和與Mti’源極相連接的線網(wǎng)節(jié)點netj’為不同線網(wǎng)節(jié)點,則檢查所有與線網(wǎng)netj相連接的的器件節(jié)點和與線網(wǎng)netj’相連的器件節(jié)點;如果與netj相連接的器件節(jié)點Mai和與netj’相連接的器件節(jié)點Mai’同屬一個對稱對(Mai,Mai’),并且該對稱對標(biāo)記為未訪問,那么將該對稱對加入當(dāng)前對稱組p1[c1]←Mai,p2[c1]←Mai’,c1←c1+1;
⑨.如果c2<c1,那么c2←c2+1,Mti←p1[c2],Mti’←p2[c2];轉(zhuǎn)步驟⑦;⑩.如果SYS中存在未訪問節(jié)點,轉(zhuǎn)步驟②;圖5給出了流程圖。
下面我們通過一個例子來講解此方法的具體步驟1.讀Spice格式的網(wǎng)表文件,構(gòu)造二分6是圖2所示電路的Spice格式的電路描述文件,其中MOS晶體管的描述行定義如下PMOS晶體管晶體管名 漏端連接線網(wǎng) 柵端連接線網(wǎng) 源端連接線網(wǎng) 襯底連接線網(wǎng) 晶體管類型 溝道寬度(um) 溝道長度(um);NMOS晶體管晶體管名 源端連接線網(wǎng) 柵端連接線網(wǎng) 漏端連接線網(wǎng) 襯底連接線網(wǎng) 晶體管類型 溝道寬度(um) 溝道長度(um)。
生成完器件鏈表后,生成二分圖,見圖7。圖7中的方框代表器件節(jié)點,圓圈代表線網(wǎng)節(jié)點。圖中的邊是電路圖中的連接關(guān)系,邊上的字母表示通過什么接線端連入器件。
2.預(yù)處理及初始化1)處理電路中的不需要節(jié)點。
處理過程是將電路中的電阻節(jié)點在二分圖中刪除,與電阻兩端連接的線網(wǎng)節(jié)點合并成為一個。實現(xiàn)電阻功能的MOS管節(jié)點也同樣是刪除,將MOS管的漏極和源極所連接的線網(wǎng)節(jié)點合并成為一個。電路中的電容當(dāng)作斷路,刪除電容節(jié)點即可。實現(xiàn)電容功能的MOS管節(jié)點也是做刪除處理。在圖7中,RN為電阻,合并net5和net9,并斷開電容節(jié)點CC,二分圖變?yōu)閳D8;2)初始化每個節(jié)點的label值。電路圖中的所有節(jié)點都有相應(yīng)的初始label值。如圖9;3.計算每個節(jié)點的label值。
1)按照發(fā)明內(nèi)容步驟(4)所述的方法更新所有器件節(jié)點的label值。我們用公式(1)計算器件節(jié)點的label值,同時設(shè)置so=37,dr=11。
例如i=1時圖中的器件節(jié)點M6的label值計算如下LabelM61=LabelM60+37×LabelVDD0+11×Labelnet10]]>=7+37×3+11×3]]>=151]]>LabelM11=140,]]>LabelM21=140]]>我們通過這個公式可以更新所有的器件節(jié)點的label值。
2)按照發(fā)明內(nèi)容步驟(4)所述方法更新所有線網(wǎng)節(jié)點的label值。我們用公式(2)計算線網(wǎng)節(jié)點的label值,同時設(shè)置so=37,dr=11。例如i=1時,圖中的線網(wǎng)節(jié)點net1的label值計算如下Label1net1=Label0net1=so×Σl∈Sso(net1)Label1Ml+dr×Σl∈Sdr(net1)Label1Ml]]>=Label0Net1+37×(LabelM11+LabelM21)+11×LabelM61]]>=3+37×(140+140)+11×151]]>=12024]]>更新計算數(shù)器i,重復(fù)1),2)步直到滿足循環(huán)次數(shù)(此處為11次,器件數(shù)為11)。
4.搜索二分圖,找到對稱組下面是結(jié)合上面例子尋找對稱組的過程現(xiàn)在知道所有器件的label值下面是經(jīng)過快速排序的結(jié)果the M9 MOSthe label328910385the M8 MOSthe label328910385the M4 MOSthe label720647383the M3 MOSthe label720647383the M2 MOSthe label1369685009the M1 MOSthe label1369685009the M11 MOSthe label1644954288the M10 MOSthe label1644954288the M7 MOSthe label1644954568the M5 MOSthe label1644954568the M6 MOSthe label1672941169根據(jù)這個結(jié)果,我們首先找到對稱對(M9,M8),先從器件的漏極開始搜索對稱對,找到它們共同連接的線網(wǎng)節(jié)點GND,停止漏極的搜索。再開始源極的搜索,找到對稱對(M4,M3),再從(M4,M3)的源極出發(fā),找到對稱對(M2,M1),然后找到共同連接的線網(wǎng)節(jié)點net1,結(jié)束搜索。這個對稱組為(M9 M4 M2,M8 M3 M1);同理可以找到對稱組(M11 M5,M10 M7)。
權(quán)利要求
1.基于圖同構(gòu)的面向模擬電路布局的對稱約束提取方法,其特征在于,它是一種以二分圖中各個節(jié)點的label值來標(biāo)志模擬電路中各節(jié)點分別和其周邊節(jié)點的拓?fù)溥B接關(guān)系,并從中把label值相等的兩個節(jié)點組成對稱對,再通過對稱對之間的連接關(guān)系來確定對稱組的基于圖同構(gòu)的對稱約束提取方法,它依次含有以下步驟(1)設(shè)定不同類型器件節(jié)點的初始label值并存入計算機中;(2)計算機讀取Spice格式的網(wǎng)表文件,構(gòu)造二分圖,它依次包含以下步驟(2.1)讀網(wǎng)表文件,把器件分類存入鏈表;(2.11)先按行讀入網(wǎng)表文件;行首字母*表示注釋行,行首字母m/M表示MOST器件描述行,行首字母c/C表示電容器件描述行,行首字母r/R表示電阻器件描述行;(2.12)讀取器件描述行的器件名稱和各種參數(shù),分類存入鏈表;(2.2)讀取器件鏈表,生成二分圖,用G(V,E)表示,其中V是頂點集合,V=V1∪V2,V1是器件節(jié)點,含有下列信息器件名稱、類型、電學(xué)參數(shù)、以及其各個接線端所連接的線網(wǎng);V2是線網(wǎng)節(jié)點,它表示電路中各器件端相互之間的拓?fù)溥B接點,即電路中的線網(wǎng);E是邊的集合,E={(v1,v2)|v1∈V1v2∈V2},它記錄著連接到各線網(wǎng)的各個器件的接線端;(3)二分圖的預(yù)處理及節(jié)點label值的初始化(3.1)處理二分圖中不需要的節(jié)點電阻以及實現(xiàn)電阻功能的MOS器件作短路處理,所述實現(xiàn)電阻功能的MOS器件是指它的柵極的偏置是恒壓源的MOS器件;電容以及實現(xiàn)電容功能的MOS器件作斷路處理,所述實現(xiàn)電容功能的MOS器件是指它的漏極和源極相連在一起的MOS器件;(3.2)初始化二分圖中每個節(jié)點的label值器件節(jié)點的初始label值根據(jù)器件類型不同而選取不同的參數(shù);線網(wǎng)節(jié)點的初始label值等于線網(wǎng)節(jié)點的度,所述的度的定義為連接到該線網(wǎng)節(jié)點的邊數(shù),但從器件的柵極連接到該線網(wǎng)節(jié)點的那條邊除外;(4)計算二分圖中每個節(jié)點的label值各節(jié)點的label值在給定的循環(huán)次數(shù)內(nèi)通過下述公式更新,循環(huán)結(jié)束時各節(jié)點的label值即為其最終的label值;所述的循環(huán)次數(shù)等于二分圖中器件節(jié)點的個數(shù);它依次含有以下步驟(4.1)設(shè)置循環(huán)次數(shù)計數(shù)器i=1;(4.2)更新所有器件節(jié)點的label值LabeliMk=Labeli-1Mk+so×Labeli-1netjso+dr×Labeli-1netj,dr]]>其中 k=1,...,n,是當(dāng)前循環(huán)i要計算的器件節(jié)點Mk的label值,n是所有器件節(jié)點的數(shù)目, 是第i-1次循環(huán)所得器件節(jié)點Mk的label值, 是第i-1次循環(huán)時器件Mk源極連接的線網(wǎng)節(jié)點netjso的label值, 是第i-1次循環(huán)時器件Mk漏極連接的線網(wǎng)節(jié)點netj’dr的label值,so和dr分別是對源極和漏極連接的線網(wǎng)節(jié)點的label值的加權(quán)數(shù),通常選取為不同的素數(shù),(4.3)更新所有線網(wǎng)節(jié)點的label值Labelinetj=Labeli-1netj+so×ΣMi∈SsoN1(netj)LabeliMi+dr×ΣMi∈SdrN2(netj)LabeliMi,]]>其中公式中的 j=1,...,m,是當(dāng)前循環(huán)i要計算的第j個線網(wǎng)節(jié)點netj的label值,m是所有線網(wǎng)節(jié)點的數(shù)目, 是第i-1次循環(huán)時得到的第j個線網(wǎng)節(jié)點netj的label值,ΣMi∈SsoN1(netj)LabeliMi]]>表示對集合 中的N1個節(jié)點的當(dāng)前l(fā)abel值求和,當(dāng)前是指當(dāng)前循環(huán)i中步驟(4.2)中計算所得,下同, 表示通過源極和第j個線網(wǎng)netj連接的N1個器件節(jié)點的集合,ΣMi∈SdrN2(netj)LabeliMi]]>表示對集合 中的N2個節(jié)點的當(dāng)前l(fā)abel值求和, 表示通過漏極和第j個線網(wǎng)節(jié)點netj連接的N2個器件節(jié)點的集合,(4.4)循環(huán)次數(shù)i加1,若i≤n,則轉(zhuǎn)步驟(4.2),否則,循環(huán)結(jié)束,各節(jié)點的當(dāng)前l(fā)abel值即為最終的label值;(5)搜索二分圖,找到對稱組,它依次含有以下步驟(5.1)根據(jù)各器件的label值,找到所有對稱對設(shè)用SYS表示所有器件節(jié)點中的對稱對的集合,SYS={(vi,vi’)|vi≠vi’,vi∈V1,vi’∈V1,vi和vi’具有相同的label值},這是根據(jù)label值對所有器件節(jié)點進行從小到大的升序排列后,再順序取出label值相等的兩個器件來組成對稱對而得到的,vi、vi’也可用它們所代表的MOS器件Mi、Mi’來表示;(5.2)根據(jù)對稱對之間的連接關(guān)系,建立對稱組根據(jù)對稱對集合,首先找到對稱對(Mi,Mi’),先從Mi、Mi’的漏極開始搜索對稱對,一直要找到它們共同連接的線網(wǎng)節(jié)點時,再停止漏極的搜索;然后再從Mi、Mi’的源極出發(fā),開始搜索對稱對,也一直要到找到它們共同連接的線網(wǎng)節(jié)點時,結(jié)束搜索;把已經(jīng)找到的上述所有對稱對用對稱組SGr(p1,p2)表示,p1、p2分別為節(jié)點數(shù)組,p1、p2中順次排列的節(jié)點一一對應(yīng)地排成一對一的對稱組。
全文摘要
基于圖同構(gòu)的面向模擬電路布局的對稱約束提取方法屬于模擬電路自動布局技術(shù)領(lǐng)域,其特征在于用二分圖表示電路器件間的連接關(guān)系,并為圖中各節(jié)點計算一個label值,以集中反映它與其周邊節(jié)點的拓?fù)溥B接關(guān)系;當(dāng)兩個節(jié)點label值相等時,它們構(gòu)成對稱對;再通過對稱對之間的連接關(guān)系,確定對稱組。本發(fā)明排除了在生成對稱組時再回朔的可能。所以效率高,而且非常有效,可以方便地找到電路中所有對稱的結(jié)構(gòu)。
文檔編號G06F17/30GK1595403SQ20041000926
公開日2005年3月16日 申請日期2004年6月25日 優(yōu)先權(quán)日2004年6月25日
發(fā)明者董社勤, 洪先龍, 陳松, 蘇毅, 郝慶生 申請人:清華大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
博爱县| 杂多县| 邯郸市| 桃江县| 贡嘎县| 衡山县| 沁水县| 大埔县| 泊头市| 杨浦区| 安远县| 松滋市| 石首市| 铜川市| 天等县| 阳谷县| 襄垣县| 鞍山市| 敦煌市| 防城港市| 武川县| 漳浦县| 民和| 郁南县| 耿马| 临猗县| 杂多县| 金沙县| 通海县| 济南市| 阳春市| 盘锦市| 文登市| 安化县| 西丰县| 静乐县| 林周县| 读书| 东莞市| 岱山县| 图片|