專利名稱:非線性電路直流工作點(diǎn)的支路電流計(jì)算方法與裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種非線性電路直流工作點(diǎn)的計(jì)算方法與裝置,尤其是關(guān)于非線性 電路直流工作點(diǎn)的支路電流計(jì)算方法與裝置。
背景技術(shù):
(Simulation Program with Integrated Circuit Emphasis, HSPICE)在進(jìn)行任何形式前,首先需進(jìn)行直流分析,藉以建立電路的直流偏壓點(diǎn)。以此為起 點(diǎn),才可以進(jìn)行瞬態(tài)、交流小信號、噪聲等其它性能的模擬。電路直流工作點(diǎn)的計(jì)算,其實(shí)質(zhì) 在數(shù)學(xué)上就是解一個非線性的代數(shù)方程組。為了建立電路的直流分析點(diǎn),HSPICE必須求解 描述電路行為的一組非線性方程式,其可藉由常用的非線性代數(shù)方程數(shù)值求解的方法有 牛頓迭代法(Newton-Raphson Algorithm, N-R算法)、延拓法和偽瞬態(tài)法。這些方法的基 本原理雖然已經(jīng)眾所周知,但如何針對電路模擬的特點(diǎn),實(shí)現(xiàn)出具有優(yōu)異性能和很強(qiáng)收斂 性的算法卻一直是集成電路設(shè)計(jì)人員最為困擾的問題。特別是,電路直流工作點(diǎn)的收斂性 問題是電路模擬中最困難的問題。在電路的計(jì)算機(jī)模擬中,通常用改進(jìn)節(jié)點(diǎn)法來建立電路方程。節(jié)點(diǎn)電壓法是電路 中任一節(jié)點(diǎn)對參考節(jié)點(diǎn)的電位為獨(dú)立的變量的一種分析方法,若電路中有η個節(jié)點(diǎn)利用獨(dú) 立節(jié)點(diǎn)列寫電流(KCL)方程式列出(η-1)個獨(dú)立方程以求出相應(yīng)節(jié)點(diǎn)對參考節(jié)點(diǎn)的電位, 然后求出各支路組件的電壓及電流。節(jié)點(diǎn)電壓法的缺點(diǎn)是不能直接處理獨(dú)立電壓源、零值 電阻組件等支路導(dǎo)納值為無窮大的組件,也不能直接處理除了電壓控制電流源(Voltage-C ontro 11 ed-Current-Source,VCCS)以外的受控源。因此,后續(xù)發(fā)展的改進(jìn)節(jié)點(diǎn)法以節(jié)點(diǎn)法 為基礎(chǔ),并克服了上述缺點(diǎn),而被HSPICE采用以列出電路方程式。在改進(jìn)節(jié)點(diǎn)法所建立的方程中,只有少數(shù)元器件以支路電流為獨(dú)立變量(如電壓 源、電感等);但在具體的電路模擬過程中,有可能需要計(jì)算許多支路的電流。如果在該支 路上有電壓源、電感等本身有支路電流為獨(dú)立變量的元器件,問題就很容易解決;但如果只 有其它器件,通常的做法是在該支路中插入一個零伏的電壓源。在所需計(jì)算的支路電流較 少時,這樣做不會帶來太大的問題,但當(dāng)需要計(jì)算的支路電流相當(dāng)多時,大量插入的零伏電 壓源經(jīng)常會帶來很大的電路矩陣,并造成矩陣計(jì)算將精度的嚴(yán)重下降,牛頓迭代無法收斂 等問題。另一種計(jì)算支路電流的方法是在每一個器件的計(jì)算中,無論是否需要,均計(jì)算出 每個端口上的電流。當(dāng)?shù)?jì)算收斂后,再根據(jù)用戶所需打印出相應(yīng)的電流值。這一方法 需要在每次迭代中都計(jì)算出所有的支路電流。然而,一半以上支路電流的計(jì)算都是重復(fù)的, 從而造成計(jì)算資源的浪費(fèi)和計(jì)算性能的下降。因而,現(xiàn)有技術(shù)僅是通過插入零伏電壓源來探測支路電流,或在每個器件的計(jì)算 中計(jì)算其每個端口的電流,并不能以最經(jīng)濟(jì)有效的方式獲得所需的非線性電路直流工作點(diǎn) 的支路電流。因此,如何在HSPICE求解非線性方程組時可以減少運(yùn)算時間及收斂速度及如 何獲得一種更有效的方法,一直是業(yè)界關(guān)注的問題。
發(fā)明內(nèi)容
本發(fā)明的目的是以最經(jīng)濟(jì)有效的方式獲得所需的非線性電路直流工作點(diǎn)的支路 電流。本發(fā)明根據(jù)未插入零伏電壓源的電路的工作點(diǎn)來計(jì)算插入零伏電壓源后的電路的支 路電流,因此本發(fā)明無須在插入零伏電壓源后進(jìn)行迭代計(jì)算,亦無須在每次迭代中為每個 器件的每個端口計(jì)算電流。本發(fā)明的一實(shí)施例的非線性電路直流工作點(diǎn)的支路電流計(jì)算方法,包含如下步 驟依據(jù)該非線性電路而建立第一電路方程矩陣,并進(jìn)行直流工作點(diǎn)的計(jì)算;儲存計(jì)算收 斂后的狀態(tài)變量;在欲得到支路電流的位置新增一零伏電壓源,并建立第二電路方程矩陣; 將該狀態(tài)變量映入第二電路方程矩陣;依據(jù)該第二電路方程矩陣的矩陣元和右手邊向量而 求得一支路電流探測矩陣和支路電流探測右手邊向量;及依據(jù)該支路電流探測矩陣和支路 電流探測右手邊向量而求得欲得到的支路電流。本發(fā)明的一實(shí)施例的非線性電路直流工作點(diǎn)的支路電流計(jì)算裝置包含一第一計(jì) 算單元、一儲存單元、一組合單元、一第二計(jì)算單元及一第三計(jì)算單元。該第一計(jì)算單元依 據(jù)該非線性電路而建立第一電路方程矩陣,并進(jìn)行直流工作點(diǎn)的計(jì)算。該儲存單元儲存該 第一計(jì)算單元在計(jì)算收斂后的狀態(tài)變量。該組合單元在欲得到支路電流的位置新增一零伏 電壓源,建立第二電路方程矩陣,并將該狀態(tài)變量映入第二電路方程矩陣。該第二計(jì)算單元 依據(jù)該第二電路方程矩陣的矩陣元和右手邊向量而求得一支路電流探測矩陣和支路電流 探測右手邊向量。該第三計(jì)算單元依據(jù)該支路電流探測矩陣和支路電流探測右手邊向量而 求得欲得到的支路電流。本發(fā)明的方法只需要建立兩次電路方程,且由于在迭代計(jì)算中無需插入探測支路 電流的零伏電壓源,電路的矩陣變得很小,對內(nèi)存和矩陣計(jì)算精度的要求都可以得到很大 的減輕。由于把支路電流的計(jì)算從原有的選代計(jì)算中分離出來,支路電流的計(jì)算不會影響 原有電路計(jì)算的收斂性。
圖1是本發(fā)明的一實(shí)施例的非線性電路直流工作點(diǎn)的支路電流計(jì)算流程圖;圖2和圖3為本發(fā)明的一個具體例子;及圖4是本發(fā)明的一實(shí)施例的非線性電路直流工作點(diǎn)的支路電流計(jì)算裝置。
具體實(shí)施例方式為便于更好的理解本發(fā)明的精神,以下結(jié)合本發(fā)明的優(yōu)選實(shí)施例對其作進(jìn)一步說 明。本發(fā)明在此所探討的方向?yàn)橐环N非線性電路直流工作點(diǎn)的支路電流計(jì)算方法與裝置。 為了能徹底地了解本發(fā)明,將在以下的描述中提出詳盡的步驟及組成。顯然,本發(fā)明的實(shí)施 并未限定于電路設(shè)計(jì)的技術(shù)人員所熟悉的特殊細(xì)節(jié)。另一方面,眾所周知的組成或步驟并 未描述于細(xì)節(jié)中,以避免造成本發(fā)明不必要的限制。本發(fā)明的較佳實(shí)施例會詳細(xì)描述如下, 然而除了這些詳細(xì)描述之外,本發(fā)明還可以廣泛地實(shí)施在其它的實(shí)施例中,且本發(fā)明的范 圍不受限定,其以權(quán)利要求書為準(zhǔn)。圖1是本發(fā)明的一實(shí)施例的非線性電路直流工作點(diǎn)的支路電流計(jì)算流程圖。在步驟11,依據(jù)該非線性電路而建立第一電路方程矩陣,并進(jìn)行直流工作點(diǎn)的計(jì)算。在這之前, 可選擇去掉所有為求解支路電流而插入的零伏電壓源,按改進(jìn)節(jié)點(diǎn)法建立電路方程,進(jìn)行 直流工作點(diǎn)的模擬計(jì)算。在步驟12,儲存計(jì)算收斂后的狀態(tài)變量。該狀態(tài)變量將在后續(xù)的 計(jì)算中節(jié)省許多運(yùn)算的次數(shù)。在步驟13,在欲得到支路電流的位置新增一零伏電壓源,并可 選擇按改進(jìn)節(jié)點(diǎn)法建立第二電路方程矩陣。以上為新建方程矩陣的準(zhǔn)備階段。在步驟14,將該狀態(tài)變量映入第二電路方程矩陣。由于新增零伏電壓源并不影響 電路的直流工作點(diǎn),從而可將所存儲的狀態(tài)變量映入新建方程矩陣。此外,由于插入的是零 伏電壓源,新增節(jié)點(diǎn)的節(jié)點(diǎn)電壓值也可從附近的節(jié)點(diǎn)得到。據(jù)此,新電路方程的狀態(tài)變量中 只有新增零伏電壓源的支路電流為未知量。在步驟15,依據(jù)該第二電路方程矩陣的矩陣元和右手邊向量而求得一支路電流探 測矩陣和支路電流探測右手邊向量。由于新增零伏電壓源并不影響電路的直流工作點(diǎn),該 第二電路方程矩陣的矩陣元和右手邊向量將只是原有狀態(tài)變量的函數(shù)。因此,為求解新增 零伏電壓源的支路電流,只需從新建電路矩陣和右手邊向量中分離出求解這些新增未知量 的相應(yīng)矩陣和右手邊向量,分別稱為支路電流探測矩陣和支路電流探測右手邊向量。根據(jù) 改進(jìn)節(jié)點(diǎn)法對獨(dú)立電壓源的填值規(guī)則可知支路電流探測矩陣構(gòu)成一個對角陣,其中對角 元根據(jù)插入的方向分別為+1或-1 ;而支路電流探測右手邊向量可根據(jù)方塊矩陣的運(yùn)算規(guī) 則從新建矩陣右手邊向量中減去新建矩陣與原狀態(tài)變量的乘積而獲得。在步驟16,依據(jù)該支路電流探測矩陣和支路電流探測右手邊向量而求得欲得到的 支路電流。由于支路電流探測矩陣是一個對角陣,因此求解由支路電流探測矩陣和支路電 流探測右手邊向量構(gòu)成的線性方程組是非常容易的。據(jù)此,本發(fā)明可容易的求出新增的支 路電流。圖2和圖3為本發(fā)明的一個具體例子,其中圖2代表原始的電路,圖3代表新增零 伏電壓源后的電路。為了簡化處理,圖2和圖3沒有包含非線性元器件,其中nl π4表示 節(jié)點(diǎn),bl表示支路1。首先,依據(jù)步驟11由改進(jìn)節(jié)點(diǎn)法建立方程組,如下nl1 2 3 4 1 η η η η bGan2 -G5-G GG2Gg-G4 - G6 1-G3-G -Gc + G0η30-G3 G3 + G3 0 0η4-G4GJ0bl-Il O0 0 0ΛΛV3 V4在步驟12,經(jīng)由迭代求解而得到收斂后的狀態(tài)變量(V1 V2 V3 V4 I1V.,并予以儲存。在步驟13,假設(shè)需要求解支路4和支路6的電流,則插入相應(yīng)的零伏電壓源,并按 改進(jìn)節(jié)點(diǎn)法建立第二電路方程矩陣如下(其中以b4,b6分別表示支路4和支路6)
權(quán)利要求
1.一種非線性電路直流工作點(diǎn)的支路電流計(jì)算方法,其特征在于包含如下步驟 依據(jù)該非線性電路而建立第一電路方程矩陣,并進(jìn)行直流工作點(diǎn)的計(jì)算; 儲存計(jì)算得到的收斂后的狀態(tài)變量;在欲得到支路電流的位置新增一零伏電壓源,并建立第二電路方程矩陣; 將該狀態(tài)變量映入該第二電路方程矩陣;依據(jù)該第二電路方程矩陣的矩陣元和右手邊向量而求得一支路電流探測矩陣和支路 電流探測右手邊向量;及依據(jù)該支路電流探測矩陣和支路電流探測右手邊向量而求得欲得到的支路電流。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于其中該支路電流探測矩陣構(gòu)成一對角陣。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于其中該對角陣的對角元依據(jù)插入的方向而 表示為+1或-1。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于其中該支路電流探測右手邊向量為該第二 電路方程矩陣的右手邊向量減去該第二電路方程矩陣與狀態(tài)變量的乘積。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于其中迭代計(jì)算僅出現(xiàn)于進(jìn)行直流工作點(diǎn)的計(jì)算。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于其中在加入零伏電壓源至求得欲得到支路 電流的步驟中不使用迭代計(jì)算。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于其中該第一電路方程矩陣及第二電路方程 矩陣是依據(jù)改進(jìn)節(jié)點(diǎn)法而建立。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于其中該新增零伏電壓源的節(jié)點(diǎn)電壓是由附 近的節(jié)點(diǎn)得到。
9.一種非線性電路直流工作點(diǎn)的支路電流計(jì)算裝置,其特征在于包含一第一計(jì)算單元,依據(jù)該非線性電路而建立第一電路方程矩陣,并進(jìn)行直流工作點(diǎn)的 計(jì)算;一儲存單元,儲存該第一計(jì)算單元經(jīng)計(jì)算得到的收斂后的狀態(tài)變量; 一組合單元,在欲得到支路電流的位置新增一零伏電壓源,建立第二電路方程矩陣,并 將該狀態(tài)變量映入該第二電路方程矩陣;一第二計(jì)算單元,依據(jù)該第二電路方程矩陣的矩陣元和右手邊向量而求得一支路電流 探測矩陣和支路電流探測右手邊向量;及一第三計(jì)算單元,依據(jù)該支路電流探測矩陣和支路電流探測右手邊向量而求得欲得到 的支路電流。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于其中該支路電流探測矩陣構(gòu)成一對角陣。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于其中該對角陣的對角元依據(jù)插入的方向 而表示為+1或-Io
12.根據(jù)權(quán)利要求9所述的裝置,其特征在于其中該支路電流探測右手邊向量為第二 電路方程矩陣的右手邊向量減去第二電路方程矩陣與狀態(tài)變量的乘積。
13.根據(jù)權(quán)利要求9所述的裝置,其特征在于其中僅該第一計(jì)算單元進(jìn)行迭代計(jì)算。
14.根據(jù)權(quán)利要求9所述的裝置,其特征在于其中該第二計(jì)算單元及第三計(jì)算單元不 進(jìn)行迭代計(jì)算。
15.根據(jù)權(quán)利要求9所述的裝置,其特征在于其中該第一電路方程矩陣及第二電路方 程矩陣是依據(jù)改進(jìn)節(jié)點(diǎn)法而建立。
16.根據(jù)權(quán)利要求9所述的裝置,其特征在于其中該新增零伏電壓源的節(jié)點(diǎn)電壓是由 附近的節(jié)點(diǎn)得到。
全文摘要
本發(fā)明涉及一種非線性電路直流工作點(diǎn)的支路電流計(jì)算方法及裝置,該方法包含如下步驟依據(jù)該非線性電路而建立第一電路方程矩陣,并進(jìn)行直流工作點(diǎn)的計(jì)算;儲存計(jì)算收斂后的狀態(tài)變量;在欲得到支路電流的位置新增一零伏電壓源,并建立第二電路方程矩陣;將該狀態(tài)變量映入第二電路方程矩陣;依據(jù)該第二電路方程矩陣的矩陣元和右手邊向量而求得一支路電流探測矩陣和支路電流探測右手邊向量;及依據(jù)該支路電流探測矩陣和支路電流探測右手邊向量而求得欲得到的支路電流。
文檔編號G06F17/50GK102054070SQ20091020963
公開日2011年5月11日 申請日期2009年10月30日 優(yōu)先權(quán)日2009年10月30日
發(fā)明者周松 申請人:新思科技(上海)有限公司