当前位置: 首页 > 专利查询>清华大学专利>正文

一种针对电路仿真中电路稀疏矩阵的快速LU分解方法技术

技术编号:6107879 阅读:505 留言:1更新日期:2012-04-11 18:40
一种针对电路仿真中电路稀疏矩阵的快速LU分解方法,属于EDA技术领域。本发明专利技术所述方法包括:符号分析和LU分解计算;其中,所述符号分析是对预处理后的矩阵进行分析预测出该矩阵在完成LU分解后的矩阵L和U的各列非零元结构;所述LU分解计算是基于所述符号分析得出的矩阵L和U的非零元结构,依次对矩阵的各列进行数值求解和数值分配处理,得出LU分解后的矩阵L和矩阵U。本发明专利技术的特征在于,将符号分析从LU分解循环中分离出来,在电路仿真过程中可将符号分析放在牛顿-拉夫逊迭代的循环外执行,只执行一次符号分析,能有效降低电路仿真的复杂度,提高LU分解的速度,进而加速整个电路仿真的速度。

【技术实现步骤摘要】

本专利技术涉及一种针对电路仿真中电路稀疏矩阵的快速LU分解方法,属于电子设 计自动化(EDA)

技术介绍
在传统的电路设计过程中,为了验证集成电路的连接和功能的完整性,以及预测 电路的行为,通常采用在面包板和印刷电路板上做实验来验证设计结果;但是对于集成电 路的验证与传统电路不同,在集成电路成品生产之前,无法使用实验的方式来验证其性能。 为了提高集成电路正式生产时的良品率并降低集成电路设计成本,有必要在实际生产阶段 开始之前,使用计算机辅助集成电路设计(CAD)工具对其电路特性进行检查,以确保该电 路的性能。集成电路从诞生至今,经历了小规模(SSI)、中规模(MSI)、大规模(LSI)、超大规 模(VLSI)等多个发展阶段。随着微电子工业的发展,IC设计规模越来越庞大,系统结构越 来越复杂,常用的CAD仿真工具(如SPICE、Spectre等)在面对规模和复杂度不断增大的 VLSI芯片设计仿真任务时遇到了许多问题,其中之一就是仿真周期随着问题电路的规模呈 现超线性的增长,对于常见的AD,PLL等数模混合电路,其前仿周期已经长达几天,后仿周 期甚至数月以至于无法进行。IC设计制造业界提出并被大家广泛接受和认可的对仿真软件 的要求是“理想的电路仿真应该在12小时内完成”,这样可以最大程度的实现人机交互运 作,提高芯片设计工作的效率,缩短设计周期,大大缩减设计成本。如何提高常用仿真软件 的仿真效率,缩短其仿真VLSI电路的周期,以适应现代集成电路设计的要求,是EDA领域一 个备受关注的课题。图1中给出电路仿真中瞬态分析的程序流程图,图1中虚线框内的操 作为牛顿-拉夫逊迭代的过程,在电路仿真中需要多次执行(对于非线性电路,可能需要执 行上万次甚至更多)。这些操作中电路矩阵LU的分解尤为耗时,提高LU分解的速度对整个 电路仿真的加速起着举足轻重的作用。LU分解法指的是将一个nXn的方矩阵A分解成一个下三角矩阵L和一个上三角 矩阵U的乘积,即A = LU,其中L和U也都是nXn的矩阵。从而求解线性方程组Ax = b (χ 和b均为η维列向量)的问题转化成求解两个三角方程Ly = b和te = y (y是η维列向 量)。图2显示了 LU分解的基本形式,其中L和U未写数值的地方都是0。稀疏矩阵的LU分解过程包括预处理和数值分解两部分。其中预处理是指使用一 定的算法对矩阵进行行列交换以达到在数值分解过程中减少运算量的目的,有些预处理方 法中还引入了选主元(选主元指的是将绝对值大的元素通过矩阵行列交换操作,交换到对 角线的位置上)的步骤,以保证分解过程中的数值稳定性。不管采用哪种预处理方法,预处 理之后的矩阵只是对原矩阵进行了一些行、列的交换,而没有其他的变化。本专利技术主要针对 LU分解算法的后者,即数值分解部分,后文提及的LU分解皆指数值分解部分。本专利技术并不 局限于某种特定的预处理方法,对于所有预处理方法都能适用。目前的LU分解算法大致可分为向左看算法(Left-looking Algorithm)和向右看算法(Right-looking Algorithm)两大类,其中向左看算法由于对稀疏矩阵存储结 构有着很好的适应性,在LU分解软件中得到的广泛的应用。目前加州大学伯克利分校 (University ofCalifornia, Berkeley) Sherry Li 开发的 SuperLU-Sequential 禾口弗罗里 达大学(Universityof Florida) Tim Davis开发的KLU等软件的LU分解部分都是以向左 看算法为基础,针对稀疏矩阵特点进行了优化。在向左看LU分解算法中,从第1列到第η列依次分解每一列,即每次计算一个列 向量。对每一列的分解可以概括为三个步骤符号分析、数值分解和数值分配,如图3所 示。以正在计算第k列为例说明。符号分析指从矩阵A的第k列的非零元结构(非零元 结构指的是一个集合,这个集合包括第k列上所有非零元素的行号)计算出LU分解完成 后第k列上的非零元结构。具体的符号分析所采用的算法,参见文献J.R.Gi lbert and Ε. Ng, Predictingstructure in nonsymmetric sparse matrix factorizations, Graph Theory and SparseMatrix Computation,Springer-Verlag,1993。数值分析步骤是根据 这一列的符号分析结果进行数值计算,从而获得第k列的所有非零位置上的数值结果。数 值分析所采用的算法,参见文献 J.R. Gilbert and Τ. Peierls, Sparse partial pivoting in time proportionalto arithmetic operations,SIAM J. Sci. Statist. Comput. ,vol. 9, pp. 862-874,1988。最后一个步骤是数值分配,即将第k列的数值计算结果(是一个列向 量)中行号小于等于k的部分分配给U矩阵,行号大于等于k的部分分配给L矩阵。依次 对k = 1,2,. . .,η循环执行上述步骤,即完成了对整个矩阵A的LU分解。
技术实现思路
本专利技术的目的是提供一种针对电路仿真的快速LU分解算法。该算法调整了向左 看算法中不同步骤的执行顺序,如图4所示,该算法将符号分析从循环中分离出来,单独执 行。这样利用电路仿真过程中矩阵非零元结构不变的特点,可以将从LU分解中分离出来的 符号分析这一步放在牛顿-拉夫逊迭代的循环外执行,因此只计算一次即可,而在牛顿-拉 夫逊迭代的循环中多次执行的只有数值分解和数值分配这两步。通过这种调整降低了电路 仿真的整体复杂度。修改后的电路仿真瞬态分析的程序流程图如图5所示。本专利技术的特征在于,是在计算机中按以下的步骤实现的步骤(1),输入要解析的电路的网单,步骤(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在内的任何电路稀疏矩阵,步骤(3),选择对角块模式和非对角块模式中的任何一种模式,对步骤O)中所建 立的电路稀疏矩阵进行预处理,得到预处理之后的电路稀疏矩阵A,步骤,根据John R. Gilbert和Timothy Peierls提出的非零元符号分析方法, 对步骤C3)得到的所述ηΧη的电路稀疏矩阵A从第1列到第η列依次完成对所述电路稀 疏矩阵A的下三角矩阵L和上三角矩阵U的η列内的非零结构的计算,步骤( ,按照设定的瞬态仿真迭代次数,依次按以下步骤进行牛顿-拉夫逊迭 代步骤(5. 1),按John R. Gilbert和Timothy Peierls提出的数值计算方法,根据步 骤(4)得到的所述本文档来自技高网
...

【技术保护点】
1.一种针对电路仿真中电路稀疏矩阵的快速LU分解方法,其特征在于,是在计算机中按以下的步骤实现的:步骤(1),输入要解析的电路的网单,步骤(2),建立n×n的电路稀疏矩阵,包括rajat05,rajat19,add20,circuit_1,circuit_2,add32,meg4,rajat03,coupled,circuit_3,onetone2,ckt11752_dc_1,circuit_4,ASIC_100k,ASIC_100ks,dc1,trans4,G2_circuit,transient,ASIC_320ks,ASIC_680k,ASIC_680ks在内的任何电路稀疏矩阵,步骤(3),选择对角块模式和非对角块模式中的任何一种模式,对步骤(2)中所建立的电路稀疏矩阵进行预处理,得到预处理之后的电路稀疏矩阵A,步骤(4),根据John R.Gilbert和Timothy Peierls提出的非零元符号分析方法,对步骤(3)得到的所述n×n的电路稀疏矩阵A从第1列到第n列依次完成对所述电路稀疏矩阵A的下三角矩阵L和上三角矩阵U的n列内的非零结构的计算,步骤(5),按照设定的瞬态仿真迭代次数,依次按以下步骤进行牛顿-拉夫逊迭代:步骤(5.1),按John R.Gilbert和Timothy Peierls提出的数值计算方法,根据步骤(4)得到的所述非零结构,对步骤(3)得到的电路稀疏矩阵A进行LU数值分解和数值分配,A=LU,获得三角方程,Ly=b和Ux=y,x和b是电路线性方程组中的n维列向量,y是求解过程中的n维列向量,步骤(5.2),解步骤(5.1)得到的三角方程Ly=b和Ux=y,并判断解是否收敛:若:不收敛,则按照杨华中在《电子电路的计算机辅助分析与设计方法》中介绍的方法,更新电路中的器件模型参数并根据更新后的器件模型参数更新所述电路稀疏矩阵A的元素数值,返回步骤(5.1),若:已经收敛,则执行步骤(6),步骤(6),判断瞬态仿真是否结束:若:尚未结束,则计算下一个时间节点,重新依次更新器件模型和矩阵A的元素数值,返回步骤(5.1),若:已结束,则打印解的信息,结束。...

【技术特征摘要】

【专利技术属性】
技术研发人员:汪玉武伟陈晓明杨华中
申请(专利权)人:清华大学
类型:发明
国别省市:11

网友询问留言 已有1条评论
  • 来自[北京市联通互联网数据中心] 2014年12月06日 07:43
    电路仿真顾名思义就是设计好的电路图通过仿真软件进行实时模拟模拟出实际功能然后通过其分析改进从而实现电路的优化设计是EDA电子设计自动化的一部分
    0
1