电路划分预处理的方法及门级电路并行仿真的方法技术

技术编号:28061816 阅读:14 留言:0更新日期:2021-04-14 13:41
本发明专利技术提出了一种电路划分预处理的方法及门级电路并行仿真的方法,所述电路划分预处理的方法,包括:步骤S1:将门级电路转换为有向图,并用结构体保存所述有向图;步骤S2:从结构体中查找有外部输入的输入节点的集合V;步骤S3:从输入节点开始探索有向图,得出所有强连通分量,并用结构体的形式保存;步骤S4:将每个强连通分量用一个中间节点替换,删除所述有向图中所有的强连通分量并对应加入中间节点。与现有技术相比,本发明专利技术实现了对门级电路划分的预处理,减小了有向图的规模和复杂程度,降低了下一步电路划分的难度。了下一步电路划分的难度。了下一步电路划分的难度。

【技术实现步骤摘要】
电路划分预处理的方法及门级电路并行仿真的方法


[0001]本专利技术涉及EDA电路并行仿真,特别是一种电路划分预处理的方法及门级电路并行仿真的方法。

技术介绍

[0002]随着现代集成电路制造技术的高速发展,超大规模集成电路拥有上千万甚至上亿的门电路。在EDA电路设计中,为了加速超大规模集成电路仿真的速度,并行仿真是提高仿真精度和缩短仿真周期的有效途径。为了高效地并行化仿真,仿真前要对电路进行合理划分。在电路划分过程中,如果将拥有反馈的电路部分内部分割开后仿真,那么就不能得到正确的仿真结果。
[0003]因此,如何不破坏有反馈的电路部分,保证电路划分结果的合理性,同时减小有向图的规模,提出一种电路划分预处理的方法及门级电路并行仿真的方法是业界亟待解决的技术问题。

技术实现思路

[0004]针对现有技术中电路划分过程中,将有反馈的电路部分内部分割开后仿真得不到正确的仿真结果的技术问题,本专利技术提出了一种电路划分预处理的方法及门级电路并行仿真的方法。
[0005]本专利技术的技术方案为,提出了一种电路划分预处理的方法,包括:步骤S1:将门级电路转换为有向图,并用结构体保存所述有向图;步骤S2:从结构体中查找有外部输入的输入节点的集合V;步骤S3:从输入节点开始探索有向图,得出所有强连通分量,并用结构体的形式保存;步骤S4:将每个强连通分量用一个中间节点替换,删除所述有向图中所有的强连通分量并对应加入中间节点。
[0006]进一步,所述门级电路转换为有向图包括:所述有向图中的节点代表一个门级电路,节点之间的有向边(a,b)代表门级电路a的输出连接到门级电路b的输出。
[0007]进一步,设所述结构体为G,其包含至少7个部分,分别为G.name、G.matrix、G.input.name、G.input.matrix、G.output.name、G.output.matrix、G.cost;所述G.name储存有向图各个节点的名字;所述G.matrix储存有向图的邻接矩阵;所述G.input.name储存外部对有向图的输入的名字;所述G.input.matrix是一个矩阵,储存外部对有向图的输入信息;所述G.output.name储存有向图对外部的输出的名字;所述G.output.matrix是一个矩阵,储存有向图对外部输出的信息;
所述G.cost储存有向图中各节点的成本。
[0008]进一步,所述从结构体中查找有外部输入的输入节点的集合V包括:根据所述G.input.matrix,得到有向图中存在外部输入的输入节点,并记为一个集合V。
[0009]进一步,所述步骤S3还包括:步骤S31:从所述集合V中的任意一个输入节点开始,依次运行基于深度优先搜索的tarjan算法;步骤S32:每次运行tarjan算法结束后,比较本次运行得到的强连通分量是否与已保存的强连通分量重复,若是则舍弃本次得到的强连通分量,否则保存本次得到的强连通分量。
[0010]进一步,所述步骤S3还包括:步骤S33:判断所述集合V中的所有节点是否都被访问过,若还有节点未被访问,则返回步骤S31,反之则进入步骤S34;步骤S34:输出所有的强连通分量,并用结构体的形式保存数据。
[0011]进一步,所述将每个强连通分量用一个中间节点替换,删除所述有向图中所有的强连通分量并对应加入中间节点包括:删除原有向图中每个强连通分量,并对应加入一个中间节点至有向图,该中间节点保留原强连通分量与其他节点的连接关系。
[0012]进一步,所述强连通分量为:在有n个节点的有向图中存在m个顶点(m<n),且m个顶点中任意两个节点A、B既存在从A到B的路径,也存在B到A的路径,则m个顶点为有向图的一个强连通分量。
[0013]进一步,所述有向图中各节点的成本为:门级电路的输入端口的数量加1。
[0014]本专利技术还提出了一种门级电路并行仿真的方法,所述门级电路并行仿真的方法采用上述电路划分预处理的方法对门级电路划分预处理。
[0015]与现有技术相比,本专利技术至少具有如下有益效果:实现了对门级电路划分的预处理,减小了有向图的规模和复杂程度,降低了下一步电路划分的难度。同时从门级电路背景出发,从有外部输入的节点开始搜索,可以减少搜索的次数。
附图说明
[0016]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是本专利技术的流程图;图2是二位移位寄存器的拓扑图;图3是二位移为寄存器的有向图;图4是二位移位寄存器有向图经过处理后的图。
具体实施方式
[0018]为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0019]由此,本说明书中所指出的一个特征将用于说明本专利技术的一个实施方式的其中一个特征,而不是暗示本专利技术的每个实施方式必须具有所说明的特征。此外,应当注意的是本说明书描述了许多特征。尽管某些特征可以组合在一起以示出可能的系统设计,但是这些特征也可用于其他的未明确说明的组合。由此,除非另有说明,所说明的组合并非旨在限制。
[0020]下面结合附图以及实施例对本专利技术的原理及结构进行详细说明。
[0021]由于集成电路的结构复杂,为加快超大规模的集成电路仿真的速度,并行仿真是提高仿真精度和缩短仿真周期的有效途径,为了进行高效的并行仿真,在仿真前往往需要对电路进行合理的划分。但是在电路划分过程中,如果将拥有反馈的电路部分内部分割开后仿真,那么将不会得到正确的仿真结果。本专利技术的核心思想在于通过门级电路抽象为一个有向图,用邻接矩阵表示图中节点的关系,这样电路中拥有反馈的部分在有向图中称为具有强连通性。再根据该具有强连通性的有向图进行处理,并用一个中间节点代替强连通分量,该中间节点集成了强连通分量与其他节点的关系,生成一个新的有向图,从而实现在不影响仿真结果的情况下提高仿真效率。
[0022]本专利技术提出了一种电路划分预处理方法,包括:步骤S1:将门级电路转换为有向图,并用结构体保存所述有向图;步骤S2:从结构体中查找有外部输入的输入节点的集合V;步骤S3:从输入节点开始探索有向图,得出所有强连通分量,并用结构体的形式保存;步骤S4:将每个强连通分量用一个中间节点替换,删除所述有向图中所有的强连通分量并对应加入中间节点。
[0023]在有向图G(V,E)中,V={,,

, }是节点的集合,E={,,

,}是边的集合。用来表示存在有向边,从顶点指向顶点,所得的矩阵D=D(G)= 为有向图G的邻接矩阵。在数字电路中,其往往具有多个门级电路,相邻的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.电路划分预处理的方法,其特征在于,包括:步骤S1:将门级电路转换为有向图,并用结构体保存所述有向图;步骤S2:从结构体中查找有外部输入的输入节点的集合V;步骤S3:从输入节点开始探索有向图,得出所有强连通分量,并用结构体的形式保存;步骤S4:将每个强连通分量用一个中间节点替换,删除所述有向图中所有的强连通分量并对应加入中间节点。2.根据权利要求1所述的电路划分预处理的方法,其特征在于,所述门级电路转换为有向图包括:所述有向图中的节点代表一个门级电路,节点之间的有向边(a,b)代表门级电路a的输出连接到门级电路b的输出。3.根据权利要求1所述的电路划分预处理的方法,其特征在于,设所述结构体为G,其包含至少7个部分,分别为G.name、G.matrix、G.input.name、G.input.matrix、G.output.name、G.output.matrix、G.cost;所述G.name储存有向图各个节点的名字;所述G.matrix储存有向图的邻接矩阵;所述G.input.name储存外部对有向图的输入的名字;所述G.input.matrix是一个矩阵,储存外部对有向图的输入信息;所述G.output.name储存有向图对外部的输出的名字;所述G.output.matrix是一个矩阵,储存有向图对外部输出的信息;所述G.cost储存有向图中各节点的成本。4.根据权利要求3所述的电路划分预处理的方法,其特征在于,所述从结构体中查找有外部输入的输入节点的集合V包括:根据所述G.input.matrix,得到有向图中存在外部输入的输入节点,并记为一个集合V。...

【专利技术属性】
技术研发人员:黄国勇张聪丁家峰赵岩
申请(专利权)人:国微集团深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1