CN114925641A - 一种基于谐波平衡的电路仿真方法、装置及存储介质 - Google Patents
一种基于谐波平衡的电路仿真方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114925641A CN114925641A CN202210421916.9A CN202210421916A CN114925641A CN 114925641 A CN114925641 A CN 114925641A CN 202210421916 A CN202210421916 A CN 202210421916A CN 114925641 A CN114925641 A CN 114925641A
- Authority
- CN
- China
- Prior art keywords
- matrix
- zero
- block
- circuit simulation
- harmonic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 44
- 239000011159 matrix material Substances 0.000 claims abstract description 289
- 230000000903 blocking effect Effects 0.000 claims abstract description 46
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 42
- 238000000638 solvent extraction Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000005284 excitation Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E40/00—Technologies for an efficient electrical power generation, transmission or distribution
- Y02E40/40—Arrangements for reducing harmonics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及电路仿真领域,具体是涉及一种基于谐波平衡的电路仿真方法、装置及存储介质。获取原始矩阵,所述原始矩阵中的元素与电路所涉及到的参数相对应;对所述原始矩阵进行分块处理,得到分块目标矩阵;对所述分块目标矩阵应用谐波平衡算法,得到电路仿真结果。本发明对原始矩阵进行分块处理,得到一个一个的分块目标矩阵,以此实现将原始矩阵化整为零。谐波平衡算法在每次迭代运算时通过对分块目标矩阵的操作,能够实现分块目标矩阵快速的存取操作,从而提高了运算速度,进而提高了通过谐波平衡算法得到电路仿真结果的速度。另外,本发明的电路仿真程序是在GPU上进行运行的,能够进一步提高本发明的电路仿真运行速度。
Description
技术领域
本发明涉及电路仿真领域,具体是涉及一种基于谐波平衡的电路仿真方法、装置及存储介质。
背景技术
电路仿真器是大多数电子设计自动化(EDA)工具的组成部分。现代电路仿真器中通常需要进行密集的数值计算任务,例如瞬态时域仿真、直流工作点计算和具有周期性激励的电路稳态分析等,而现有技术常采用谐波平衡方法(电路稳态分析的其中一个方法)通过对线路涉及到的矩阵进行运算而得到电路稳态响应的结果。
谐波平衡方法将稳态问题表述为非线性方程组,用傅里叶级数表示电路波形,其傅里叶系数为未知数,谐波平衡方法计算任务是每次迭代时对电路所涉及到的矩阵进行运算。直接对矩阵进行运算会降低每次迭代计算速度,从而增加了得到电路仿真结果所需要的仿真时间。
综上所述,现有技术的谐波平衡的电路仿真速度较慢。
因此,现有技术还有待改进和提高。
发明内容
为解决上述技术问题,本发明提供了一种基于谐波平衡的电路仿真方法、装置及存储介质,解决了现有技术的谐波平衡的电路仿真速度较慢的问题。
为实现上述目的,本发明采用了以下技术方案:
第一方面,本发明提供一种基于谐波平衡的电路仿真方法,其中,包括:
获取电路所对应的参数;
依据所述参数,建立原始矩阵;
对所述原始矩阵进行分块处理,得到分块目标矩阵;
对所述分块目标矩阵应用谐波平衡算法,得到电路仿真结果。
在一种实现方式中,所述对所述原始矩阵进行分块处理,得到分块目标矩阵,包括:
依据所述原始矩阵,得到所述原始矩阵中的雅可比矩阵;
对所述雅可比矩阵按照方形矩阵进行分块,得到所述分块目标矩阵。
在一种实现方式中,所述对所述雅可比矩阵按照方形矩阵进行分块,得到所述分块目标矩阵,包括:
设定所述方形矩阵的尺寸;
按照所述方形矩阵的尺寸对所述雅可比矩阵进行分块,得到各个分块矩阵;
依据各个所述分块矩阵所对应的值,将各个所述分块矩阵划分成零矩阵和非零矩阵,零矩阵即矩阵中的各个元素均为零;
统计各个所述非零矩阵所包含的零元素总量;
调整所述方形矩阵的尺寸之后对所述雅可比矩阵进行分块,计算每次分块所得到的各个所述非零矩阵所包含的零元素总量;
从所有的所述零元素总量中挑选出最少的所述零元素总量;
依据最少的所述零元素总量,得到与最少的所述零元素总量所对应的所述分块目标矩阵。
在一种实现方式中,所述对所述分块目标矩阵应用谐波平衡算法,得到电路仿真结果,包括:
依据所述分块目标矩阵,得到所述分块目标矩阵所包含的分块目标零矩阵和分块目标非零矩阵,所述分块目标零矩阵中的各个元素均为零;
将所述分块目标非零矩阵保存至CPU中;
应用谐波平衡算法时从CPU中调取所述分块目标非零矩阵,得到电路仿真结果。
在一种实现方式中,所述将所述分块目标非零矩阵保存至CPU中,包括:
依据所述分块目标非零矩阵,得到所述分块目标非零矩阵的内部非零元素排列信息;
依据所述非零元素排列信息,将所述分块目标非零矩阵保存至CPU中。
在一种实现方式中,所述依据所述非零元素排列信息,将所述分块目标非零矩阵保存至CPU中,包括:
依据所述非零元素排列信息,所述分块目标非零矩阵所包含的全块矩阵、对角块矩阵、半对角块矩阵,所述全块矩阵中的所有元素都是非零元素;所述对角块矩阵的对角线上元素均为非零元素,且对角线两侧的元素均为零;所述半对角块矩阵的对角线上元素均为非零元素,且对角线其中一侧的的元素为零;
将所述全块矩阵、所述对角块矩阵、所述半对角块矩阵分别保存至CPU不同位置处。
在一种实现方式中,所述应用谐波平衡算法时从CPU中调取所述分块目标非零矩阵,得到电路仿真结果,包括:
将所述全块矩阵、所述对角块矩阵、所述半对角块矩阵移动至GPU上,在GPU上进行谐波平衡算法的迭代运算,得到电路仿真结果。
第二方面,本发明实施例还提供一种基于谐波平衡的电路仿真装置,其中,所述装置包括如下组成部分:
数据采集模块,用于获取原始矩阵,所述原始矩阵中的元素与电路所涉及到的参数相对应;
数据处理模块,用于对所述原始矩阵进行分块处理,得到分块目标矩阵;
电路仿真模块,用于对所述分块目标矩阵应用谐波平衡算法,得到电路仿真结果。
第三方面,本发明实施例还提供一种终端设备,其中,所述终端设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的基于谐波平衡的电路仿真程序,所述处理器执行所述基于谐波平衡的电路仿真程序时,实现上述所述的基于谐波平衡的电路仿真方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于谐波平衡的电路仿真程序,所述基于谐波平衡的电路仿真程序被处理器执行时,实现上述所述的基于谐波平衡的电路仿真方法的步骤。
有益效果:本发明对原始矩阵进行分块处理,得到一个一个的分块目标矩阵,以此实现将原始矩阵化整为零,谐波平衡算法在每次迭代运算时通过对分块目标矩阵的操作,能够实现分块目标矩阵快速的存取操作,从而提高了运算速度,进而提高了通过谐波平衡算法得到电路仿真结果的速度。
附图说明
图1为本发明的整体流程图;
图2为本发明的谐波平衡算法流程图;
图3为BKLU主要计算任务的CPU占比示意图;
图4为本发明实施例提供的终端设备的内部结构原理框图。
具体实施方式
以下结合实施例和说明书附图,对本发明中的技术方案进行清楚、完整地描述。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
经研究发现,电路仿真器是大多数电子设计自动化(EDA)工具的组成部分。现代电路仿真器中通常需要进行密集的数值计算任务,例如瞬态时域仿真、直流工作点计算和具有周期性激励的电路稳态分析等,而现有技术常采用谐波平衡方法(电路稳态分析的其中一个方法)通过对线路涉及到的矩阵进行运算而得到电路稳态响应的结果。谐波平衡方法将稳态问题表述为非线性方程组,用傅里叶级数表示电路波形,其傅里叶系数为未知数,谐波平衡方法计算任务是每次迭代时对电路所涉及到的矩阵进行运算。直接对矩阵进行运算会降低每次迭代计算速度,从而增加了得到电路仿真结果所需要的仿真时间。
为解决上述技术问题,本发明提供了一种基于谐波平衡的电路仿真方法、装置及存储介质,解决了现有技术的谐波平衡的电路仿真速度较慢的问题。具体实施时,获取原始矩阵,所述原始矩阵中的元素与电路所涉及到的参数相对应;对所述原始矩阵进行分块处理,得到分块目标矩阵;对所述分块目标矩阵应用谐波平衡算法,得到电路仿真结果。能够实现分块目标矩阵快速地存取操作,从而提高了运算速度,进而提高了通过谐波平衡算法得到电路仿真结果的速度。
举例说明,原始矩阵是10x10的矩阵,将该矩阵划分成4个5x5的分块目标矩阵,这样就可以在CPU上并行同时进行对这4个分块目标矩阵的存储,从而加速了谐波平衡算法的运算速度。
示例性方法
本实施例的一种基于谐波平衡的电路仿真方法可应用于终端设备中,所述终端设备可为具有电路仿真功能的终端产品,比如电脑等。在本实施例中,如图1中所示,所述基于谐波平衡的电路仿真方法具体包括如下步骤:
S100,获取原始矩阵,所述原始矩阵中的元素与电路所涉及到的参数相对应。
本实施例获取电路所对应的参数,再依据参数,建立原始矩阵,原始矩阵中的每一个元素都是根据电路所对应的参数计算而来的。
本实施例中的原始矩阵为雅可比矩阵,而雅可比矩阵,是由频域线性子电路电压初始值向量乘以傅里叶逆矩阵,再通过非线性矩阵隐式运算,同傅里叶矩阵相乘,再加上电导代数矩阵所得。即雅可比矩阵是由误差函数对线性子电路电压(频域)的偏导数构成,而误差函数由线性部分端口电压(电流)和非线性部分端口电压(电流)构成。
S200,对所述原始矩阵进行分块处理,得到分块目标矩阵。
本实施例的原始矩阵为雅可比矩阵,而雅可比矩阵为方形矩阵,因此在对雅可比矩阵进行分块时必须按照方形矩阵进行划分,才能保证后续的计算。
步骤S200包括如下的步骤S201、S202、S203、S204、S205、S206、S207:
S201,设定所述方形矩阵的尺寸。
本实施例先将尺寸设置为最小尺寸,即2x2的方形矩阵。当依据2x2的方形矩阵分割出来的分块矩阵达不到要求时,再逐渐增大方形矩阵的尺寸,直至最后得到的分块矩阵能够达到要求为止。
S202,按照所述方形矩阵的尺寸对所述雅可比矩阵进行分块,得到各个分块矩阵。
S203,依据各个所述分块矩阵所对应的值,将各个所述分块矩阵划分成零矩阵和非零矩阵,零矩阵即矩阵中的各个元素均为零。
S204,统计各个所述非零矩阵所包含的零元素总量。
S205,调整所述方形矩阵的尺寸之后对所述雅可比矩阵进行分块,计算每次分块所得到的各个所述非零矩阵所包含的零元素总量;
S206,从所有的所述零元素总量中挑选出最少的所述零元素总量;
S207,依据最少的所述零元素总量,得到与最少的所述零元素总量所对应的所述分块目标矩阵。
举例说明步骤S201-步骤S207的详细过程:
当以4x4对矩阵J进行分块时,得到的是如下矩阵:
四个非零矩阵中共包含了41个0元素,当以2x2对矩阵J进行分块时,矩阵J变化为如下的矩阵形式:
其中:
四个非零矩阵A、两个非零矩阵B、一个非零矩阵C共包含了5个0元素,5个0元素相对于以4x4对矩阵J进行分块而在分块矩阵中产生的41个0元素而言少了太多的0元素,因此选择将矩阵J按照2x2进行分块,这样得到的分块目标矩阵就包含了很少的0元素。而对于谐波平衡算法而言,每次迭代过程中只要求对非0元素进行存储和提取即可,因此选择含有很少0元素的分块矩阵对矩阵J进行分块,得到目标分块矩阵A、B、C、O,存储时只要对非零矩阵A、B、C进行存储,而不存储全0元素矩阵O,从而减轻了CPU的存储压力,进而提高了谐波平衡算法的运算速度。
本实施例中像矩阵A这样所有的元素都是非0元素称之为全块矩阵;像矩阵B这样只有对角线上的元素为非0元素,其它位置的元素都是0元素,称之为对角块矩阵;像矩阵C这样角线及对角线一边为非0元素,对角线另一边为0元素,称之为半对角块矩阵。在存储各个分块目标矩阵时,将全块矩阵全部存储在指定的CPU一个位置,将对角块矩阵全部存储在指定的CPU另一个位置,将半对角块矩阵全部存储在指定的CPU其它位置处,这样进行分类型存储能够加速CPU的存储速度。
本实施例将矩阵分块处理后,记录块的大小、所在行、所在列及块的类型等信息,以及块本身的内部元素,将之存储起来。在进行基础KLU算法时再根据上述信息来调取所需块的内部元素,进一步对矩阵LU分解,避免了全零值矩阵对内存存储及调取的浪费,并最大限度地保存了原有矩阵的内部元素信息,在节省内存的同时加速了原有KLU算法。
S300,对所述分块目标矩阵应用谐波平衡算法,得到电路仿真结果。
本实施例是将谐波平衡算法运行在含有CPU和GPU的混合平台上进行运算,其中着重利用GPU的并行计算优势,以提高整体的计算速度。在谐波平衡运算中,适合并行运算的矩阵乘法占主导地位,而分块后的矩阵也更适合并行运算,这些正是GPU发挥其优势的基础。同传统算法中只使用CPU这单一计算平台相比,本实施例引入使用GPU这高性能计算平台,并根据运算类型的不同合理分配CPU/GPU的使用,最大程度上解放了混合平台的计算性能。
在进行谐波平衡算法时,将存储在CPU上的各个分块目标矩阵从CPU主机内存复制到GPU全局内存,以在GPU上利用GPU的高效并行运算能力进行谐波平衡算法。在GPU上利用GPU的高级单元、低级单元、GPU内核完成谐波平衡算法的运行,下面分别介绍高级单元、低级单元、GPU内核的具体功能:
高级单元:主要驻留在CPU主机内存上,其上主要可调用块状矩阵进行求逆运算、块状矩阵间的加减法运算、块状矩阵同向量组的乘法运算以及块状矩阵间的乘法运算,以及在GPU上的不同缓冲区之间复制矩阵,或从GPU到CPU主机内存移动矩阵。
低级单元:是上述高级单元更具针对性的版本,针对所操作的特定类型块状矩阵。较高级别的单元通常根据操作中涉及的块状矩阵的类型调用较低级别的单元。
GPU内核:它是一组在GPU上执行实际块状矩阵操作的OpenCL内核。这些内核由程序在运行时编译,并由GPU硬件调度程序实例化为GPU计算单元上的工作项和工作组。
在执行本实施例的谐波平衡算法最外层迭代期间,每个高级单元在算法的适当阶段被激活,然后将要操作的块或块的索引传递给该单元(即将各个分块目标矩阵对应的索引传递到GPU的高级单元上,该高级单元通过索引号在CPU上找到对应的分块目标矩阵,然后将该分块目标矩阵调取至GPU上)。激活的单元决定操作是在主机CPU上执行还是需要加载到GPU上以获得更好的性能,该决定取决于输入块的类型以及操作产生的块的类型(即根据分块目标矩阵是全块矩阵、对角块矩阵还是半对角块矩阵决定是在CPU上进行运算还是在GPU上进行运算,以及每个分块矩阵是进行乘法运算还是加法孙算或者是求逆以决定是在CPU上进行还是在GPU上进行)。
如果根据输入和输出块的类型(输出块的类型即分类矩阵进行运算之后所对应的矩阵)判断操作最好在GPU上执行,则单元启动以下动作。它首先计算缓冲区的偏移量,即缓冲区对应于操作中所需的参数块的索引。然后将这些偏移量发送到较低级别的单元,以将块操作数设置为专用OpenCL内核的内核参数。下层单元在GPU命令队列上放置一个命令,指示它执行指定的内核。根据内核的类型,该单元可以等待内核执行完成,或者可以立即将控制权返回给更高级别的单元。后一种情况允许CPU和GPU计算重叠,而前一种情况需要在CPU和GPU之间的某些同步点上完成计算。
本实施例中,基于谐波平衡算法对电路进行仿真以得到电路的稳态响应的原理如下:
如图2所示,谐波平衡方法将电路系统分为线性部分和非线性部分。对于线性部分,使用频域代数方程来描述线性部分的特性。而非线性部分,通常不可能在频域中直接建立非线性分量的模型,为了克服这个问题,谐波平衡方法在时域中对非线性分量进行评估。使用傅里叶逆变换将频域电压转换为时域,在时域中评估非线性分量(电流、电荷等),再使用傅里叶变换将电流或电荷转换回频域。达到平衡时,经傅里叶逆变换成时域的线性部分端口电压和电流应匹配非线性部分端口电压和电流,同样傅里叶变换成频域的非线性部分端口电压和电流应匹配线性部分端口电压和电流。因此,设定最大谐波数,建立一个线性部分端口电压(电流)和非线性部分端口电压(电流)的误差函数(误差函数是建立雅可比矩阵的基础),建立雅可比矩阵之后,再通过多次迭代,实现稳态的线性部分和非线性部分的谐波平衡。
在迭代过程中,关键问题即确定误差函数的雅可比矩阵,用初始值减去雅可比矩阵的逆矩阵同误差函数的乘积,得到新的迭代初始值,完成频域线性子电路电压初始值的更新。而雅可比矩阵,是由频域线性子电路电压初始值向量乘以傅里叶逆矩阵,再通过非线性矩阵隐式运算,同傅里叶矩阵相乘,再加上电导代数矩阵所得。其最终形式为涉及矩阵求逆、矩阵-矩阵乘法、矩阵加减法以及隐式矩阵运算的综合矩阵形式,计算过程较为复杂,故需要通过矩阵分解以加速收敛过程。
通过本实施例对雅可比矩阵进行分块得到分块目标矩阵之后,谐波平衡算法在运行过程中会对各个分块目标矩阵进行矩阵求逆(MINV)、矩阵-矩阵乘法(MMUL)、矩阵加减法(MSUB)以及一些隐式矩阵运算(other)。本实施例中各部分计算任务CPU占比如图3所示。图3中从下至上依次为矩阵-矩阵乘法占用的CPU内存、矩阵求逆占用的CPU内存、移动矩阵块和缩放矩阵块占用的CPU内存、矩阵加减法占用的CPU内存、隐式矩阵运算占用的CPU内存。从图3可以看出,矩阵-矩阵乘法在计算任务中占主导地位,尤其是对于较大的块矩阵乘法;矩阵求逆在总计算量中也占有重要地位;另外,整个计算操作的一小部分用于非矩阵间任务,例如移动矩阵块和缩放它们(MSCALE)。因为BKLU算法的大部分计算是以矩阵-矩阵乘法的形式发生的,表现出了并行性的巨大潜力,非常适合在包含GPU的混合平台上实现。
综上,本发明对原始矩阵进行分块处理,得到一个一个的分块目标矩阵,以此实现将原始矩阵化整为零,谐波平衡算法在每次迭代运算时通过对分块目标矩阵的操作,能够实现分块目标矩阵快速地存取操作,从而提高了运算速度,进而提高了通过谐波平衡算法得到电路仿真结果的速度。
示例性装置
本实施例还提供一种基于谐波平衡的电路仿真装置,所述装置包括如下组成部分:
数据采集模块,用于获取原始矩阵,所述原始矩阵中的元素与电路所涉及到的参数相对应;
数据处理模块,用于对所述原始矩阵进行分块处理,得到分块目标矩阵;
电路仿真模块,用于对所述分块目标矩阵应用谐波平衡算法,得到电路仿真结果。
基于上述实施例,本发明还提供了一种终端设备,其原理框图可以如图4所示。该终端设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该终端设备的处理器用于提供计算和控制能力。该终端设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于谐波平衡的电路仿真方法。该终端设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该终端设备的温度传感器是预先在终端设备内部设置,用于检测内部设备的运行温度。
本领域技术人员可以理解,图4中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端设备的限定,具体的终端设备以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种终端设备,终端设备包括存储器、处理器及存储在存储器中并可在处理器上运行的基于谐波平衡的电路仿真程序,处理器执行基于谐波平衡的电路仿真程序时,实现如下操作指令:
获取原始矩阵,所述原始矩阵中的元素与电路所涉及到的参数相对应;
对所述原始矩阵进行分块处理,得到分块目标矩阵;
对所述分块目标矩阵应用谐波平衡算法,得到电路仿真结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上,本发明公开了一种基于谐波平衡的电路仿真方法、装置及存储介质,所述方法包括:获取原始矩阵,所述原始矩阵中的元素与电路所涉及到的参数相对应;对所述原始矩阵进行分块处理,得到分块目标矩阵;对所述分块目标矩阵应用谐波平衡算法,得到电路仿真结果。能够提高仿真速度。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于谐波平衡的电路仿真方法,其特征在于,包括:
获取电路所对应的参数;
依据所述参数,建立原始矩阵;
对所述原始矩阵进行分块处理,得到分块目标矩阵;
对所述分块目标矩阵应用谐波平衡算法,得到电路仿真结果。
2.如权利要求1所述的基于谐波平衡的电路仿真方法,其特征在于,所述对所述原始矩阵进行分块处理,得到分块目标矩阵,包括:
依据所述原始矩阵,得到所述原始矩阵中的雅可比矩阵;
对所述雅可比矩阵按照方形矩阵进行分块,得到所述分块目标矩阵。
3.如权利要求2所述的基于谐波平衡的电路仿真方法,其特征在于,所述对所述雅可比矩阵按照方形矩阵进行分块,得到所述分块目标矩阵,包括:
设定所述方形矩阵的尺寸;
按照所述方形矩阵的尺寸对所述雅可比矩阵进行分块,得到各个分块矩阵;
依据各个所述分块矩阵所对应的值,将各个所述分块矩阵划分成零矩阵和非零矩阵,零矩阵即矩阵中的各个元素均为零;
统计各个所述非零矩阵所包含的零元素总量;
调整所述方形矩阵的尺寸之后对所述雅可比矩阵进行分块,计算每次分块所得到的各个所述非零矩阵所包含的零元素总量;
从所有的所述零元素总量中挑选出最少的所述零元素总量;
依据最少的所述零元素总量,得到与最少的所述零元素总量所对应的所述分块目标矩阵。
4.如权利要求1所述的基于谐波平衡的电路仿真方法,其特征在于,所述对所述分块目标矩阵应用谐波平衡算法,得到电路仿真结果,包括:
依据所述分块目标矩阵,得到所述分块目标矩阵所包含的分块目标零矩阵和分块目标非零矩阵,所述分块目标零矩阵中的各个元素均为零;
将所述分块目标非零矩阵保存至CPU中;
应用谐波平衡算法时从CPU中调取所述分块目标非零矩阵,得到电路仿真结果。
5.如权利要求4所述的基于谐波平衡的电路仿真方法,其特征在于,所述将所述分块目标非零矩阵保存至CPU中,包括:
依据所述分块目标非零矩阵,得到所述分块目标非零矩阵的内部非零元素排列信息;
依据所述非零元素排列信息,将所述分块目标非零矩阵保存至CPU中。
6.如权利要求5所述的基于谐波平衡的电路仿真方法,其特征在于,所述依据所述非零元素排列信息,将所述分块目标非零矩阵保存至CPU中,包括:
依据所述非零元素排列信息,所述分块目标非零矩阵所包含的全块矩阵、对角块矩阵、半对角块矩阵,所述全块矩阵中的所有元素都是非零元素;所述对角块矩阵的对角线上元素均为非零元素,且对角线两侧的元素均为零;所述半对角块矩阵的对角线上元素均为非零元素,且对角线其中一侧的的元素为零;
将所述全块矩阵、所述对角块矩阵、所述半对角块矩阵分别保存至CPU不同位置处。
7.如权利要求6所述的基于谐波平衡的电路仿真方法,其特征在于,所述应用谐波平衡算法时从CPU中调取所述分块目标非零矩阵,得到电路仿真结果,包括:
将所述全块矩阵、所述对角块矩阵、所述半对角块矩阵移动至GPU上,在GPU上进行谐波平衡算法的迭代运算,得到电路仿真结果。
8.一种基于谐波平衡的电路仿真装置,其特征在于,所述装置包括如下组成部分:
数据采集模块,用于获取原始矩阵,所述原始矩阵中的元素与电路所涉及到的参数相对应;
数据处理模块,用于对所述原始矩阵进行分块处理,得到分块目标矩阵;
电路仿真模块,用于对所述分块目标矩阵应用谐波平衡算法,得到电路仿真结果。
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的基于谐波平衡的电路仿真程序,所述处理器执行所述基于谐波平衡的电路仿真程序时,实现如权利要求1-7任一项所述的基于谐波平衡的电路仿真方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于谐波平衡的电路仿真程序,所述基于谐波平衡的电路仿真程序被处理器执行时,实现如权利要求1-7任一项所述的基于谐波平衡的电路仿真方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210421916.9A CN114925641A (zh) | 2022-04-21 | 2022-04-21 | 一种基于谐波平衡的电路仿真方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210421916.9A CN114925641A (zh) | 2022-04-21 | 2022-04-21 | 一种基于谐波平衡的电路仿真方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114925641A true CN114925641A (zh) | 2022-08-19 |
Family
ID=82806081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210421916.9A Pending CN114925641A (zh) | 2022-04-21 | 2022-04-21 | 一种基于谐波平衡的电路仿真方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114925641A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116070584A (zh) * | 2023-03-06 | 2023-05-05 | 深圳市比昂芯科技有限公司 | 电路仿真方法、装置、电子设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182270B1 (en) * | 1996-12-04 | 2001-01-30 | Lucent Technologies Inc. | Low-displacement rank preconditioners for simplified non-linear analysis of circuits and other devices |
CN113486616A (zh) * | 2021-07-21 | 2021-10-08 | 成都华大九天科技有限公司 | 一种电路仿真中的分块矩阵存储方法 |
-
2022
- 2022-04-21 CN CN202210421916.9A patent/CN114925641A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182270B1 (en) * | 1996-12-04 | 2001-01-30 | Lucent Technologies Inc. | Low-displacement rank preconditioners for simplified non-linear analysis of circuits and other devices |
CN113486616A (zh) * | 2021-07-21 | 2021-10-08 | 成都华大九天科技有限公司 | 一种电路仿真中的分块矩阵存储方法 |
Non-Patent Citations (2)
Title |
---|
万黎 等: "基于节点迁移的电力系统并行计算优化分割策略", 《电网技术》, vol. 31, no. 11, 5 June 2007 (2007-06-05), pages 42 - 48 * |
王嘉芳 等: "一种用于并行电路仿真器的静态负载平衡算法", 《微处理机》, no. 04, 15 August 2008 (2008-08-15), pages 107 - 109 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116070584A (zh) * | 2023-03-06 | 2023-05-05 | 深圳市比昂芯科技有限公司 | 电路仿真方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ali et al. | Reduction of multiplications in convolutional neural networks | |
EP3179415B1 (en) | Systems and methods for a multi-core optimized recurrent neural network | |
US7209939B2 (en) | Precision improvement method for the Strassen/Winograd matrix multiplication method | |
JP6991983B2 (ja) | 機械学習システムをトレーニングする方法及びシステム | |
CN114925641A (zh) | 一种基于谐波平衡的电路仿真方法、装置及存储介质 | |
US8473533B1 (en) | Method and apparatus for harmonic balance using direct solution of HB jacobian | |
CN114547938A (zh) | 一种基于有理Krylov子空间的三维多频可控源电磁反演方法及其系统 | |
CN110782009B (zh) | 基于ARMv8体系的计算内核优化方法 | |
CN108133005B (zh) | 一种基于内存数据库的环境模型模拟方法、终端设备及存储介质 | |
KR20140002556A (ko) | 출력 변수들의 완전 도함수들을 사용하는 코시뮬레이션 절차들 | |
Chowdhury et al. | A computational model for tensor core units | |
CN106933777B (zh) | 基于国产申威26010处理器的基2一维fft的高性能实现方法 | |
Ozen et al. | Squeezing correlated neurons for resource-efficient deep neural networks | |
Bollhöfer et al. | Low-rank Cholesky factor Krylov subspace methods for generalized projected Lyapunov equations | |
Zhang et al. | Mixed-precision block incomplete sparse approximate preconditioner on Tensor core | |
CN113779498A (zh) | 离散傅里叶矩阵重构方法、装置、设备和存储介质 | |
KR102257530B1 (ko) | 데이터 기반 함수 모델의 그래디언트를 결정하기 위한 방법 및 장치 | |
Mehrotra et al. | A robust and efficient harmonic balance (HB) using direct solution of HB Jacobian | |
CN110175357B (zh) | 一种基于基准化分析的门级敏感性电路单元定位方法 | |
Cupertino et al. | LU decomposition on GPUs: The impact of memory access | |
Garcia et al. | GPU-accelerated Poincaré map method for harmonic-oriented analyses of power systems | |
Jagtap et al. | Clustering and parallel processing on gpu to accelerate circuit transient analysis | |
KR20040007612A (ko) | 미분 방정식 시스템에서 불일치에 관한 에러 정보를제공하는 방법 | |
Helsing et al. | Elastostatic computations on aggregates of grains with sharp interfaces, corners, and triple-junctions | |
Qin et al. | Nonparametric estimation of the finite-time survival probability with zero initial capital in the classical risk model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |