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

一種針對(duì)電路仿真中電路稀疏矩陣的快速lu分解方法

文檔序號(hào):6356968閱讀:700來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種針對(duì)電路仿真中電路稀疏矩陣的快速lu分解方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種針對(duì)電路仿真中電路稀疏矩陣的快速LU分解方法,屬于電子設(shè) 計(jì)自動(dòng)化(EDA)技術(shù)領(lǐng)域。
背景技術(shù)
在傳統(tǒng)的電路設(shè)計(jì)過(guò)程中,為了驗(yàn)證集成電路的連接和功能的完整性,以及預(yù)測(cè) 電路的行為,通常采用在面包板和印刷電路板上做實(shí)驗(yàn)來(lái)驗(yàn)證設(shè)計(jì)結(jié)果;但是對(duì)于集成電 路的驗(yàn)證與傳統(tǒng)電路不同,在集成電路成品生產(chǎn)之前,無(wú)法使用實(shí)驗(yàn)的方式來(lái)驗(yàn)證其性能。 為了提高集成電路正式生產(chǎn)時(shí)的良品率并降低集成電路設(shè)計(jì)成本,有必要在實(shí)際生產(chǎn)階段 開(kāi)始之前,使用計(jì)算機(jī)輔助集成電路設(shè)計(jì)(CAD)工具對(duì)其電路特性進(jìn)行檢查,以確保該電 路的性能。集成電路從誕生至今,經(jīng)歷了小規(guī)模(SSI)、中規(guī)模(MSI)、大規(guī)模(LSI)、超大規(guī) 模(VLSI)等多個(gè)發(fā)展階段。隨著微電子工業(yè)的發(fā)展,IC設(shè)計(jì)規(guī)模越來(lái)越龐大,系統(tǒng)結(jié)構(gòu)越 來(lái)越復(fù)雜,常用的CAD仿真工具(如SPICE、Spectre等)在面對(duì)規(guī)模和復(fù)雜度不斷增大的 VLSI芯片設(shè)計(jì)仿真任務(wù)時(shí)遇到了許多問(wèn)題,其中之一就是仿真周期隨著問(wèn)題電路的規(guī)模呈 現(xiàn)超線(xiàn)性的增長(zhǎng),對(duì)于常見(jiàn)的AD,PLL等數(shù)?;旌想娐?,其前仿周期已經(jīng)長(zhǎng)達(dá)幾天,后仿周 期甚至數(shù)月以至于無(wú)法進(jìn)行。IC設(shè)計(jì)制造業(yè)界提出并被大家廣泛接受和認(rèn)可的對(duì)仿真軟件 的要求是“理想的電路仿真應(yīng)該在12小時(shí)內(nèi)完成”,這樣可以最大程度的實(shí)現(xiàn)人機(jī)交互運(yùn) 作,提高芯片設(shè)計(jì)工作的效率,縮短設(shè)計(jì)周期,大大縮減設(shè)計(jì)成本。如何提高常用仿真軟件 的仿真效率,縮短其仿真VLSI電路的周期,以適應(yīng)現(xiàn)代集成電路設(shè)計(jì)的要求,是EDA領(lǐng)域一 個(gè)備受關(guān)注的課題。圖1中給出電路仿真中瞬態(tài)分析的程序流程圖,圖1中虛線(xiàn)框內(nèi)的操 作為牛頓-拉夫遜迭代的過(guò)程,在電路仿真中需要多次執(zhí)行(對(duì)于非線(xiàn)性電路,可能需要執(zhí) 行上萬(wàn)次甚至更多)。這些操作中電路矩陣LU的分解尤為耗時(shí),提高LU分解的速度對(duì)整個(gè) 電路仿真的加速起著舉足輕重的作用。LU分解法指的是將一個(gè)nXn的方矩陣A分解成一個(gè)下三角矩陣L和一個(gè)上三角 矩陣U的乘積,即A = LU,其中L和U也都是nXn的矩陣。從而求解線(xiàn)性方程組Ax = b (χ 和b均為η維列向量)的問(wèn)題轉(zhuǎn)化成求解兩個(gè)三角方程Ly = b和te = y (y是η維列向 量)。圖2顯示了 LU分解的基本形式,其中L和U未寫(xiě)數(shù)值的地方都是0。稀疏矩陣的LU分解過(guò)程包括預(yù)處理和數(shù)值分解兩部分。其中預(yù)處理是指使用一 定的算法對(duì)矩陣進(jìn)行行列交換以達(dá)到在數(shù)值分解過(guò)程中減少運(yùn)算量的目的,有些預(yù)處理方 法中還引入了選主元(選主元指的是將絕對(duì)值大的元素通過(guò)矩陣行列交換操作,交換到對(duì) 角線(xiàn)的位置上)的步驟,以保證分解過(guò)程中的數(shù)值穩(wěn)定性。不管采用哪種預(yù)處理方法,預(yù)處 理之后的矩陣只是對(duì)原矩陣進(jìn)行了一些行、列的交換,而沒(méi)有其他的變化。本發(fā)明主要針對(duì) LU分解算法的后者,即數(shù)值分解部分,后文提及的LU分解皆指數(shù)值分解部分。本發(fā)明并不 局限于某種特定的預(yù)處理方法,對(duì)于所有預(yù)處理方法都能適用。目前的LU分解算法大致可分為向左看算法(Left-looking Algorithm)和向右看算法(Right-looking Algorithm)兩大類(lèi),其中向左看算法由于對(duì)稀疏矩陣存儲(chǔ)結(jié) 構(gòu)有著很好的適應(yīng)性,在LU分解軟件中得到的廣泛的應(yīng)用。目前加州大學(xué)伯克利分校 (University ofCalifornia, Berkeley) Sherry Li 開(kāi)發(fā)的 SuperLU-Sequential 禾口弗羅里 達(dá)大學(xué)(Universityof Florida) Tim Davis開(kāi)發(fā)的KLU等軟件的LU分解部分都是以向左 看算法為基礎(chǔ),針對(duì)稀疏矩陣特點(diǎn)進(jìn)行了優(yōu)化。在向左看LU分解算法中,從第1列到第η列依次分解每一列,即每次計(jì)算一個(gè)列 向量。對(duì)每一列的分解可以概括為三個(gè)步驟符號(hào)分析、數(shù)值分解和數(shù)值分配,如圖3所 示。以正在計(jì)算第k列為例說(shuō)明。符號(hào)分析指從矩陣A的第k列的非零元結(jié)構(gòu)(非零元 結(jié)構(gòu)指的是一個(gè)集合,這個(gè)集合包括第k列上所有非零元素的行號(hào))計(jì)算出LU分解完成 后第k列上的非零元結(jié)構(gòu)。具體的符號(hào)分析所采用的算法,參見(jiàn)文獻(xiàn)J.R.Gi lbert and Ε. Ng, Predictingstructure in nonsymmetric sparse matrix factorizations, Graph Theory and SparseMatrix Computation,Springer-Verlag,1993。數(shù)值分析步驟是根據(jù) 這一列的符號(hào)分析結(jié)果進(jìn)行數(shù)值計(jì)算,從而獲得第k列的所有非零位置上的數(shù)值結(jié)果。數(shù) 值分析所采用的算法,參見(jiàn)文獻(xiàn) J.R. Gilbert and Τ. Peierls, Sparse partial pivoting in time proportionalto arithmetic operations,SIAM J. Sci. Statist. Comput. ,vol. 9, pp. 862-874,1988。最后一個(gè)步驟是數(shù)值分配,即將第k列的數(shù)值計(jì)算結(jié)果(是一個(gè)列向 量)中行號(hào)小于等于k的部分分配給U矩陣,行號(hào)大于等于k的部分分配給L矩陣。依次 對(duì)k = 1,2,. . .,η循環(huán)執(zhí)行上述步驟,即完成了對(duì)整個(gè)矩陣A的LU分解。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種針對(duì)電路仿真的快速LU分解算法。該算法調(diào)整了向左 看算法中不同步驟的執(zhí)行順序,如圖4所示,該算法將符號(hào)分析從循環(huán)中分離出來(lái),單獨(dú)執(zhí) 行。這樣利用電路仿真過(guò)程中矩陣非零元結(jié)構(gòu)不變的特點(diǎn),可以將從LU分解中分離出來(lái)的 符號(hào)分析這一步放在牛頓-拉夫遜迭代的循環(huán)外執(zhí)行,因此只計(jì)算一次即可,而在牛頓-拉 夫遜迭代的循環(huán)中多次執(zhí)行的只有數(shù)值分解和數(shù)值分配這兩步。通過(guò)這種調(diào)整降低了電路 仿真的整體復(fù)雜度。修改后的電路仿真瞬態(tài)分析的程序流程圖如圖5所示。本發(fā)明的特征在于,是在計(jì)算機(jī)中按以下的步驟實(shí)現(xiàn)的步驟(1),輸入要解析的電路的網(wǎng)單,步驟(2),建立ηΧη 的電路稀疏矩陣,包括 rajat05,rajatl9,add20,circuit_l, circuit_2, add32, meg4, rajat03, coupled, circuit_3, onetone2, cktl1752_dc_l, circuit_4, ASIC一100k, ASIC一100ks, del, trans4, G2_circuit, transient, ASIC_320ks, ASIC_680k, ASIC_680ks在內(nèi)的任何電路稀疏矩陣,步驟(3),選擇對(duì)角塊模式和非對(duì)角塊模式中的任何一種模式,對(duì)步驟O)中所建 立的電路稀疏矩陣進(jìn)行預(yù)處理,得到預(yù)處理之后的電路稀疏矩陣A,步驟,根據(jù)John R. Gilbert和Timothy Peierls提出的非零元符號(hào)分析方法, 對(duì)步驟C3)得到的所述ηΧη的電路稀疏矩陣A從第1列到第η列依次完成對(duì)所述電路稀 疏矩陣A的下三角矩陣L和上三角矩陣U的η列內(nèi)的非零結(jié)構(gòu)的計(jì)算,步驟( ,按照設(shè)定的瞬態(tài)仿真迭代次數(shù),依次按以下步驟進(jìn)行牛頓-拉夫遜迭 代
步驟(5. 1),按John R. Gilbert和Timothy Peierls提出的數(shù)值計(jì)算方法,根據(jù)步 驟(4)得到的所述非零結(jié)構(gòu),對(duì)步驟C3)得到的電路稀疏矩陣A進(jìn)行LU數(shù)值分解和數(shù)值分 配,A = LU,獲得三角方程,Ly = b和te = y,χ和b是電路線(xiàn)性方程組中的η維列向量,y 是求解過(guò)程中的η維列向量,步驟(5. 2),解步驟(5. 1)得到的三角方程Ly = b和te = y,并判斷解是否收斂若不收斂,則按照楊華中在《電子電路的計(jì)算機(jī)輔助分析與設(shè)計(jì)方法》中介紹的 方法,更新電路中的器件模型參數(shù)并根據(jù)更新后的器件模型參數(shù)更新所述電路稀疏矩陣A 的元素?cái)?shù)值,返回步驟(5. 1),若已經(jīng)收斂,則執(zhí)行步驟(6),步驟(6),判斷瞬態(tài)仿真是否結(jié)束若尚未結(jié)束,則計(jì)算下一個(gè)時(shí)間節(jié)點(diǎn),重新依次更新器件模型和矩陣A的元素?cái)?shù) 值,返回步驟(5. 1),若已結(jié)束,則打印解的信息,結(jié)束。利用本發(fā)明中將符號(hào)分析和數(shù)值分解分離的方法,可以實(shí)現(xiàn)對(duì)非零元結(jié)構(gòu)不變, 但矩陣內(nèi)數(shù)值變化的矩陣分解問(wèn)題的優(yōu)化,尤其是對(duì)于電路仿真這種問(wèn)題,可將原本需執(zhí) 行多次(電路仿真迭代的次數(shù))的符號(hào)分析的時(shí)間縮短到只執(zhí)行一次。在整體上,很大程 度的降低了電路仿真中LU分解的時(shí)間,進(jìn)而降低電路仿真的時(shí)間。實(shí)驗(yàn)結(jié)果表明本發(fā)明中 將符號(hào)分析和數(shù)值分解分離之后,LU分解的速度提高到了原來(lái)的1. 1-20. 1倍(平均加速 3. 29 ) ο


圖1為電路仿真瞬態(tài)分析的程序流程圖。圖2為L(zhǎng)U分解的基本形式。圖3為向左看LU分解算法的流程。圖4為本發(fā)明提出的LU分解方法流程。圖5為采用本發(fā)明中LU算法后的電路仿真瞬態(tài)分析的程序流程圖。圖6為本發(fā)明中所采用的符號(hào)分析方法中使用到的有向無(wú)環(huán)圖示例,其中,圖6. 1 為前9列已完成符號(hào)分析的下三角矩陣L,圖6. 2為圖6. 1中L矩陣前9列對(duì)應(yīng)的有向無(wú)環(huán) 圖。
具體實(shí)施例方式雖然很多學(xué)者在編寫(xiě)LU分解軟件時(shí)考慮到了電路矩陣的特點(diǎn),在向左看算法的 基礎(chǔ)上進(jìn)行了相應(yīng)的改進(jìn)(例如KLU中拋棄了 SuperLU中的超節(jié)點(diǎn)(Supernode)而使用塊 三角(BlockTriangular Form, BTF)的方式),但還沒(méi)有學(xué)者結(jié)合電路仿真流程的特點(diǎn),將 LU分解中的符號(hào)分析與數(shù)值分解分離開(kāi)執(zhí)行,以減少相同的符號(hào)分析的執(zhí)行次數(shù),進(jìn)而降 低整個(gè)電路仿真過(guò)程中LU分解的復(fù)雜度,減少處理時(shí)間。本發(fā)明提出的降低電路仿真整體復(fù)雜度的LU分解方法,結(jié)合

如下,其實(shí) 施步驟依次為
步驟1 對(duì)預(yù)處理(交換矩陣的行、列)之后的矩陣進(jìn)行符號(hào)分析,從第1列到第η 列依次完成對(duì)L和U的η列內(nèi)非零元結(jié)構(gòu)的計(jì)算;步驟2 利用步驟1中獲得的非零結(jié)構(gòu),對(duì)A進(jìn)行A = LU的數(shù)值分解,得到L和U 矩陣。這一步是通過(guò)從第1列到第η列依次完成對(duì)L和U的η列中所有數(shù)值的計(jì)算來(lái)完成。詳細(xì)的步驟說(shuō)明如下步驟1 對(duì)預(yù)處理(交換矩陣的行、列)之后的矩陣進(jìn)行符號(hào)分析,從第1列到第η 列依次完成對(duì)L和U的η列內(nèi)非零元結(jié)構(gòu)的計(jì)算;非零元符號(hào)分析采用了John R. Gilbert, Timothy Peierls 的文獻(xiàn) Sparse PartialPivoting in Time Proportional to Arithmetic Operations 中符號(hào)分析方法的 方法。對(duì)矩陣的第k列非零元的符號(hào)分析通過(guò)以下1. 1-1. 4完成1. 1 取A的第k列中的所有非零元的行號(hào)為集合B ;1. 2 將對(duì)第l-k-Ι列的符號(hào)分析結(jié)果中的L矩陣看做一張有向無(wú)環(huán)圖,矩陣L的 每一列對(duì)應(yīng)圖中一個(gè)節(jié)點(diǎn),即第j列對(duì)應(yīng)圖中節(jié)點(diǎn)j。如果第j列上的第i行為非零元,即 Lij Φ 0,則圖中存在一條從j指向i的邊。如圖6所示的例子,圖6為已完成第1-9列符號(hào) 分析的L ;1. 3 從集合B中的每一個(gè)元素為起點(diǎn)在L矩陣對(duì)應(yīng)的有向無(wú)環(huán)圖中進(jìn)行深度優(yōu)先 搜索。深度優(yōu)先搜索(D^th-First Search)的過(guò)程可表述為假設(shè)頂點(diǎn)ν為深度優(yōu)先遍歷 的起點(diǎn)(源點(diǎn)),那么首先訪問(wèn)出發(fā)點(diǎn)V,并將其標(biāo)記為“已訪問(wèn)過(guò)”;然后依次從ν出發(fā)搜 索ν的每個(gè)鄰接點(diǎn)W。若w沒(méi)有被訪問(wèn)過(guò),則以w為新的出發(fā)點(diǎn)繼續(xù)進(jìn)行深度優(yōu)先搜索,否 則頂點(diǎn)w已被訪問(wèn)過(guò),則跳過(guò)它繼續(xù)尋找下一個(gè)沒(méi)有被訪問(wèn)過(guò)的頂點(diǎn)。因此深度優(yōu)先遍歷 是一個(gè)遞歸的過(guò)程,直到圖中所有的點(diǎn)都被訪問(wèn)過(guò)為止。在遍歷的同時(shí)將B中每一個(gè)元素 為起點(diǎn)進(jìn)行深度優(yōu)先遍歷所訪問(wèn)到的頂點(diǎn)號(hào)按順序存入一個(gè)對(duì)應(yīng)的序列,這樣集合B有幾 個(gè)元素,就獲得了幾個(gè)遍歷序列;1. 4 將所有深度優(yōu)先搜索出的節(jié)點(diǎn)按圖的拓?fù)浣Y(jié)構(gòu)排列,所獲得的序列就是第k 列的符號(hào)分析結(jié)果,這一步實(shí)際上實(shí)質(zhì)上是將1. 3中獲得的深度優(yōu)先遍歷的序列按反序排 列所得。假設(shè)B中有3個(gè)非零元{al,a2, a 3},通過(guò)1. 3的方法深度優(yōu)先搜索得到的序列 分別為Ral,Ra2和Ra3,其中Ra3中不包含Ral和Ra2中已搜索的節(jié)點(diǎn),那么將這三個(gè)序列反向 排序,即IRa3UaJ便是按圖的拓?fù)浣Y(jié)構(gòu)的排列。通過(guò)對(duì)第1-Π列均執(zhí)行1. 1-1. 4這4步,就可以實(shí)現(xiàn)對(duì)整個(gè)L和U矩陣的非零元 的符號(hào)分析。以圖6中的有向無(wú)環(huán)圖為例,第1-9列的非零元結(jié)構(gòu)已計(jì)算完成,現(xiàn)需計(jì)算第10 列分解后的非零元結(jié)構(gòu)。假設(shè)矩陣A的第10列中第4,6,10行的值為非零,即集合B= {4, 6,10}。則從B中的第一個(gè)元素4開(kāi)始獲得深度優(yōu)先遍歷序列R4= {4,9,12,13},將這些節(jié) 點(diǎn)標(biāo)記為已訪問(wèn)過(guò)。從B的第二個(gè)元素6開(kāi)始深度優(yōu)先遍歷可得到{6,10},同樣,從 B的第三個(gè)元素10開(kāi)始深度優(yōu)先遍歷可獲得兄(空集)。因此非零元的集合{R1(l,R6, R4= {6,10,4,9,12,13}就是預(yù)測(cè)出的L和U在第10列中的非零元的位置。步驟2 利用步驟1中獲得的非零結(jié)構(gòu),對(duì)A進(jìn)行A = LU的數(shù)值分解,得到L和 U矩陣。這一步是通過(guò)從第1列到第η列依次完成對(duì)L和U的η列中所有數(shù)值的計(jì)算來(lái) 完成。數(shù)值分析米用文獻(xiàn) J. R. Gilbert and Τ. Peierls,Sparse partial pivoting intime proportionalto arithmetic operations, SIAM J. Sci. Statist. Comput. , vol.9, pp. 862-874,1988中的方法。分解過(guò)程從第1列到第η列按列依次進(jìn)行,對(duì)每一列的分解可 通過(guò)如下3步實(shí)現(xiàn)2. 1 展開(kāi)將矩陣A的第k列數(shù)值存入數(shù)組,記這個(gè)數(shù)組為Dk (是一個(gè)列向量);2. 2 更新根據(jù)步驟1中得到的第k列的非零元結(jié)構(gòu),從第1個(gè)非零元開(kāi)始,如果 這個(gè)非零元在對(duì)角線(xiàn)上方(即它的行號(hào)i < k),那么就通過(guò)這個(gè)非零元來(lái)對(duì)當(dāng)前數(shù)組中的 元素進(jìn)行更新,更新方法為Dk = Dk-AikIi,其中Aik為矩陣A中第i行第k列位置上的值,Li 為矩陣L中第i列的值(列向量)。這一過(guò)程直至第k列中所有非零元都已搜索過(guò)。2. 3數(shù)值分配將2. 2完成過(guò)后的Dk中所有的非零元素,如果非零元在對(duì)角線(xiàn)上方 (包括對(duì)角線(xiàn),即行號(hào)i < k),則將這個(gè)非零元的行號(hào)以及數(shù)組中對(duì)應(yīng)的值寫(xiě)入U(xiǎn)矩陣,否 則將這個(gè)非零元的行號(hào)以及數(shù)組中對(duì)應(yīng)的值與對(duì)角元的比值寫(xiě)入L矩陣。依次對(duì)矩陣A的第1-n列執(zhí)行2. 1-2. 3這3步操作,便可實(shí)現(xiàn)對(duì)該矩陣的LU數(shù)值 分解。由于在電路仿真問(wèn)題中,步驟1只需執(zhí)行一次,需要多次循環(huán)執(zhí)行的只有步驟2,因 此電路仿真中LU分解的時(shí)間主要取決于步驟2。下表顯示了對(duì)弗羅里達(dá)大學(xué)稀疏矩陣集 (University of Florida Sparse Matrix Collection)中所收集的部分電路矩陣,使用本 發(fā)明中的方法和LU分解軟件KLU測(cè)試的分解時(shí)間以及本方法對(duì)KLU的加速比,測(cè)試本方法 和KLU的測(cè)試環(huán)境均為htel 7 930 CPU,6G DDR3 1066MHz。由于KLU可以配置成使用對(duì) 角塊(BTF)和不使用對(duì)角塊的模式,為了保證比較的公平性,比較了本方法相比使用對(duì)角 塊和不使用對(duì)角塊模式下的KLU的性能。從下表結(jié)果可以看出,在使用對(duì)角塊的模式下,本方法相比KLU能取得1. 1-7. 3倍 的加速,平均加速2. 78倍;當(dāng)不使用對(duì)角塊時(shí),本方法相比KLU能去的1. 1-20. 1倍的加速, 平均加速3. 80倍。綜合考慮兩種模式下的性能,加速比為3. 29倍。
權(quán)利要求
1. 一種針對(duì)電路仿真中電路稀疏矩陣的快速LU分解方法,其特征在于,是在計(jì)算機(jī)中 按以下的步驟實(shí)現(xiàn)的步驟(1),輸入要解析的電路的網(wǎng)單,步驟(2),建立 nXn 的電路稀疏矩陣,包括 rajat05,rajatl9,add20, circuit_l, circuit_2, add32, meg4, rajat03, coupled, circuit_3, onetone2, cktll752_dc_l, circuit_4, ASIC一100k, ASIC一lOOks, del, trans4, G2_circuit, transient, ASIC_320ks, ASIC_680k, ASIC_680ks在內(nèi)的任何電路稀疏矩陣,步驟(3),選擇對(duì)角塊模式和非對(duì)角塊模式中的任何一種模式,對(duì)步驟O)中所建立的 電路稀疏矩陣進(jìn)行預(yù)處理,得到預(yù)處理之后的電路稀疏矩陣A,步驟G),根據(jù)John R. Gilbert和Timothy Peierls提出的非零元符號(hào)分析方法,對(duì)步 驟C3)得到的所述nXn的電路稀疏矩陣A從第1列到第η列依次完成對(duì)所述電路稀疏矩 陣A的下三角矩陣L和上三角矩陣U的η列內(nèi)的非零結(jié)構(gòu)的計(jì)算,步驟(5),按照設(shè)定的瞬態(tài)仿真迭代次數(shù),依次按以下步驟進(jìn)行牛頓-拉夫遜迭代 步驟(5. 1),按John R. Gilbert和Timothy Peierls提出的數(shù)值計(jì)算方法,根據(jù)步驟 (4)得到的所述非零結(jié)構(gòu),對(duì)步驟C3)得到的電路稀疏矩陣A進(jìn)行LU數(shù)值分解和數(shù)值分配, A = LU,獲得三角方程,Ly = b和te = y,χ和b是電路線(xiàn)性方程組中的η維列向量,y是 求解過(guò)程中的η維列向量,步驟(5. 2),解步驟(5. 1)得到的三角方程Ly = b和te = y,并判斷解是否收斂 若不收斂,則按照楊華中在《電子電路的計(jì)算機(jī)輔助分析與設(shè)計(jì)方法》中介紹的方法, 更新電路中的器件模型參數(shù)并根據(jù)更新后的器件模型參數(shù)更新所述電路稀疏矩陣A的元 素?cái)?shù)值,返回步驟(5. 1),若已經(jīng)收斂,則執(zhí)行步驟(6), 步驟(6),判斷瞬態(tài)仿真是否結(jié)束若尚未結(jié)束,則計(jì)算下一個(gè)時(shí)間節(jié)點(diǎn),重新依次更新器件模型和矩陣A的元素?cái)?shù)值, 返回步驟(5. 1),若已結(jié)束,則打印解的信息,結(jié)束。
全文摘要
一種針對(duì)電路仿真中電路稀疏矩陣的快速LU分解方法,屬于EDA技術(shù)領(lǐng)域。本發(fā)明所述方法包括符號(hào)分析和LU分解計(jì)算;其中,所述符號(hào)分析是對(duì)預(yù)處理后的矩陣進(jìn)行分析預(yù)測(cè)出該矩陣在完成LU分解后的矩陣L和U的各列非零元結(jié)構(gòu);所述LU分解計(jì)算是基于所述符號(hào)分析得出的矩陣L和U的非零元結(jié)構(gòu),依次對(duì)矩陣的各列進(jìn)行數(shù)值求解和數(shù)值分配處理,得出LU分解后的矩陣L和矩陣U。本發(fā)明的特征在于,將符號(hào)分析從LU分解循環(huán)中分離出來(lái),在電路仿真過(guò)程中可將符號(hào)分析放在牛頓-拉夫遜迭代的循環(huán)外執(zhí)行,只執(zhí)行一次符號(hào)分析,能有效降低電路仿真的復(fù)雜度,提高LU分解的速度,進(jìn)而加速整個(gè)電路仿真的速度。
文檔編號(hào)G06F17/50GK102142052SQ20111007602
公開(kāi)日2011年8月3日 申請(qǐng)日期2011年3月28日 優(yōu)先權(quán)日2011年3月28日
發(fā)明者楊華中, 武偉, 汪玉, 陳曉明 申請(qǐng)人:清華大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
都江堰市| 北碚区| 灌阳县| 台南县| 公安县| 云和县| 岱山县| 黔南| 驻马店市| 杭锦旗| 雷波县| 广宗县| 密山市| 长葛市| 林州市| 辽源市| 洱源县| 东台市| 富顺县| 博爱县| 丹凤县| 饶平县| 体育| 将乐县| 陆川县| 潍坊市| 荣成市| 满洲里市| 韶山市| 黎城县| 满城县| 新竹县| 耒阳市| 西宁市| 高邮市| 邮箱| 花垣县| 南雄市| 玉树县| 安达市| 乌恰县|