一种集成电路分析中进行整体回代求解和收敛性判定方法与流程

文档序号:25520888发布日期:2021-06-18 20:07阅读:192来源:国知局
一种集成电路分析中进行整体回代求解和收敛性判定方法与流程

本发明涉及eda电路仿真技术领域,特别涉及一种集成电路分析中进行整体回代求解和收敛性判定方法。



背景技术:

集成电路瞬态仿真,根本问题是在每个时间点求解大规模非线性方程组,对于非线性方程组的求解,需要采用牛顿迭代方法。而牛顿迭代方法的每一步,都需要在ax=b计算完成之后,检查阻尼系数(dampfactor)是否满足条件、进行收敛性判定后,再进行下一步操作。

对于大规模集成电路瞬态仿真,采用现有的方法,执行每次牛顿迭代过程,都要检查阻尼系数(dampfactor)是否满足条件、进行收敛性判定,使得每次牛顿迭代过程的时间比较缓慢,降低了仿真效率。如何快速执行每次牛顿迭代过程,成为一个重要技术问题。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种集成电路分析中进行整体回代求解和收敛性判定方法,在保证收敛性的基础上,减少线程同步次数,并根据需要减少dampfactor的检查,从流程上加快牛顿迭代中每次迭代的速度。

为实现上述目的,本发明提供的集成电路分析中进行整体回代求解和收敛性判定方法,包括以下步骤:

将电路进行层次划分,并在底层矩阵记录需要检查阻尼系数的支路;

对所有矩阵进行分解获得所有的层次矩阵;

对所述层次矩阵进行回代求解,并检查解的收敛性;

并行检查底层矩阵,判断是否需要检查阻尼系数。

进一步地,所述将电路进行层次划分,并在底层矩阵记录需要检查阻尼系数的支路的步骤,还包括,

将电路进行层次划分,器件全部置于底层,并在底层矩阵记录需要检查阻尼系数的支路。

进一步地,所述对所有矩阵进行分解获得所有的层次矩阵的步骤,还包括,

建立牛顿方程,在每次牛顿迭代中,自底层向上,对所有雅可比矩阵进行三角分解,得到层次矩阵。

进一步地,所述对所述层次矩阵进行回代求解,并检查解的收敛性的步骤,还包括,

求解顶层矩阵,之后并行求解下一层的所有矩阵,若还有下一层矩阵,则循环,求解下一层所有矩阵,最后并行求解底层所有矩阵;在求解的同时,对解进行收敛性检查。

进一步地,所述并行检查底层矩阵,判断是否需要检查阻尼系数的步骤,还包括,

针对层次矩阵进行舒尔补计算并进行三角回代所得的解,并行检查底层矩阵已标记的需要进行阻尼系数检查的分支的解,判断是否需要进行阻尼系数检查。

进一步地,所述并行检查底层矩阵已标记的需要进行阻尼系数检查的分支的解,判断是否需要进行阻尼系数检查的步骤,还包括,

当所述底层矩阵已标记的需要进行阻尼系数检查的分支的解超出设定阈值,则认为所述底层矩阵需要进行阻尼系数的检查。

更进一步地,在所述认为所述底层矩阵需要进行阻尼系数的检查的步骤之后,还包括,进行阻尼系数的检查调整方程的解的步骤。

为实现上述目的,本发明还提供一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的程序,所述处理器运行所述程序时执行上述的集成电路分析中进行整体回代求解和收敛性判定方法的步骤。

为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述的集成电路分析中进行整体回代求解和收敛性判定方法的步骤。

与现有技术相比,本发明的集成电路分析中进行整体回代求解和收敛性判定方法具有如下的有益效果:

因为多数情况不需要进行阻尼系数检查(damp),直接在回代求解的同时做收敛性检查,在保证收敛性的基础上,减少线程同步次数,并根据需要减少阻尼系数的检查,从流程上加快了牛顿迭代中每次迭代的速度。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明的集成电路分析中进行整体回代求解和收敛性判定方法的流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明实施例中,首先,将电路进行层次划分,将器件置于底层,并在底层矩阵记录需要进行阻尼系数检查的支路,对所有层次的矩阵进行三角分解;之后,对每个层次的矩阵自顶向下进行三角回代求解,并同时检查所有层次的矩阵的解的收敛性是否满足要求;若不收敛,并行检查底层矩阵是否需要进行阻尼系数检查;若进行阻尼系数检查则调整方程的解;之后进行其他操作。

实施例1

图1为根据本发明的集成电路分析中进行整体回代求解和收敛性判定方法的流程图,下面将参考图1,对本发明的集成电路分析中进行整体回代求解和收敛性判定方法进行详细描述。

首先,在步骤101,对电路进行层次划分,建立牛顿方程,并对所有矩阵进行分解。

本发明实施例中,是将电路进行层次划分,先把电路分为多个块,形成顶层和次顶层后,再对每一块再分,形成下一层,…,直至底层。在进行层次划分时,将器件全部置于底层,并在底层矩阵记录需要检查阻尼系数的支路。

本发明实施例中,建立牛顿方程后,在每次牛顿迭代中,自底层向上,对所有雅可比(jacobi)矩阵进行三角分解,获取每一层的层次矩阵。

在步骤102,对层次矩阵进行回代求解,同时检查解的收敛性。

本发明实施例中,自顶层至底层,对层次矩阵进行舒尔补计算并进行三角回代求解,同时检查解的收敛性,需等待当前层完成才可进行下一层,即进行线程同步。

本发明实施例中,先求解顶层矩阵,之后并行求解下一层的所有矩阵,若还有下一层矩阵,则循环,求解下一层所有矩阵,最后并行求解底层所有矩阵。在求解的同时,对解进行收敛性检查。

本发明实施例中,在求解的同时,对解进行收敛性检查,也就是将回代求解和收敛性检查一起进行,仅有一次层间同步。

在步骤103,对收敛性检查进行判断,如果判断层次矩阵的解为收敛,则结束;如果判断层次矩阵的解为不收敛,则进行下一步骤。

在步骤104,并行检查底层矩阵是否需要进行阻尼系数检查。

本发明实施例中,针对层次矩阵进行舒尔补计算并进行三角回代所得的解,并行检查底层矩阵已标记的需要进行阻尼系数检查的分支的解是否超出设定的阈值,进行是否需要进行阻尼系数检查的判断。

在步骤105,对是否需要进行阻尼系数检查的判断,如果底层矩阵已标记的需要进行阻尼系数检查的分支的解超出设定的阈值,则认为需要进行阻尼系数检查进入下一步骤;否则认为不需要进行阻尼系数检查,结束进行其它操作。

在步骤106,按需检查阻尼系数并根据阻尼系数的限制调整方程的解,使其变化不超过器件为支路预设好的阈值。

实施例2

本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的程序,处理器运行所述程序时执行上述集成电路分析中进行整体回代求解和收敛性判定方法的步骤。

实施例3

本发明还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述的集成电路分析中进行整体回代求解和收敛性判定方法的步骤,所述集成电路分析中进行整体回代求解和收敛性判定方法参见前述部分的介绍,不再赘述。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1