CN113221501B - 用于平衡电路不同划分间互联数的方法及可读存储介质 - Google Patents
用于平衡电路不同划分间互联数的方法及可读存储介质 Download PDFInfo
- Publication number
- CN113221501B CN113221501B CN202110414326.9A CN202110414326A CN113221501B CN 113221501 B CN113221501 B CN 113221501B CN 202110414326 A CN202110414326 A CN 202110414326A CN 113221501 B CN113221501 B CN 113221501B
- Authority
- CN
- China
- Prior art keywords
- node
- matrix
- moved
- nodes
- division
- 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.)
- Active
Links
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/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种用于平衡电路不同划分间互联数的方法及可读存储介质,方法包括步骤1、获取具有初始划分的超图;步骤2、根据线网上的驱动节点和若干个被驱动节点所在的划分得到第一矩阵A;步骤3、根据第一矩阵A的实际连线数和矩阵B的物理连线数得到预处理划分对;步骤4、根据预处理划分对对应的预设线网的待移动节点在预设划分的移动结果得到待移动节点的移动方式;步骤5、基于待移动节点的移动方式,根据经过步骤4后所得到的第二矩阵C与预设次数的关系,确定最终移动结果。本发明通过改变节点的位置来消除或改善物理连线超出量,使得划分间连线的最大超出量尽可能小。同时保证不能存在互联的划分间不会产生连线。
Description
技术领域
本发明属于集成电路技术领域,具体涉及一种用于平衡电路不同划分间互联数的方法及可读存储介质。
背景技术
电路划分在大规模集成电路设计中占有重要的地位。随着集成电路技术的快速发展,在一个芯片上集成有几百万门甚至几千万门电路已成为现实,因此在大规模集成电路设计中使用电路划分,可有效地降低对集成电路进行模拟或综合的复杂性。
电路划分时需要考虑的一个重要因素是不同芯片间的输入输出连线数目,每个芯片上连线的数目不能无限制增加,同时由于工艺原因某些芯片间不能存在连线。超出物理连线数量的连接通常只能采用飞线的方式进行互联,这会使得电路延迟、可靠性、体积等指标恶化。因此,在互联线数量较少时,对不同划分间的互联线占用量进行平衡,以此来缓解互联压力是提高大规模集成电路设计性能的必要条件。
目前已经提出了一些针对电路划分的方法,其中对互联线的考虑主要有以下特点:(1)只考虑减小互联线的总量;(2)只在划分阶段中考虑减小互联线的数量。现有技术的这两个特点,其缺点分别为:(1)互联线的总量并不能很好地反映真实的互联资源紧张程度。例如,互联总量较小,但是他们都集中在某两个划分之间,就会导致这两个划分间的联线资源严重超出。(2)在划分阶段需要考虑的问题众多,除了互联线数量之外还有如资源限制、固定节点、节点数目等因素,因此通常无法得到很好的互联数量平衡的结果。在结束了划分后互联线的平衡状况还有很大的优化空间。
因此,提供一种能够有效对不同划分间的互联线占用量进行平衡的方法成为了亟待解决的问题。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种用于平衡电路不同划分间互联数的方法及可读存储介质。本发明要解决的技术问题通过以下技术方案实现:
一种用于平衡电路不同划分间互联数的方法,包括:
步骤1、获取具有初始划分的超图,所述超图包括若干节点、节点之间的连接线网,其中,每个所述线网包含一个驱动节点和若干个被驱动节点,且所述若干节点包括具有约束的固定节点;
步骤2、根据所述线网上的所述驱动节点和所述若干个被驱动节点所在的划分得到第一矩阵A,所述第一矩阵A包括有若干实际连线数;
步骤3、根据所述第一矩阵A的实际连线数和矩阵B的物理连线数得到预处理划分对,所述预处理划分对为所述线网的所述驱动节点和所述被驱动节点分别所在的两个划分;
步骤4、根据所述预处理划分对对应的预设线网的待移动节点在预设划分的移动结果得到所述待移动节点的移动方式,所述预设划分为除所述待移动节点初始所在的划分的其余划分;
步骤5、基于所述待移动节点的移动方式,根据经过步骤4后所得到的第二矩阵C与预设次数的关系,确定最终移动结果。
在本发明的一个实施例中,具有所述初始划分的超图满足互联约束条件。
在本发明的一个实施例中,步骤2包括:
判断所述线网是否跨越多个划分,若是,则含有所述驱动节点的划分与含有所述被驱动节点的划分间通过一条连线连接,且统计每两个划分之间的实际连线数,并将所述实际连线数存放在所述第一矩阵A中。
在本发明的一个实施例中,步骤3包括:
在所述第一矩阵A中找出实际连线数超出所述矩阵B的物理连线数最多的预处理划分对。
在本发明的一个实施例中,步骤4包括:
步骤4.1、获取跨越所述预处理划分的预设线网;
步骤4.2、根据所述预设线网的驱动节点得到待移动节点;
步骤4.3、判断所述待移动节点是否为固定节点,若是,则处理下一个所述待移动节点,若否,则根据所述待移动节点在所述预设划分的移动结果得到所述待移动节点的移动方式。
在本发明的一个实施例中,根据所述待移动节点在所述预设划分的移动结果得到所述待移动节点的移动方式,包括:
判断所述待移动节点在当前线网中是否为驱动节点,若是,则根据所述待移动节点与所述当前线网的其余所有节点得到第二矩阵C,若否,则根据所述待移动节点与所述当前线网的驱动节点得到第二矩阵C;
根据所述第二矩阵C得到所述待移动节点的移动方式。
在本发明的一个实施例中,根据所述待移动节点与所述当前线网的其余所有节点得到第二矩阵C,包括:
判断所述待移动节点移动至所述预设划分后是否违反互联约束条件,若是,则不移动,若否,则将所述第一矩阵A中对应的所述待移动节点原先所在的划分与所述当前线网的其余所有节点所在的不同的划分间的连线数删掉,并在所述第一矩阵A中加入所述待移动节点所在的预设划分与所述当前线网的其余所有节点所在的不同的划分间的连线数,以得到所述第二矩阵C。
在本发明的一个实施例中,根据所述待移动节点与所述当前线网的驱动节点得到第二矩阵C,包括:
判断所述待移动节点移动至所述预设划分后是否违反互联约束条件,若是,则不移动,若否,则将所述第一矩阵A中对应的所述待移动节点原先所在的划分与所述当前线网的驱动节点所在的划分间的连线数删掉,并在所述第一矩阵A中加入所述待移动节点所在的预设划分与所述当前线网的驱动节点所在的划分间的连线数,以得到所述第二矩阵C。
在本发明的一个实施例中,根据所述第二矩阵C得到所述待移动节点的移动方式,包括:
根据所述第二矩阵C得到最大的划分间的连线超出量、最小的划分间的连线超出量、连线超出量的标准差、超出量等于最大超出量的划分对数目、超出量等于最小超出量的划分对数目和总的实际连线数量;
对所述最大的划分间的连线超出量、所述最小的划分间的连线超出量、所述连线超出量的标准差、所述超出量等于最大超出量的划分对数目、所述超出量等于最小超出量的划分对数目和所述总的实际连线数量进行加权求和处理,得到加权求和值;
根据最小的加权求和值得到所述待移动节点的移动方式。
本发明一个实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述方法的步骤。
本发明的有益效果:
本发明首先得到了反映一个线网跨越多个划分的实际连线数的第一矩阵A,然后通过第一矩阵A的实际连线数和矩阵B的物理连线数确定了一预处理划分对,并确定了通过跨越该预处理划分对的预设线网,然后确定了该预设线网的驱动节点的移动方式。由此可知,本发明根据连线资源使用情况,每次选择一个驱动节点改变其位置,以此来获得连线超出情况的改善。本发明通过改变节点的位置来消除或改善物理连线超出量,使得划分间连线的最大超出量尽可能小。同时保证不能存在互联的划分间不会产生连线。本发明的方法还具有低运行耗时的特点。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种用于平衡电路不同划分间互联数的方法的流程示意图;
图2是本发明实施例提供的另一种用于平衡电路不同划分间互联数的方法的流程示意图;
图3是本发明实施例提供的计算机设备模块示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
请参见图1和图2,图1是本发明实施例提供的一种用于平衡电路不同划分间互联数的方法的流程示意图,图2是本发明实施例提供的另一种用于平衡电路不同划分间互联数的方法的流程示意图。本发明实施例提供一种用于平衡电路不同划分间互联数的方法,该用于平衡电路不同划分间互联数的方法包括步骤1至步骤5,其中:
步骤1、获取具有初始划分的超图,所述超图包括若干节点、节点之间的连接线网,其中,每个所述线网包含一个驱动节点和若干个被驱动节点,且所述若干节点包括具有约束的固定节点。
具体地,读入设计对应的超图文件信息(即超图),超图中包含以下:节点信息(即所有节点)、节点之间的连接线网信息(每个线网上连接有若干节点),每个线网包含有一个驱动节点和若干个被驱动节点,并且还事先指定了划分的固定位置的节点,该节点即为具有约束的固定节点,本实施例所处理的为已经具有初始划分的超图,该初始划分包含每个节点所在的划分,并且此初始划分要求满足互联约束条件,即没有物理互联线的划分间不能存在连线。
步骤2、根据线网上的驱动节点和若干个被驱动节点所在的划分得到第一矩阵A,第一矩阵A包括有若干实际连线数。
具体地,第一矩阵A用于存放将两两划分之间的实际连线数,两个划分之中需要有一个为驱动节点所在的划分,另一个划分为被驱动节点所在的划分,则第一矩阵A中的Aij表示划分i和划分j之间的连线数量,例如A12为3,表示划分1与划分2之间的实际连线数为3。
进一步地,步骤2可以具体为:判断线网是否跨越多个划分,若是,则含有所述驱动节点的划分与含有所述被驱动节点的划分间通过一条连线连接,且统计每两个划分之间的实际连线数,并将所述实际连线数存放在所述第一矩阵A中。
也就是说,若一个线网跨越多个划分,即该线网上的节点没有都在一个划分中,则含有该线网的驱动节点的划分与含有被驱动节点的划分间会产生一条连线,如该线网的驱动节点在划分1中,线网上的若干被驱动节点在划分2中,则划分1与划分2之间会产生一条连线。在本实施例中,实际连线数为两个划分之间的总的连线数,并将两两划分之间的实际连线数存放在一个第一矩阵A中。
步骤3、根据第一矩阵A的实际连线数和矩阵B的物理连线数得到预处理划分对,预处理划分对为线网的驱动节点和被驱动节点分别所在的两个划分。
具体地,本实施例通过比较第一矩阵A的实际连线数和矩阵B的物理连线数,确定之后步骤所要处理的预处理划分对,其中,物理连线数是电路板生产的时候划分之间的固定的连线数,矩阵B中Bij表示划分i和划分j之间的物理互联线数量。
进一步地,步骤3可以具体为:在第一矩阵A中找出实际连线数超出矩阵B的物理连线数最多的预处理划分对。
也就是说,本实施例将第一矩阵A中所有的实际连线数与矩阵B中的物理连线数一一进行对比,从而找出与物理连线数差值最大的实际连线数,该实际连线数对应的划分对即为预处理划分对,如与物理连线数差值最大的实际连线数对应的为A13,则预处理划分对为划分1和划分3组成的划分对。
步骤4、根据预处理划分对对应的预设线网的待移动节点在预设划分的移动结果得到待移动节点的移动方式,所述预设划分为除所述待移动节点初始所在的划分的其余划分。
具体地,本实施例的预设线网为跨越预处理划分的线网,即该线网上的若干节点在预处理划分对的一个划分上,该线网上的其它若干节点在预处理划分对的另一个划分上,则待移动节点即为该预设线网上的驱动节点,则根据待移动节点移动至每个预设划分的移动结果,从所有移动结果中找到一个最可行的预设线网的待移动节点的移动方式。
在一个具体实施例中,步骤4具体包括步骤4.1~步骤4.3,其中:
步骤4.1、获取跨越预处理划分的预设线网。
具体地,在步骤3所得到的预处理划分对找出所有的预设线网。
步骤4.2、根据预设线网的驱动节点得到待移动节点。
具体地,将预设线网的驱动节点作为待移动节点。
步骤4.3、判断待移动节点是否为固定节点,若是,则处理下一个待移动节点,若否,则根据待移动节点在预设划分的移动结果得到待移动节点的移动方式。
具体地,对于每一个预设线网,找到预设线网的驱动节点,该驱动节点即为待移动节点,如果选取的待移动节点是固定节点,则跳过该待移动节点,转而处理下一个待移动节点,如果待移动节点不是固定节点,枚举所有预设划分,将这个待移动节点逐个尝试放置到每个预设划分中去,放置时要判断会不会违反互联约束条件,若违反则认为这种放置不可行。然后,找到一个最可行的待移动节点的移动方式,并把这个待移动节点按照这种方式移动到新的划分中去。
在一个具体实施例中,根据待移动节点在预设划分的移动结果得到待移动节点的移动方式,包括:
判断待移动节点在当前线网中是否为驱动节点,若是,则根据待移动节点与当前线网的其余所有节点得到第二矩阵C,若否,则根据待移动节点与当前线网的驱动节点得到第二矩阵C;根据第二矩阵C得到待移动节点的移动方式。
也就是说,对于一个待移动节点,它可能同时在多个不同的线网中,根据它在一个线网中是否是驱动节点分成以下两种情况,一种是待移动节点在当前所处理的线网(即当前线网)是驱动节点,此时则根据待移动节点与当前线网的其余所有节点得到第二矩阵C,另一种是待移动节点在当前所处理的线网不是驱动节点,此时则根据第二矩阵C得到待移动节点的移动方式,中第二矩阵C为实际连线数变化后的第一矩阵A。之后,便可以根据所得到的第二矩阵C确定待移动节点的移动方式。
进一步地,根据待移动节点与当前线网的其余所有节点得到第二矩阵C,包括:
判断待移动节点移动至预设划分后是否违反互联约束条件,若是,则不移动,若否,则将第一矩阵A中对应的待移动节点原先所在的划分与当前线网的其余所有节点所在的不同的划分间的连线数删掉,并在第一矩阵A中加入待移动节点所在的预设划分与当前线网的其余所有节点所在的不同的划分间的连线数,以得到第二矩阵C。
也就是说,如果待移动节点在当前线网中是驱动节点,且将该待移动节点移动至某个预设划分后也未违反互联约束条件,则将这个待移动节点原先所在的划分与其他所有节点所在的不同的划分间的连线在第一矩阵A中对应的实际连线数删掉,并在第一矩阵A中加入这个待移动点新移动到的预设划分与当前线网的其他所有节点所在的不同的划分间的连线数,经过上述处理后的第一矩阵A即为第二矩阵C。例如,待移动节点原先所在的划分为划分1,待移动节点所在的当前线网还包括有节点2、节点3和节点4,且节点2和节点3在划分2中,节点4在划分3中,则将第一矩阵A中的A12和A13的实际连线数均减1,待移动节点所移动的新的划分为划分4,则将第一矩阵A中的A24和A34的实际连线数均加1。
进一步地,根据待移动节点与当前线网的驱动节点得到第二矩阵C,包括:
判断待移动节点移动至预设划分后是否违反互联约束条件,若是,则不移动,若否,则将第一矩阵A中对应的待移动节点原先所在的划分与当前线网的驱动节点所在的划分间的连线数删掉,并在第一矩阵A中加入待移动节点所在的预设划分与当前线网的驱动节点所在的划分间的连线数,以得到所述第二矩阵C。
也就是说,如果待移动节点在当前线网中不是驱动节点,且将该待移动节点移动至某个预设划分后也未违反互联约束条件,则只需要将这个待移动节点原先所在的划分与当前线网的驱动节点所在的划分间的连线在第一矩阵A中对应的实际连线数删掉,并在第一矩阵A中加入这个待移动节点新移动到的预设划分与当前线网的驱动节点所在的划分间的连线数,经过上述处理后的第一矩阵A即为第二矩阵C。例如,待移动节点原先所在的划分为划分1,待移动节点所在的当前线网的驱动节点在划分2中,则将第一矩阵A中的A12的实际连线数减1,待移动节点所移动的新的划分为划分3,则将第一矩阵A中的A23的实际连线数均加1。
进一步地,根据第二矩阵C得到待移动节点的移动方式,包括:
根据第二矩阵C得到最大的划分间的连线超出量、最小的划分间的连线超出量、连线超出量的标准差、超出量等于最大超出量的划分对数目、超出量等于最小超出量的划分对数目和总的实际连线数量;
对最大的划分间的连线超出量、最小的划分间的连线超出量、连线超出量的标准差、超出量等于最大超出量的划分对数目、超出量等于最小超出量的划分对数目和总的实际连线数量进行加权求和处理,得到加权求和值;
根据最小的加权求和值得到待移动节点的移动方式。
在本实施例中,连线超出量为实际连线数-物理连线数,因此最大的划分间的连线超出量为第二矩阵C中最大的连线超出量,最小的划分间的连线超出量为第二矩阵C中最大的连线超出量,连线超出量的标准差为根据所有连线超出量计算的标准差,超出量等于最大超出量的划分对数目,例如,第二矩阵C的最大的连线超出量为10,在第二矩阵C中有3个连线超出量都为10,则超出量等于最大超出量的划分对数目即为3,超出量等于最小超出量的划分对数目,例如,第二矩阵C的最小的连线超出量为1,在第二矩阵C中有4个连线超出量都为1,则超出量等于最小超出量的划分对数目即为4,总的实际连线数量为第二矩阵C中所有连线数量之和。
本实施例为最大的划分间的连线超出量、最小的划分间的连线超出量、连线超出量的标准差、超出量等于最大超出量的划分对数目、超出量等于最小超出量的划分对数目和总的实际连线数量均设置了一个权重,则本实施例将最大的划分间的连线超出量、最小的划分间的连线超出量、连线超出量的标准差、超出量等于最大超出量的划分对数目、超出量等于最小超出量的划分对数目和总的实际连线数量进行加权求和处理,从而可以得到加权求和值,其中,每个量的权重可以根据其重要程度由用户设定,本实施例对此不做具体限定。例如:将连线超出量的标准差权值设置为0.00001,总的实际连线数量权重设置为0.001最小的划分间的连线超出量权重设置为-1,最大的划分间的连线超出量、超出量等于最大超出量的划分对数目和超出量等于最小超出量的划分对数目均设置为1。
因为,通过上述步骤可以得到多个第二矩阵C,每个第二矩阵C均会对应得到一个加权求和值,而得到的加权求和值越小则认为当前移动越好,因此本实施例选取最小的加权求和值对应的第二矩阵C,该第二矩阵C对应的移动方式即为待移动节点的移动方式。
步骤5、基于待移动节点的移动方式,根据经过步骤4后所得到的第二矩阵C与预设次数的关系,确定最终移动结果。
也就是说,基于步骤4所确定的待移动节点的移动方式对应的第二矩阵C在之前的步骤中出现的次数大于或者等于预设次数,则该第二矩阵C对应的待移动节点的移动方式即为最终的移动结果,否则,重复执行步骤3至步骤5,直至步骤4所确定的待移动节点的移动方式对应的第二矩阵C在之前的步骤中出现的次数大于或者等于预设次数,预设次数例如为4,其中,第二矩阵C在之前的步骤中出现的次数不包括步骤4最终确定时的第二矩阵C。
本发明首先得到了反映一个线网跨越多个划分的实际连线数的第一矩阵A,然后通过第一矩阵A的实际连线数和矩阵B的物理连线数确定了一预处理划分对,并确定了通过跨越该预处理划分对的预设线网,然后确定了该预设线网的驱动节点的移动方式。由此可知,本发明根据连线资源使用情况,每次选择一个驱动节点改变其位置,以此来获得连线超出情况的改善。本发明通过改变节点的位置来消除或改善物理连线超出量,使得划分间连线的最大超出量尽可能小。同时保证不能存在互联的划分间不会产生连线。本发明的方法还具有低运行耗时的特点。
(1)本发明的方法可对已有划分方案进行互联平衡优化:超图只要给定一种划分方案即可运用本发明中的方法进行优化,不需要考虑之前生成划分的方式,方便嵌入已有的电路设计流程。本发明对划分方案进行优化后,可以平衡划分间地连线使用数量,缓解互联资源压力。
(2)本发明的方法的算法高效,运行速度快。一般一万个单元的电路中只需要不到一秒即可完成操作。
实施例二
本发明同时提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例一的步骤。
一般的,该计算机可读存储介质可置于计算机设备中,请参见图3,该计算机设备可以包括处理器、通信接口、计算机可读存储介质和通信总线等单元或模块,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信,
计算机可读存储介质,用于存放计算机程序;
处理器,用于执行计算机可读存储介质上所存放的程序时,实现如下步骤:
步骤1、获取具有初始划分的超图,所述超图包括若干节点、节点之间的连接线网,其中,每个所述线网包含一个驱动节点和若干个被驱动节点,且所述若干节点包括具有约束的固定节点;
步骤2、根据所述线网上的所述驱动节点和所述若干个被驱动节点所在的划分得到第一矩阵A,所述第一矩阵A包括有若干实际连线数;
步骤3、根据所述第一矩阵A的实际连线数和矩阵B的物理连线数得到预处理划分对,所述预处理划分对为所述线网的所述驱动节点和所述被驱动节点分别所在的两个划分;
步骤4、根据所述预处理划分对对应的预设线网的待移动节点在预设划分的移动结果得到所述待移动节点的移动方式,所述预设划分为除所述待移动节点初始所在的划分的其余划分;
步骤5、基于所述待移动节点的移动方式,根据经过步骤4后所得到的第二矩阵C与预设次数的关系,确定最终移动结果。
上述计算机设备提到的通信总线可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
通信接口用于上述电子设备与其他设备之间的通信。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
该计算机设备可以为:台式计算机、便携式计算机、智能移动终端、服务器等。在此不作限定,任何可以实现本发明的电子设备,均属于本发明的保护范围。
对于计算机设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例一和实施例二的部分说明即可。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本申请的实施例可提供为方法、设备、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式,这里将它们都统称为“模块”或“系统”。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
本申请是参照本申请实施例的方法、设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (9)
1.一种用于平衡电路不同划分间互联数的方法,其特征在于,包括:
步骤1、获取具有初始划分的超图,所述超图包括若干节点、节点之间的连接线网,其中,每个所述线网包含一个驱动节点和若干个被驱动节点,且所述若干节点包括具有约束的固定节点;
步骤2、根据所述线网上的所述驱动节点和所述若干个被驱动节点所在的划分得到第一矩阵A,所述第一矩阵A包括有若干实际连线数,所述第一矩阵A用于存放两两划分之间的实际连线数,两个划分之中有一个为驱动节点所在的划分,另一个划分为被驱动节点所在的划分;
步骤3、根据所述第一矩阵A的实际连线数和矩阵B的物理连线数得到预处理划分对,所述预处理划分对为所述线网的所述驱动节点和所述被驱动节点分别所在的两个划分,连线数是电路板生产的时候划分之间的固定的连线数,矩阵B中Bij表示划分i和划分j之间的物理互联线数量;所述步骤3具体包括:将所述第一矩阵A中所有的实际连线数与所述矩阵B中的物理连线数一一进行对比,从而找出与物理连线数差值最大的实际连线数,该实际连线数对应的划分对即为预处理划分对;
步骤4、根据所述预处理划分对对应的预设线网的待移动节点在预设划分的移动结果得到所述待移动节点的移动方式,所述预设划分为除所述待移动节点初始所在的划分的其余划分,所述预设线网为跨越预处理划分的线网;
步骤5、基于所述待移动节点的移动方式,根据经过步骤4后所得到的第二矩阵C与预设次数的关系,确定最终移动结果。
2.根据权利要求1所述的用于平衡电路不同划分间互联数的方法,其特征在于,具有所述初始划分的超图满足互联约束条件。
3.根据权利要求1所述的用于平衡电路不同划分间互联数的方法,其特征在于,步骤2包括:
判断所述线网是否跨越多个划分,若是,则含有所述驱动节点的划分与含有所述被驱动节点的划分间通过一条连线连接,且统计每两个划分之间的实际连线数,并将所述实际连线数存放在所述第一矩阵A中。
4.根据权利要求1所述的用于平衡电路不同划分间互联数的方法,其特征在于,步骤4包括:
步骤4.1、获取跨越所述预处理划分的预设线网;
步骤4.2、根据所述预设线网的驱动节点得到待移动节点;
步骤4.3、判断所述待移动节点是否为固定节点,若是,则处理下一个所述待移动节点,若否,则根据所述待移动节点在所述预设划分的移动结果得到所述待移动节点的移动方式。
5.根据权利要求4所述的用于平衡电路不同划分间互联数的方法,其特征在于,根据所述待移动节点在所述预设划分的移动结果得到所述待移动节点的移动方式,包括:
判断所述待移动节点在当前线网中是否为驱动节点,若是,则根据所述待移动节点与所述当前线网的其余所有节点得到第二矩阵C,若否,则根据所述待移动节点与所述当前线网的驱动节点得到第二矩阵C;
根据所述第二矩阵C得到所述待移动节点的移动方式。
6.根据权利要求5所述的用于平衡电路不同划分间互联数的方法,其特征在于,根据所述待移动节点与所述当前线网的其余所有节点得到第二矩阵C,包括:
判断所述待移动节点移动至所述预设划分后是否违反互联约束条件,若是,则不移动,若否,则将所述第一矩阵A中对应的所述待移动节点原先所在的划分与所述当前线网的其余所有节点所在的不同的划分间的连线数删掉,并在所述第一矩阵A中加入所述待移动节点所在的预设划分与所述当前线网的其余所有节点所在的不同的划分间的连线数,以得到所述第二矩阵C。
7.根据权利要求5所述的用于平衡电路不同划分间互联数的方法,其特征在于,根据所述待移动节点与所述当前线网的驱动节点得到第二矩阵C,包括:
判断所述待移动节点移动至所述预设划分后是否违反互联约束条件,若是,则不移动,若否,则将所述第一矩阵A中对应的所述待移动节点原先所在的划分与所述当前线网的驱动节点所在的划分间的连线数删掉,并在所述第一矩阵A中加入所述待移动节点所在的预设划分与所述当前线网的驱动节点所在的划分间的连线数,以得到所述第二矩阵C。
8.根据权利要求5所述的用于平衡电路不同划分间互联数的方法,其特征在于,根据所述第二矩阵C得到所述待移动节点的移动方式,包括:
根据所述第二矩阵C得到最大的划分间的连线超出量、最小的划分间的连线超出量、连线超出量的标准差、超出量等于最大超出量的划分对数目、超出量等于最小超出量的划分对数目和总的实际连线数量;
对所述最大的划分间的连线超出量、所述最小的划分间的连线超出量、所述连线超出量的标准差、所述超出量等于最大超出量的划分对数目、所述超出量等于最小超出量的划分对数目和所述总的实际连线数量进行加权求和处理,得到加权求和值;
根据最小的加权求和值得到所述待移动节点的移动方式。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110414326.9A CN113221501B (zh) | 2021-04-16 | 2021-04-16 | 用于平衡电路不同划分间互联数的方法及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110414326.9A CN113221501B (zh) | 2021-04-16 | 2021-04-16 | 用于平衡电路不同划分间互联数的方法及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113221501A CN113221501A (zh) | 2021-08-06 |
CN113221501B true CN113221501B (zh) | 2022-09-09 |
Family
ID=77087665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110414326.9A Active CN113221501B (zh) | 2021-04-16 | 2021-04-16 | 用于平衡电路不同划分间互联数的方法及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113221501B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116070575B (zh) * | 2023-01-12 | 2023-08-15 | 广东工业大学 | 一种芯片布线优化方法及软件系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622468A (zh) * | 2012-02-20 | 2012-08-01 | 苏州领佰思自动化科技有限公司 | 基于并行计算的大规模集成电路通道布线的方法及其系统 |
CN102693340A (zh) * | 2012-05-19 | 2012-09-26 | 孙凌宇 | 基于多水平划分法和赋权超图的大规模集成电路划分方法 |
CN104205082A (zh) * | 2012-03-23 | 2014-12-10 | Arm有限公司 | 集成电路会聚互连节点控制 |
US10402533B1 (en) * | 2017-08-30 | 2019-09-03 | Cadence Design Systems, Inc. | Placement of cells in a multi-level routing tree |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5233761B2 (ja) * | 2009-03-12 | 2013-07-10 | 富士通株式会社 | 配線経路作成支援方法、配線経路作成支援プログラム、及び配線経路作成支援装置 |
CN102682176B (zh) * | 2012-05-18 | 2013-12-25 | 冷明 | 基于元胞自动机和赋权超图的大规模集成电路划分方法 |
EP3333735B1 (en) * | 2016-12-12 | 2021-07-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and computer program for determining a placement of at least one circuit for a reconfigurable logic device |
CN112183000B (zh) * | 2020-10-10 | 2023-03-07 | 上海思尔芯技术股份有限公司 | 一种支持互连约束的超图划分方法 |
CN112528592B (zh) * | 2020-12-23 | 2022-06-14 | 福州大学 | 基于多阶段优化的考虑布线资源松弛的x结构布线方法 |
-
2021
- 2021-04-16 CN CN202110414326.9A patent/CN113221501B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622468A (zh) * | 2012-02-20 | 2012-08-01 | 苏州领佰思自动化科技有限公司 | 基于并行计算的大规模集成电路通道布线的方法及其系统 |
CN104205082A (zh) * | 2012-03-23 | 2014-12-10 | Arm有限公司 | 集成电路会聚互连节点控制 |
CN102693340A (zh) * | 2012-05-19 | 2012-09-26 | 孙凌宇 | 基于多水平划分法和赋权超图的大规模集成电路划分方法 |
US10402533B1 (en) * | 2017-08-30 | 2019-09-03 | Cadence Design Systems, Inc. | Placement of cells in a multi-level routing tree |
Non-Patent Citations (2)
Title |
---|
一种基于点割的电路划分算法;张恩利等;《计算机学报》;20140731;全文 * |
一种新的基于晶体管级的电路划分算法;薛冀颖等;《电子与信息学报》;20091231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113221501A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116894413B (zh) | 一种基于硬件的逻辑映射方法、装置、设备及存储介质 | |
CN113221501B (zh) | 用于平衡电路不同划分间互联数的方法及可读存储介质 | |
CN112181430B (zh) | 代码变更统计方法、装置、电子设备及存储介质 | |
CN115168240B (zh) | 一种基于变量组合时间序列功能覆盖率的测试方法和系统 | |
CN110941934A (zh) | 一种fpga原型验证开发板分割仿真系统、方法、介质及终端 | |
CN112001491A (zh) | 针对处理器确定神经网络架构的搜索方法和装置 | |
CN117170848A (zh) | 一种资源调度方法及装置 | |
CN116911227A (zh) | 一种基于硬件的逻辑映射方法、装置、设备及存储介质 | |
CN108833592A (zh) | 云主机调度器优化方法、装置、设备及存储介质 | |
CN111651137A (zh) | 排序方法、装置、电子装置以及计算机设备 | |
US20100162185A1 (en) | Electronic circuit design | |
CN112257368A (zh) | 时钟布局方法、装置、eda工具及计算机可读存储介质 | |
CN109784484A (zh) | 神经网络加速方法、装置、神经网络加速芯片及存储介质 | |
CN108009111B (zh) | 数据流连接方法及装置 | |
JPWO2005098612A1 (ja) | 重要成分優先計算方式ならびに装置 | |
CN111784246A (zh) | 物流路径的估测方法 | |
CN116401992A (zh) | 一种节点路由路径优化方法及装置 | |
CN113255265A (zh) | 分割及验证方法、装置、电子设备、存储介质 | |
Grantges et al. | NEASIM: A General‐Purpose Computer Simulation Program for Load‐Loss Analysis of Multistage Central Office Switching Networks | |
CN113191405B (zh) | 一种基于集成电路的带权超图的多级聚类方法及存储介质 | |
CN113973061A (zh) | 电路时延预测方法、装置、终端设备和可读存储介质 | |
CN114037054A (zh) | 一种数据处理方法、装置、芯片、设备及介质 | |
CN112418418A (zh) | 基于神经网络的数据处理方法、装置、存储介质及服务器 | |
CN114896941B (zh) | 一种时钟树的布局优化方法、优化装置和相关设备 | |
CN111340215A (zh) | 一种网络模型推理加速方法、装置、存储介质和智能设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 27, 6th Floor, No. 29 and 30, Lane 1775, Qiushan Road, Lingang New Area, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, 200120 Patentee after: Shanghai Sierxin Technology Co.,Ltd. Address before: Room 3332, No.26 Guoding Branch Road, Yangpu District, Shanghai 200082 Patentee before: Shanghai Guowei silcore Technology Co.,Ltd. |