CN103353910A - 一种用于并行电路仿真的电路划分方法 - Google Patents
一种用于并行电路仿真的电路划分方法 Download PDFInfo
- Publication number
- CN103353910A CN103353910A CN201310259859XA CN201310259859A CN103353910A CN 103353910 A CN103353910 A CN 103353910A CN 201310259859X A CN201310259859X A CN 201310259859XA CN 201310259859 A CN201310259859 A CN 201310259859A CN 103353910 A CN103353910 A CN 103353910A
- Authority
- CN
- China
- Prior art keywords
- summit
- gain
- vertex
- weight
- circuit
- 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
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种用于并行电路仿真的电路划分方法,属于超大规模集成电路(VLSI)设计自动化技术领域。该方法先以最小割为目标的递归的多级二路划分方法快速获取较好的初始划分,然后以最小化通信量和负载均衡为目标,用迭代改进方法不断改进划分。技术方案要点如下:(1)用递归的二路划分方法获取k路初始划分;(2)二路划分采用多级划分方法,其中在粗化阶段结合负载均衡,细化阶段限定迭代次数;(3)在迭代改进过程中,每次优先选择移动可改进负载均衡的顶点。该方法得到的划分结果满足负载均衡和较少通信量需求,可适用于VLSI并行电路仿真系统的电路划分阶段。
Description
技术领域
本发明涉及一种用于并行电路仿真的电路划分方法,属于超大规模集成电路(VLSI)设计自动化技术领域,特别是VLSI电路仿真技术。
背景技术
在VLSI的电路设计阶段,需要对设计好的电路通过仿真系统进行实时模拟,从而进行功能验证和相应的优化设计。仿真计算过程是通过对代表电路功能的微分/代数方程组进行求解得到仿真结果。随着电路规模越来越大,仿真需要花费大量的时间。传统的仿真技术已不能满足工业要求,成为VLSI设计的一个瓶颈。因此,在并行环境中进行电路仿真,从而加速仿真速度,已形成一种发展趋势。
有一类并行仿真系统是采用电路划分的方法将电路按照处理器的个数分成若干个子电路,然后将各子电路在从仿真器中用SPICE仿真。为了提高并行仿真效率,电路划分阶段的目标是各从仿真器中负载均衡和最小化通信量(以下称为port数)。其中,负载均衡是指各从仿真器计算的时间要大致相同,与晶体管数量和计算耗费相关。
现有的电路划分方法主要适用于在VLSI版图设计阶段,典型的有:FM、MLPart、hMETIS-Kway。其中,hMETIS-Kway可直接进行k路划分,在VLSI自动化设计领域得到了广泛的应用。传统的 划分方法以最小割为目标,以松弛的平衡条件为约束。虽然最小割与最小化port数有直接的关系,但是两者还是存在差异。另外,并行电路仿真对负载平衡有着更高的要求,而采用传统的电路划分方法,可能会出现各处理器负载出现较大的差异,影响并行仿真效率。因此,亟待出现一种适用于并行电路仿真系统中的电路划分方法。
发明内容
有鉴于此,本发明的目的在于设计一种适用于并行仿真系统的电路划分方法,可以获取更好的负载平衡和port数。
本发明的技术方案:本发明的一种用于并行电路仿真的电路划分方法,先把电路表示为超图。然后把整个划分过程分为两个阶段:第一阶段以最小割为目标,用递归的多级二路划分方法得到初始k路划分;第二阶段用一种迭代改进方法不断改进port数,并对顶点的移动方向进行控制,从而改善负载平衡。具体如下:
(1)把电路表示为超图H={V,E};
(2)H′0=H;
(3)用重边粗化方法对H′0进行粗化构造一系列超图H′1,H′2,…,H′m;
(4)用FM+CLIP方法以最小割为目标得到H′m的划分Pm;
(5)对Pm进行映射,并用FM方法优化,得到一系列划分Pm-1,Pm-2,…,P0;
(6)根据P0构造H′0的子图H′01和H′02;
(7)分别令H′0=H′01和H′0=H′02,重复(3)-(6)过程直到划分数为k;
(8)初始化所有的顶点未锁定;
(9)根据port数∑e∈Cλe,计算所有边界顶点集PV中顶点移动的增益;
式中C为割边集,用λe表示超边e被分割数,即λe=|{i∈{1,2,…k}|e∩Vi≠φ}|;
(10)根据顶点移动的优先顺序,选择一个可移动的顶点v∈PV;
(11)更新其所有未被锁定的邻接点u∈PV的增益;
(12)重复(10)-(11),直到无可移动的顶点或者连续出现非正增益的移动次数达到一定次数;
(13)从该轮顶点移动序列中找到port数最小的位置,得到新的划分;
(14)重复(8)-(13)直到port数没有改进;
其中步骤(1)-(7)属于第一阶段,步骤(8)-(14)属于第二阶段;
本发明的优点:经对实际电路样例的测试结果分析,时间方面,本发明的方法与目前最好的划分工具hMETIS-Kway效果相当;port数方面,本发明的方法对一些电路要明显好于hMETIS-Kway,其他的相当;负载平衡方面,本发明的方法于所有的测试样例都有了明显改善。可以得出结论,本发明的方法是一种较低时间复杂度,可以有效控制负载平衡,并获取较好的port数的电路划分算法。
附图说明
图1是递归的二路划分方法原理图。
图2是以最小割为目标的多级二路划分方法流程图。
图3是基于移动的迭代改进方法流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
本实施例提供一种用于并行电路仿真的电路划分方法,其特征在于包括如下步骤:
(1)把电路表示为超图H={V,E};
(2)H′0=H;
(3)用重边粗化方法对H′0进行粗化构造一系列超图H′1,H′2,…,H′m;
(4)用FM+CLIP方法以最小割为目标得到H′m的划分Pm;
(5)对Pm进行映射,并用FM方法优化,得到一系列划分Pm-1,Pm-2,…,P0;
(6)根据P0构造H′0的子图H′01和H′02;
(7)分别令H′0=H′01和H′0=H′02,重复(3)-(6)过程直到划分数为k;
(8)初始化所有的顶点未锁定;
(9)根据port数∑e∈Cλe,计算所有边界顶点集PV中顶点移动的增益;
式中C为割边集,用λe表示超边e被分割数,即λe=|{i∈{1,2,…k}|e∩Vi≠φ}|;
(10)根据顶点移动的优先顺序,选择一个可移动的顶点v∈PV;
(11)更新其所有未被锁定的邻接点u∈PV的增益;
(12)重复步骤(10)-(11),直到无可移动的顶点或者连续出现非正 增益的移动次数达到一定次数;
(13)从该轮顶点移动序列中找到port数最小的位置,得到新的划分;
(14)重复步骤(8)-(13)直到port数没有改进。
具体的,本发明方法的数学模型描述如下:
用超图H=(V,E)来表示电路,其中顶点v∈V表示电路中的晶体管元件,超边e∈E表示信号。wv表示顶点v所对应的晶体管元件仿真时计算耗费。
并行电路仿真的电路划分问题是将顶点集V划分为k个部分V1,V2,…Vk,满足条件V1∪V2∪…∪Vk=V,并且对任意的i,j(i≠j),有Vi∩Vj=φ。记划分Pk={V1,V2,…Vk},割边集为C。超边e∈C,当且仅当存在i,j(i≠j),满足e∩Vi≠φ,e∩Vj≠φ。用λe表示超边e被分割数,即λe=|{i∈{1,2,…k}|e∩Vi≠φ}|。第i个部分负载 负载平衡目标对应的是最小化 其中,最小化port数目标对应的是最小化∑e∈Cλe。
方法的第一阶段以最小割为目标,用递归的多级二路划分方法得到初始的k路划分。
递归划分过程如图1所示,先把原超图H=(V,E)的顶点V划分成V1,V2。其中, 划分后, 子图H1=(V1,E1)和H2=(V2,E2)的边集E1和E2分别按照如下方式构造:E1={e∈E||e∩V1|≥2},E2={e∈E||e∩V2|≥2}。然后以递归的方式分别对H1和H2再进行二路划分。如此,经过步后,就可以得到原超图H的k路划分。
在该阶段对负载平衡进行松弛,记松弛因子为β。对H=(V,E),把V划分为V1,V2时,V1的权重下界为:
V1的权重上界为:
同理,V2的权重下界为:
V2的权重上界为:
对相应子图进行划分时,权重的上下界也按照上述方法定义。
多级二路划分过程如图2所示。
图2中203部分,具体方式如下:
对超图Hi=(Vi,Ei)中顶点u,v的连接权重定义如下:
根据上述连接权重定义,采用对顶点进行随机访问的方式,每次将访问到的顶点与未被匹配的顶点进行匹配收缩。
图2中204部分,具体方式如下:
如果在M中,v1与v2匹配,v1与v2收缩成一个顶点v∈Vi+1,其权重w(v)=w(v1)+w(v2)。其他未被匹配的顶点,继续保留成为Hi+1中的顶点。
图2中207部分,具体过程如下:
先产生10个初始解,然后分别运行FM+CLIP方法改进初始解,划分P输出的是10次运行中得到的最好划分。其中,初始解采用如下BFS的方式产生:初始化V1 m=φ。先随机选择顶点u∈Vm放入子集V1 m,然后将所有与之相邻的顶点放入V1 m。接着,再随机选择一个顶点v∈V1 m(v≠u),再把所有与v相邻且未被分配的顶点加入到V1 m中。依此方式,直到w(V1 m)≥L1。
图2中208部分,具体方式如下:
假设Hi中收缩点为v,对应的是Hi-1中的顶点v1,v2。在Pi-1中,v1,v2与v在相同的部分。
图2中209部分,具体方式如下:
采用FM算法改进Pi-1时,将FM的迭代次数限制为2。
以port数为目标,基于移动的迭代改进方法如图3所示。
图3中303部分,顶点移动的增益计算方式如下:
用γi(e)表示超边e在Vi中未被锁定的顶点数。如果e在Vi中至少有一个顶点被锁定,γi(e)=∞。把顶点v从Vi移到Vj的增益计算分成两个过程:
(1)先把顶点v从Vi移到增益为
(6)
(7)
根据式(6)和(7)可得到顶点v从Vi移到Vj的增益:
图3中304部分,具体方式如下:
每次选择移动的顶点采用如下的顺序进行:(1)优先把非负增益的顶点从权重大的子集移到权重更小的子集;(2)把正增益的顶点从权重小的子集移动到权重更大的子集;(3)负增益的顶点从权重大的子集移到权重更小的子集。其中,情形(2),把正增益的顶点v从权重小的子集Vi移到Vj,要满足条件:
其中β与递归的二路划分阶段一致。
图3中306部分,具体方式如下:
对当前移动的顶点v的所有邻接点,只要其是边界点,按照式(8) 重新计算相应的增益值。
图3中的307部分,具体方式如下:
如果在顶点移动过程中已经连续出现max{50,0.001*|V|}次非正增益,即使存在可移动的顶点也要结束该轮迭代。
图3中的308部分,具体方式如下:
从顶点移动序列中找到port数最小的位置,然后把该位置往后的所有顶点移动撤销,就得到相应的划分。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (8)
1.一种用于并行电路仿真的电路划分方法,其特征在于包括如下步骤:
(1)把电路表示为超图H={V,E};
(2)H′0=H;
(3)用重边粗化方法对H′0进行粗化构造一系列超图H′1,H′2,…,H′m;
(4)用FM+CLIP方法以最小割为目标得到H′m的划分Pm;
(5)对Pm进行映射,并用FM方法优化,得到一系列划分Pm-1,Pm-2,…,P0;
(6)根据P0构造H′0的子图H′01和H′02;
(7)分别令H′0=H′01和H′0=H′02,重复(3)-(6)过程直到划分数为k;
(8)初始化所有的顶点未锁定;
(9)根据port数∑e∈Cλe,计算所有边界顶点集PV中顶点移动的增益;
式中C为割边集,用λe表示超边e被分割数,即λe=|{i∈{1,2,…k}|e∩Vi≠φ}|;
(10)根据顶点移动的优先顺序,选择一个可移动的顶点v∈PV;
(11)更新其所有未被锁定的邻接点u∈PV的增益;
(12)重复步骤(10)-(11),直到无可移动的顶点或者连续出现非正增益的移动次数达到一定次数;
(13)从该轮顶点移动序列中找到port数最小的位置,得到新的划分;
(14)重复步骤(8)-(13)直到port数没有改进。
2.根据权利要求1所述的用于并行电路仿真的电路划分方法,其特征在于:所述步骤(1)的实现方式为:
先把原超图H=(V,E)的顶点V划分成V1,V2;其中, ;划分后,子图H1=(V1,E1)和H2=(V2,E2)的边集E1和E2分别按照如下方式构造:E1={e∈E||e∩V1|≥2},E2={e∈E||e∩V2|≥2};然后以递归的方式分别对H1和H2再进行二路划分;如此,经过步后,就可以得到原超图H的k路划分;
在该阶段对负载平衡进行松弛,记松弛因子为β;对H=(V,E),把V划分为V1,V2时,V1的权重下界为:
V1的权重上界为:
同理,V2的权重下界为:
V2的权重上界为:
对相应子图进行划分时,权重的上下界也按照上述方法定义。
3.根据权利要求2所述的用于并行电路仿真的电路划分方法,其特征在于:所述步骤(3)的实现方式是:对超图Hi=(Vi,Ei)中顶点u,v的连接权重定义如下:
根据上述连接权重定义,采用对顶点进行随机访问的方式,每次将访问到的顶点与未被匹配的顶点进行匹配收缩;
如果在M中,v1与v2匹配,v1与v2收缩成一个顶点v∈Vi+1,其权重w(v)=w(v1)+w(v2);其他未被匹配的顶点,继续保留成为Hi+1中的顶点。
4.根据权利要求3所述的用于并行电路仿真的电路划分方法,其特征在于:所述步骤(4)的实现方式:
先产生10个初始解,然后分别运行FM+CLIP方法改进初始解,划分P输出的是10次运行中得到的最好划分;其中,初始解采用如下BFS的方式产生:初始化V1 m=φ;先随机选择顶点u∈Vm放入子集V1 m,然后将所有与之相邻的顶点放入V1 m;接着,再随机选择一个顶点v∈V1 m(v≠u),再把所有与v相邻且未被分配的顶点加入到V1 m中;依此方式,直到w(V1 m)≥L1。
5.根据权利要求4所述的用于并行电路仿真的电路划分方法,其特征在于:所述步骤(5)的实现方式:假设Hi中收缩点为v,对应的是Hi-1中的顶点v1,v2;在Pi-1中,v1,v2与v在相同的部分;采用FM算法改进Pi-1时,将FM的迭代次数限制为2。
7.根据权利要求6所述的用于并行电路仿真的电路划分方法,其特征在于:所述步骤(10)的实现方式:每次选择移动的顶点采用如下的顺序进行:(71)优先把非负增益的顶点从权重大的子集移到权重更小的子集;(72)把正增益的顶点从权重小的子集移动到权重更大的子集;(73)负增益的顶点从权重大的子集移到权重更小的子集;其中,步骤(72),把正增益的顶点v从权重小的子集Vi移到Vj,要满足条件:
其中β与递归的二路划分阶段一致。
8.根据权利要求7所述的用于并行电路仿真的电路划分方法,其特征在于:所述步骤(11)的实现方式:对当前移动的顶点v的所有邻接点,只要其是边界点,按照式(8)重新计算相应的增益值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310259859.XA CN103353910B (zh) | 2013-06-26 | 2013-06-26 | 一种用于并行电路仿真的电路划分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310259859.XA CN103353910B (zh) | 2013-06-26 | 2013-06-26 | 一种用于并行电路仿真的电路划分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103353910A true CN103353910A (zh) | 2013-10-16 |
CN103353910B CN103353910B (zh) | 2016-05-04 |
Family
ID=49310281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310259859.XA Expired - Fee Related CN103353910B (zh) | 2013-06-26 | 2013-06-26 | 一种用于并行电路仿真的电路划分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103353910B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015066922A1 (zh) * | 2013-11-11 | 2015-05-14 | 华为技术有限公司 | 并行仿真方法及装置 |
CN105205191A (zh) * | 2014-06-12 | 2015-12-30 | 济南概伦电子科技有限公司 | 多速率并行电路仿真 |
CN108629136A (zh) * | 2018-05-14 | 2018-10-09 | 北京理工大学 | 一种连续时间系统的并行仿真及误差补偿方法 |
CN112183007A (zh) * | 2020-09-28 | 2021-01-05 | 上海国微思尔芯技术股份有限公司 | 一种多个fpga的设计分割方法 |
CN112258515A (zh) * | 2020-12-24 | 2021-01-22 | 上海国微思尔芯技术股份有限公司 | 一种基于固定顶点的图分割方法 |
CN113128142A (zh) * | 2021-04-27 | 2021-07-16 | 北京智芯仿真科技有限公司 | 基于文件锁的集成电路电磁仿真粗颗粒并行方法及装置 |
CN113516667A (zh) * | 2021-04-09 | 2021-10-19 | 国微集团(深圳)有限公司 | 代价均衡的门级电路图的分割方法、计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545049A (zh) * | 2003-11-14 | 2004-11-10 | 清华大学 | 基于虚拟模块的大规模混合模式布图方法 |
JP2006323873A (ja) * | 2006-08-07 | 2006-11-30 | Renesas Technology Corp | シミュレーション方法 |
-
2013
- 2013-06-26 CN CN201310259859.XA patent/CN103353910B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545049A (zh) * | 2003-11-14 | 2004-11-10 | 清华大学 | 基于虚拟模块的大规模混合模式布图方法 |
JP2006323873A (ja) * | 2006-08-07 | 2006-11-30 | Renesas Technology Corp | シミュレーション方法 |
Non-Patent Citations (2)
Title |
---|
朱文兴、陈家瑞: "VLSI电路划分算法综述", 《福州大学学报》, vol. 39, no. 5, 31 October 2011 (2011-10-31) * |
韩明伟: "超大规模集成电路划分算法研究", 《中国优秀硕士学位论文全文数据库》, no. 7, 15 July 2009 (2009-07-15) * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015066922A1 (zh) * | 2013-11-11 | 2015-05-14 | 华为技术有限公司 | 并行仿真方法及装置 |
CN105264530A (zh) * | 2013-11-11 | 2016-01-20 | 华为技术有限公司 | 并行仿真方法及装置 |
CN105205191A (zh) * | 2014-06-12 | 2015-12-30 | 济南概伦电子科技有限公司 | 多速率并行电路仿真 |
CN105205191B (zh) * | 2014-06-12 | 2018-10-12 | 济南概伦电子科技有限公司 | 多速率并行电路仿真 |
CN108629136A (zh) * | 2018-05-14 | 2018-10-09 | 北京理工大学 | 一种连续时间系统的并行仿真及误差补偿方法 |
CN108629136B (zh) * | 2018-05-14 | 2021-07-02 | 北京理工大学 | 一种连续时间系统的并行仿真及误差补偿方法 |
CN112183007A (zh) * | 2020-09-28 | 2021-01-05 | 上海国微思尔芯技术股份有限公司 | 一种多个fpga的设计分割方法 |
CN112183007B (zh) * | 2020-09-28 | 2023-07-04 | 上海思尔芯技术股份有限公司 | 一种多个fpga的设计分割方法 |
CN112258515A (zh) * | 2020-12-24 | 2021-01-22 | 上海国微思尔芯技术股份有限公司 | 一种基于固定顶点的图分割方法 |
CN113516667A (zh) * | 2021-04-09 | 2021-10-19 | 国微集团(深圳)有限公司 | 代价均衡的门级电路图的分割方法、计算机存储介质 |
CN113128142A (zh) * | 2021-04-27 | 2021-07-16 | 北京智芯仿真科技有限公司 | 基于文件锁的集成电路电磁仿真粗颗粒并行方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103353910B (zh) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103353910A (zh) | 一种用于并行电路仿真的电路划分方法 | |
Morgenthal et al. | An immersed interface method for the Vortex-In-Cell algorithm | |
CN102138146A (zh) | 使用并行多级不完全因式分解求解储层模拟矩阵方程的方法 | |
EP3333735A1 (en) | Method and computer program for determining a placement of at least one circuit for a reconfigurable logic device | |
CN201837996U (zh) | 一种用于仿真集成电路设计的系统 | |
CN105512385A (zh) | 采用序列幂函数插值方法实现结构多材料拓扑优化的方法 | |
Abashar et al. | Global convergence properties of a new class of conjugate gradient method for unconstrained optimization | |
US10606964B2 (en) | Inlet spacing on road grades | |
Kachroo et al. | Inverse problem for non-viscous mean field control: Example from traffic | |
Berger et al. | 2D whole-building hygrothermal simulation analysis based on a PGD reduced order model | |
Zhao et al. | Adaptive multi-fidelity sparse polynomial chaos-Kriging metamodeling for global approximation of aerodynamic data | |
Porcelli et al. | A solution procedure for constrained eigenvalue problems and its application within the structural finite-element code NOSA-ITACA | |
Mahapatra et al. | Veriintel2c: abstracting rtl to c to maximize high-level synthesis design space exploration | |
Diao et al. | Speedup of water distribution simulation by domain decomposition | |
Berger et al. | Proper generalised decomposition for heat and moisture multizone modelling | |
CN106909805A (zh) | 基于多条代谢路径比对重建物种系统发生树的方法 | |
US10860767B1 (en) | Systems and methods for transient simulation of circuits with mutual inductors | |
Oprzędkiewicz | Approximation method for a fractional order transfer function with zero and pole | |
Punzo | An SIS network model with flow driven infection rates | |
WO2021205512A1 (ja) | 推定方法、シミュレーション方法、推定装置、及び推定プログラム | |
CN101995544A (zh) | 一种具有灵活分配测试存取机制的soc测试调度方法 | |
Causley et al. | Method of lines transpose: energy gradient flows using direct operator inversion for phase-field models | |
Javid et al. | Analog circuits sizing using bipartite graphs | |
CN103984794A (zh) | 一种针对软模块的固定边框的集成电路布图规划方法 | |
Sootla et al. | On projection-based model reduction of biochemical networks part II: The stochastic case |
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: 20160504 Termination date: 20190626 |
|
CF01 | Termination of patent right due to non-payment of annual fee |