CN102087678A - 通过时域划分实现并行计算的电路仿真方法 - Google Patents
通过时域划分实现并行计算的电路仿真方法 Download PDFInfo
- Publication number
- CN102087678A CN102087678A CN 201110003028 CN201110003028A CN102087678A CN 102087678 A CN102087678 A CN 102087678A CN 201110003028 CN201110003028 CN 201110003028 CN 201110003028 A CN201110003028 A CN 201110003028A CN 102087678 A CN102087678 A CN 102087678A
- Authority
- CN
- China
- Prior art keywords
- time
- circuit
- simulation
- transient analysis
- slices
- 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.)
- Granted
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000004458 analytical method Methods 0.000 claims abstract description 31
- 230000001052 transient effect Effects 0.000 claims abstract description 26
- 238000004364 calculation method Methods 0.000 claims abstract description 7
- 239000012634 fragment Substances 0.000 claims description 9
- 230000036962 time dependent Effects 0.000 description 7
- 238000001228 spectrum Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 101710170231 Antimicrobial peptide 2 Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- HODRFAVLXIFVTR-RKDXNWHRSA-N tevenel Chemical compound NS(=O)(=O)C1=CC=C([C@@H](O)[C@@H](CO)NC(=O)C(Cl)Cl)C=C1 HODRFAVLXIFVTR-RKDXNWHRSA-N 0.000 description 1
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及通过时域划分实现并行计算的电路仿真方法,属于集成电路设计技术领域;该方法包括:给定一个电路仿真的输入文件,该文件用于描述需要仿真的电路的拓扑结构、外部激励信号以及仿真参数;根据实际的计算资源的情况将仿真时间平均分割成若干片段;相邻的两个时间片段之间有一部分重叠的时间;对于每个时间片段单独进行瞬态分析;不同的时间片段利用不同线程或不同进程在不同的计算单元上同时进行;在所有的时间片段的瞬态分析都完成之后,对所有的时间片段的瞬态分析得到的结果进行波形拼接,得到整个仿真时间范围电路各个节点的电压的波形,再进一步的处理得到其它所需要的信息。本发明可提高电路设计效率,缩短电路产品的上市时间。
Description
技术领域
本发明属于集成电路设计技术领域,特涉及EDA领域中获得电路时域特性的分析方法。
背景技术
电子设计自动化(EDA)是以软件为载体的用于在设计阶段分析预测集成电路性能的方法。电路仿真,例如Synopsys公司的产品HSPICE或者Cadence公司的产品Spectre,是用于电路分析的EDA方法。电路仿真所针对的对象是采用电路网单或其它形式描述的电路。电路由晶体管,电阻,电容等元件连接组成。各元件之间连接的部分称为节点。电路仿真通过采用一定的器件模型计算得到电路的电学特性,例如获得电路中节点的电压和支路的电流。
电路仿真通过基尔霍夫电压和电流定律建立方程并求解方程,其实施步骤通常由两部分组成。第一部分为电路方程的建立。在电路方程的建立阶段,电路仿真根据电路结构以及电路中节点的电压和支路的电流建立方程。第二部分是电路方程的求解。具体求解的方程的类型依不同的电路仿真方法而不同,包括微分方程、线性方程和非线性方程。
瞬态分析是一种电路仿真方法,主要根据电路结构、驱动信号以及仿真参数(输入信息)计算出电路中各个节点的电压随时间变化的曲线(输出结果)。
瞬态分析的输入通常包含以下信息:
1)电路结构:电路的元件组成与拓扑结构。
2)驱动信号:电路的外部激励信号。
3)仿真参数:所需要做的仿真的属性,例如仿真类型、总时间,步长,精度等。
瞬态分析的输出通常为电路中各个节点的电压随时间变化的曲线,又称为各个节点电压的波形。利用这个波形可以进行进一步的后处理来得到其它想要的信息,例如电路的频谱特性等。
瞬态分析的方法可以看作是在一个给定的初始条件下,通过建立并求解电路对应的常微分方程(1)
来得到电路各个节点随时间变化的波形。式(1)中,x称为状态,表示电路节点的电压或支路的电流;x0表示初始状态;u表示电路的驱动信号;f(x,u)由电路结构决定。其中,x为待求量。
随着集成电路规模和性能的不断提高,电路仿真的计算量日益增大。尤其对于数-模混合(即包含数字电路成分又包括模拟电路成分)的集成电路,由于其规模大,功能复杂,因而仿真需要很长时间。模-数转换器和锁相环是数-模混合电路中的两类典型的电路,它们在工业上的应用十分广泛。一个典型的模-数转换器电路的瞬态分析消耗的仿真时间通常达到几天到几周。对于高精度的模-数转换器,所需要的仿真时间更长。这大大地制约了电路设计的效率,不仅提高了电路设计的人工成本,而且延长了电路产品的上市时间,进而使产品的竞争力降低。
并行计算是提高电路仿真的计算效率的一种方法。它本质上是通过大量的微处理器来同时处理问题的不同部分,从而缩短总的计算时间的一种方法。随着计算机成本的降低,人们普遍希望能够通过并行计算提高计算效率。然而,在实际中,并行计算并非对所有问题都能大幅度地提高计算效率。只有适合并行计算的问题才能利用并行计算大幅度地提高计算效率。并行计算已经被应用于电路仿真中。在电路仿真中实现并行计算的主要方法包括电路方程建立的并行化以及电路方程求解的并行化。电路方程的建立属于适合并行化的一类计算问题。这是因为在电路方程的建立中,关于不同的元件的计算是相互独立的,因而采用并行计算可以大幅度地提高电路方程建立的效率。在电路方程求解方面,人们也在寻求用并行计算提高计算效率的方法。典型的方法是将电路分成若干部分,或者等价的来说是将电路对应的矩阵分成不同的部分,然后用不同的计算机处理器计算各个部分。由于电路的各个部分之间有连接,因此在并行计算时各个处理器之间需要进行数据的交换。数据交换的过程本身需要消耗额外的代价。这个额外的代价一般而言会抵消掉一部分由于并行计算带来的效率的提高。某些情况下,会使并行计算与单个计算机计算相比变得毫无优势可言。一般而言,电路方程的求解属于这样一类问题,也就是说采用并行计算无法大幅度地提高电路方程求解的效率。由于电路方程的建立和求解所占的时间大致在一个数量级。因而采用并行化无法使整个计算的效率大幅度地提高。目前,在采用这一类的并行计算之后,电路的瞬态分析,例如Cadence公司的APS等,其计算量仍然很大。
发明内容
本发明的目的在于为克服已有技术的不足之处,提出一种通过时域划分实现并行化计算的电路仿真方法,使得瞬态分析可以实现高效率的并行化,提高电路的瞬态分析的效率,从而提高电路设计效率,缩短电路产品的上市时间。
本发明一种通过时域划分实现并行化计算的电路仿真方法,包括以下步骤:
1)给定一个电路仿真的输入文件,该文件用于描述需要仿真的电路的拓扑结构、外部激励信号以及仿真参数;
2)根据实际的计算资源的情况将仿真时间分割成若干片段:{t0,t′0},{t1,t′1},…,{tn,t′n},其中t0<t′0,t1<t′1,…,tn<t′n;t0,t′n分别与输入文件中定义的初始时间、终止时间一致,n为正整数;相邻的两个时间片段之间有一部分重叠的时间(重叠时间的大小根据被仿真的电路的过渡时间特性而定,例如针对模-数转换器电路),该重叠时间占每个片段时间的3%~5%;所有的时间片段覆盖整个需要仿真的时间范围;
3)对于每个时间片段,根据已有技术单独进行瞬态分析;不同的时间片段利用不同线程或不同进程在不同的计算单元上同时进行;
4)在所有的时间片段的瞬态分析都完成之后,对所有的时间片段的瞬态分析得到的结果进行波形拼接,得到整个仿真时间范围电路各个节点的电压的波形;
5)在步骤1)-4)结束后得到电路各个节点电压的波形后,进行进一步的处理得到其它所需要的信息(采用已知仿真方法)。
本发明的特点及有益效果:
与传统并行电路仿真方法采用的基于电路分块的方法不同,本发明的特点在于在进行瞬态分析时对时间进行分割,利用不同的计算单元(包括处理器和计算机)来计算不同的时间段,在计算完成后再进行数据的拼接。这个方法带来的有益的效果在于,由于不同时间段的计算过程之间不需要进行数据的交换,它可以大幅度提高并行的效率。这个方法的另外一个好处在于,相对基于电路分块的并行电路仿真方法而言,其实现要简单很多。
附图说明
图1为本发明采用的一个电路输入文件例子的示意图;该输入文件为电路网单形式的输入文件;该电路网单描述的是一个3阶的Sigma-Delta模-数转换电路。
图2为该电路的拓扑结构图。
图3为本发明在时间上划分的例子的示意图。
图4为本发明将时间上划分好的子任务利用多个处理器进行并行计算的示意图。
图5为本发明将各个子任务计算得到的结果进行组合的过程;其中,
图5(a)为显示了将各个时间片段的子任务得到的结果直接绘制出来得到的电压随时间变化的曲线。
图5(b)为拼接后的电压随时间变化的曲线。
图6为本发明将组合好的输出信号通过傅里叶分析得到的频谱,以及不采用并行计算而采用单个CPU进行电路仿真得到的输出信号的频谱的比较。
具体实施方式
下面结合附图及实例进一步详细说明本方法的具体内容。
本发明提出的通过时域划分实现并行化计算的电路仿真方法,包括以下步骤:
1)给定一个电路仿真的输入文件,该文件用于描述需要仿真的电路的拓扑结构、外部激励信号以及仿真参数(通常此类文件采用电路网单的方式,但不限于此种形式);其中,电路的拓扑结构是所需要分析的电路本身,外部激励信号是用于模拟该电路在某个特定输入下响应的激励波形,仿真参数是计算中的诸如初始时间,终止时间,以及仿真精度等参数。输入文件的例子如图1所示。该文件描述了一个实施例的模-数转换器电路的拓扑结构1,电源及外部激励信号2和仿真参数3等信息。该模-数转换器的拓扑结构如图2所示,这是一个典型的3阶Sigma-Delta结构的模-数转换器,由3个积分器、1个比较器(COMP)和1个1位数-模转换器(DAC)组成。其中,3个积分器分别由运算放大器AMP1、AMP2和AMP3与相应的开关电容外围电路组成。输入信号VP和VN(模拟信号)经过3级放大器放大并经过比较器COMP量化后产生输出信号(COMP的P3、P4端口的数字信号)。该输出信号再通过数-模转换器DAC转换成模拟信号(DAC的P3、P4端口的信号)后反馈到积分器的输入端。图中输入信号REF为参考电平,用于确定该模-数转换器工作时所需要的参考电压。
2)根据实际的计算资源的情况(例如根据实际共有多少计算机,多少CPU,多少内核可以使用等)将仿真时间分割成若干片段:{t0,t′0},{t1,t′1},…,{tn,t′n},其中t0<t′0,t1<t′1,…,tn<t′n;t0,t′n分别与输入文件中定义的初始时间、终止时间一致,n为正整数;相邻的两个时间片段之间有一部分重叠的时间,重叠时间的大小根据被仿真的电路的过渡时间特性而定,例如针对模-数转换器电路,该重叠时间占每个片段时间的3%~5%;所有的时间片段覆盖整个需要仿真的时间范围。图3显示了时间分割的例子,在这个例子中,整个需要仿真的时间为{t0,t′2},将该时间分割成3个片段:{t0,t′0},{t1,t′1},{t2,t′2},相邻的时间段之间有一部分重叠的时间,重叠时间约占每个片段时间的5%。
3)对于每个时间片段,根据已有技术单独进行瞬态分析;不同的时间片段可以利用不同线程或不同进程在不同的计算单元(包括CPU内核,CPU,以及不同计算机)上同时进行。图4显示了将对应不同时间片段的子任务分配到不同的CPU上进行处理的方法。例如,图4中,将{t0,t′0}时间片段的子任务分配到CPU#0进行处理,将{t1,t′1}时间片段的子任务分配到CPU#1进行处理,……,将{tn,t′n}时间片段的子任务分配到CPU#n进行处理。
4)在所有的时间片段的瞬态分析都完成之后,对所有的时间片段的瞬态分析得到的结果进行波形拼接,得到整个仿真时间范围所需要的数据(即电路各个节点的电压的波形)。图5(a)显示了将各个时间片段的子任务得到的结果直接绘制出来得到的电压随时间变化的曲线。图中显示了将仿真的时间等间隔地切分成3段,每段交由不同的处理器进行仿真。其中阴影部分为两个相邻的时间段的重叠区域。图中显示了在时间重叠区域,前后两个子任务得到的结果会有所差异,这个差异产生的原因是前一个子任务在这一区间的计算结果是由真实的初始值得到的,后一个子任务的计算结果是由随机的初始值得到的,而这个随机的初始值一般而言与真实的初始值不同。因此,在拼接过程中,前后两个时间片段的瞬态分析得到的结果的重叠区域采用前一个子任务(前一个时间片段的瞬态分析)得到的结果,而丢弃后一个子任务(后一个时间片段的瞬态分析)得到的结果。图中也显示了随着时间的变化,重叠区域中两个相邻的子任务得到的结果会趋于一致,后一个子任务采用随机的初始值并不会造成计算的精度损失。拼接后的电压随时间变化的曲线如图5(b)所示。
5)在步骤1)-4)结束后得到电路各个节点电压的波形。这时候可以进行进一步的处理得到其它所需要的信息,如利用已有技术傅里叶分析得到信号的频谱信息。
图6显示了采用本发明实现并行计算得到的波形的频谱以及不采用本发明得到的波形的频谱。图中可以看出二者十分接近。这说明了采用本发明可以在提高仿真的效率的同时不影响仿真的精度。
Claims (3)
1.一种通过时域划分实现并行化计算的电路仿真方法,包括以下步骤:
1)给定一个电路仿真的输入文件,该文件用于描述需要仿真的电路的拓扑结构、外部激励信号以及仿真参数;
2)根据实际的计算资源的情况将仿真时间平均分割成若干片段:{t0,t′0},{t1,t′1},…,{tn,t′n},其中t0<t′0,t1<t′1,…,tn<t′n;t0,t′n分别与输入文件中定义的初始时间、终止时间一致,n为正整数;相邻的两个时间片段之间有一部分重叠的时间,该重叠时间占每个片段时间的3%~5%;所有的时间片段覆盖整个需要仿真的时间范围;
3)对于每个时间片段,根据已有技术单独进行瞬态分析;不同的时间片段利用不同线程或不同进程在不同的计算单元上同时进行;
4)在所有的时间片段的瞬态分析都完成之后,对所有的时间片段的瞬态分析得到的结果进行波形拼接,得到整个仿真时间范围电路各个节点的电压的波形;
5)在步骤1)-4)结束后得到电路各个节点电压的波形后,进行进一步的处理得到其它所需要的信息。
2.如权利要求1所述方法,其特征在于,所述计算单元包括采用CPU内核,CPU,以及不同计算机形成的计算单元。
3.如权利要求1或2所述方法,其特征在于,所述拼接为在前后两个时间片段的瞬态分析得到的结果的重叠区域采用前一个时间片段的瞬态分析得到的结果,而丢弃后一个时间片段的瞬态分析得到的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100030287A CN102087678B (zh) | 2011-01-07 | 2011-01-07 | 通过时域划分实现并行计算的电路仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100030287A CN102087678B (zh) | 2011-01-07 | 2011-01-07 | 通过时域划分实现并行计算的电路仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102087678A true CN102087678A (zh) | 2011-06-08 |
CN102087678B CN102087678B (zh) | 2012-07-11 |
Family
ID=44099487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100030287A Expired - Fee Related CN102087678B (zh) | 2011-01-07 | 2011-01-07 | 通过时域划分实现并行计算的电路仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102087678B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360397A (zh) * | 2011-09-30 | 2012-02-22 | 中国科学院微电子研究所 | 集成电路仿真方法及系统 |
CN102591642A (zh) * | 2011-12-19 | 2012-07-18 | 中兴通讯股份有限公司 | 脚本的生成方法及装置 |
CN106126815A (zh) * | 2016-06-23 | 2016-11-16 | 中国科学院微电子研究所 | 一种电路仿真方法及装置 |
CN107766653A (zh) * | 2017-10-23 | 2018-03-06 | 北京经纬恒润科技有限公司 | 汽车电源线瞬态干扰源的仿真电路的构建方法及装置 |
CN110321574A (zh) * | 2018-03-29 | 2019-10-11 | 华为技术有限公司 | 一种打印波形的方法和装置 |
CN113095022A (zh) * | 2021-04-22 | 2021-07-09 | 国微集团(深圳)有限公司 | 门级电路的并行仿真处理方法、计算机可读存储介质 |
CN115186518A (zh) * | 2022-09-09 | 2022-10-14 | 中国电子科技集团公司第十五研究所 | 一种仿真并行推进方法、服务器以及存储介质 |
CN117077607A (zh) * | 2023-07-26 | 2023-11-17 | 南方科技大学 | 大规模线性电路仿真方法、系统、电路仿真器及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1482661A (zh) * | 2002-09-11 | 2004-03-17 | 华为技术有限公司 | 通用数字电路仿真测试系统及测试方法 |
US20080244478A1 (en) * | 2007-03-30 | 2008-10-02 | Fujitsu Limited | Model generation method and model generation apparatus of semiconductor device |
US20100332202A1 (en) * | 2009-06-30 | 2010-12-30 | Omniz Design Automation Corporation | Parallel simulation of general electrical and mixed-domain circuits |
-
2011
- 2011-01-07 CN CN2011100030287A patent/CN102087678B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1482661A (zh) * | 2002-09-11 | 2004-03-17 | 华为技术有限公司 | 通用数字电路仿真测试系统及测试方法 |
US20080244478A1 (en) * | 2007-03-30 | 2008-10-02 | Fujitsu Limited | Model generation method and model generation apparatus of semiconductor device |
US20100332202A1 (en) * | 2009-06-30 | 2010-12-30 | Omniz Design Automation Corporation | Parallel simulation of general electrical and mixed-domain circuits |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360397A (zh) * | 2011-09-30 | 2012-02-22 | 中国科学院微电子研究所 | 集成电路仿真方法及系统 |
CN102591642A (zh) * | 2011-12-19 | 2012-07-18 | 中兴通讯股份有限公司 | 脚本的生成方法及装置 |
CN106126815A (zh) * | 2016-06-23 | 2016-11-16 | 中国科学院微电子研究所 | 一种电路仿真方法及装置 |
CN106126815B (zh) * | 2016-06-23 | 2018-12-25 | 中国科学院微电子研究所 | 一种电路仿真方法及装置 |
CN107766653A (zh) * | 2017-10-23 | 2018-03-06 | 北京经纬恒润科技有限公司 | 汽车电源线瞬态干扰源的仿真电路的构建方法及装置 |
CN107766653B (zh) * | 2017-10-23 | 2021-12-24 | 北京经纬恒润科技股份有限公司 | 汽车电源线瞬态干扰源的仿真电路的构建方法及装置 |
CN110321574A (zh) * | 2018-03-29 | 2019-10-11 | 华为技术有限公司 | 一种打印波形的方法和装置 |
CN110321574B (zh) * | 2018-03-29 | 2022-05-13 | 华为技术有限公司 | 一种打印波形的方法和装置 |
CN113095022A (zh) * | 2021-04-22 | 2021-07-09 | 国微集团(深圳)有限公司 | 门级电路的并行仿真处理方法、计算机可读存储介质 |
CN115186518A (zh) * | 2022-09-09 | 2022-10-14 | 中国电子科技集团公司第十五研究所 | 一种仿真并行推进方法、服务器以及存储介质 |
CN117077607A (zh) * | 2023-07-26 | 2023-11-17 | 南方科技大学 | 大规模线性电路仿真方法、系统、电路仿真器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102087678B (zh) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102087678B (zh) | 通过时域划分实现并行计算的电路仿真方法 | |
CN101253472A (zh) | 系统仿真 | |
CN107273090A (zh) | 面向神经网络处理器的近似浮点乘法器及浮点数乘法 | |
Pan et al. | Bit-level optimization of adder-trees for multiple constant multiplications for efficient FIR filter implementation | |
CN107069696B (zh) | 一种电力系统状态估计的并行计算方法 | |
CN104461459B (zh) | 定点化处理方法及其装置 | |
CN102609575A (zh) | 一种基于隐式数值积分的电力系统暂态稳定仿真方法 | |
CN102967838B (zh) | 基于协方差矩阵的非线性矢量网络分析仪测量不确定度分析方法 | |
Zeni et al. | Optimized implementation of the hpcg benchmark on reconfigurable hardware | |
Adm et al. | Improved tests and characterizations of totally nonnegative matrices | |
Berz et al. | New methods for high-dimensional verified quadrature | |
Zamiri et al. | Comparison of power converter models with losses for hardware-in-the-loop using different numerical formats | |
US10031988B2 (en) | Model order reduction in transistor level timing | |
Moreno et al. | Load balancing in homogeneous pipeline based applications | |
CN105005638A (zh) | 一种基于线性延时模型的高层次综合调度方法 | |
Berthold et al. | Implementing parallel Google map-reduce in Eden | |
CN116166550A (zh) | 处理器性能预测系统、方法以及相关设备 | |
JP3992665B2 (ja) | 三相交流負荷模擬装置 | |
Roozmeh et al. | Design space exploration of multi-core RTL via high level synthesis from OpenCL models | |
JP6547342B2 (ja) | 分散処理制御装置 | |
CN103544134A (zh) | 传递函数估计设备、方法及程序 | |
CN102890642B (zh) | 基于匹配矩阵的异构重构计算的性能分析方法 | |
US8875069B1 (en) | System and method for generating constrained random values associated with an electronic design | |
CN105608291A (zh) | 预应力混凝土桥梁调束快速方法 | |
CN105512361A (zh) | 一种基于ansys软件的子结构分析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120711 Termination date: 20160107 |
|
CF01 | Termination of patent right due to non-payment of annual fee |