CN112183000A - 一种支持互连约束的超图划分方法 - Google Patents

一种支持互连约束的超图划分方法 Download PDF

Info

Publication number
CN112183000A
CN112183000A CN202011078358.8A CN202011078358A CN112183000A CN 112183000 A CN112183000 A CN 112183000A CN 202011078358 A CN202011078358 A CN 202011078358A CN 112183000 A CN112183000 A CN 112183000A
Authority
CN
China
Prior art keywords
moved
node
net
nodes
processed
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
Application number
CN202011078358.8A
Other languages
English (en)
Other versions
CN112183000B (zh
Inventor
林铠鹏
何析逸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Guowei Silcore Technology Co Ltd
Original Assignee
Shanghai Guowei Silcore Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Guowei Silcore Technology Co Ltd filed Critical Shanghai Guowei Silcore Technology Co Ltd
Priority to CN202011078358.8A priority Critical patent/CN112183000B/zh
Publication of CN112183000A publication Critical patent/CN112183000A/zh
Application granted granted Critical
Publication of CN112183000B publication Critical patent/CN112183000B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation

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)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种支持互连约束的超图划分方法,该方法包括:步骤1、遍历所有线网;步骤2、在所有线网中查找得到所有非法线网;步骤3、基于第一预设顺序在所有非法线网中选取当前需要处理的非法线网作为第一待处理线网,根据第一待处理线网的节点组中的节点的移动特点确定第一待处理线网一端的节点组的移动方案;步骤4、按照步骤3的方式,直到遍历所有非法线网得到最终的划分方案。本发明在划分阶段考虑互连资源的约束,通过多个节点的移动使线网横跨的划分发生改变,从而使线网移动,消除了非法线网;在移动过程考虑增益的计算,即预先判断移动带来的割代价的增加情况,选择执行增益最大的移动,从而使得割代价的增加较小,保证了性能。

Description

一种支持互连约束的超图划分方法
技术领域
本发明属于集成电路技术领域,具体涉及一种支持互连约束的超图划分方法。
背景技术
FPGA(Field Programmable Gate Array)即现场可编程门列阵,属于专用集成电路中的一种半定制电路,使用FPGA进行硬件仿真能够让设计者在芯片制造前对设计的复杂的超大规模集成电路(VLSI,Very Large Scale Integration)进行功能验证。FPGA的硬件结构包含不同类别的资源,一般包括查找表(LUT,Look-Up-Table)、触发器、数字处理单元(DSP,Digital Signal Processing)、块状存储(Block RAM,BRAM)等。设计的电路往往规模较大,使得单个FPGA无法容纳整个电路设计,所以需要将电路拆分成多个部分放入不同的FPGA,每个部分需要满足FPGA的资源限制。
图和超图都能表示电路,其中超图的超边能够连接两个及以上的节点,能更精确地代表电路之间紧密的连接。超图中的节点表示电路中的模块,超边代表电路间的线网,将电路转换为超图信息,能够实现对电路快速高效地切割。电路划分的目标通常是被切割的线网数最小或者割代价最小,而且需要各个划分规模或权重相当。用于FPGA硬件仿真的电路划分除了要求割代价最小外,还要求每个划分满足对应的FPGA资源约束。
目前的超图划分方法主要是基于多级框架进行,可以分为三个阶段,分别为粗化阶段、初始划分阶段、细化改善阶段。在粗化阶段常用的策略有边粗化、超边粗化和修改的超边粗化、优先选择策略。在初始划分阶段常用的策略有随机分配、随机选择种子进行宽度优先生长、使用FM(Fiduccia-Mattheyses)算法改善的迭代二划分方法。在细化改善阶段常用的策略有限制迭代次数的FM改善方法、贪婪改善方法(一种基于FM算法的更为简化的方法)。
TDM(Time-Division Multiplexing,时分多路复用)时分复用是一种多用在数字电路的多路复用技术。时分复用通过使用同一物理连接的不同时段来传输不同的信号,来达到多路传输的目的。使用这种技术,可以使两个以上的信号或数据流同时在一条通信线路上传输。TDM突破了端口数量的限制,被广泛应用在FPGA布线上。
但是对于实际的FPGA,两两之间可能实际上并没有互连资源,如果在划分时这样的路径间有连线,此时无法直接使用TDM,在布线阶段会从其他有互连资源的FPGA间中转,这会使得代价变大,性能降低。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种支持互连约束的超图划分方法。本发明要解决的技术问题通过以下技术方案实现:
一种支持互连约束的超图划分方法,包括:
步骤1、遍历所有线网;
步骤2、在所有所述线网中查找得到所有非法线网;
步骤3、基于第一预设顺序在所有非法线网中选取当前需要处理的所述非法线网作为第一待处理线网,根据所述第一待处理线网的节点组中的节点的移动特点确定所述第一待处理线网一端的节点组的移动方案;
步骤4、按照步骤3的方式,直到遍历所有非法线网得到最终的划分方案。
在本发明的一个实施例中,所述步骤1包括:
步骤1.1、获取经过划分的超图;
步骤1.2、遍历所述超图中的所有线网。
在本发明的一个实施例中,所述非法线网为横跨了没有互连资源的可编程器件之间的线网。
在本发明的一个实施例中,根据所述第一待处理线网的节点组中的节点特点确定所述第一待处理线网的节点组的移动方案,包括:
判断所述第一待处理线网的每一端的节点组中是否均含有固定节点,若均含有固定节点,则跳过所述第一待处理线网,若不是均含有固定节点,则选取所述第一待处理线网的待移动节点组,基于第一预设条件,根据所述待移动节点组移动至另一划分中后线网的变化特点确定该待移动节点组的移动方案,其中,所述待移动节点组中不包含有固定节点。
在本发明的一个实施例中,所述第一预设条件为所述第一待处理线网一端的节点组移动至另一划分中后不会产生新的非法线网。
在本发明的一个实施例中,基于第一预设条件,根据所述待移动节点组移动至另一划分中后线网的变化特点确定该待移动节点组的移动方案,包括:
基于移动的方向,判断所述待移动节点组移动至另一划分中后是否会产生新的非法线网,若会产生新的非法线网,则放弃此次移动,若不会产生新的非法线网,则根据所述待移动节点组移动至某一个划分中的增益累加值总和以及资源约束确定所述待移动节点组的移动方案。
在本发明的一个实施例中,根据所述待移动节点组移动至某一个划分中的增益累加值总和以及资源约束确定所述待移动节点组的移动方案,包括:
根据所述待移动节点组中的所有节点得到所述待移动节点组移动至每个划分中的增益累加值总和;
将所述待移动节点组移动至满足所述资源约束且增益累加值总和最大的划分中。
在本发明的一个实施例中,根据所述待移动节点组中的所有节点得到所述待移动节点组移动至每个划分中的增益累加值总和,包括:
步骤a、获取所述待移动节点组中的所有节点;
步骤b、基于第二预设顺序在所述待移动节点组中的所有节点中选取当前需要处理的节点作为待移动节点,根据所述待移动节点得到该待移动节点最终的增益累加值;
步骤c、按照步骤b的方式,直到遍历所述待移动节点组中的所有节点得到所述待移动节点组中每个节点最终的增益累加值;
步骤d、根据步骤c所得到所有所述增益累加值之和得到增益累加值总和。
在本发明的一个实施例中,根据所述待移动节点得到该待移动节点的增益累加值,包括:
在连接所述待移动节点上的所有线网中得到符合第二预设条件的第二待处理线网;
获取与所述第二待处理线网连接的所有邻接节点,且所述邻接节点不是所述待移动节点组中的节点;
根据所述待移动节点和所述邻接节点得到所述待移动节点的增益累加值。
在本发明的一个实施例中,根据所述待移动节点和所述邻接节点得到所述待移动节点的增益累加值,包括:
通过判断所述邻接节点是否处于所述待移动节点将要移动的划分上,得到待移动节点的增益累加值,若所述邻接节点处于所述待移动节点将要移动的划分上,则所述待移动节点的增益累加值加上当前线网的权重,若所述邻接节点处于所述待移动节点原来所在的划分上时,则所述待移动节点的增益累加值减去当前线网的权重。
本发明的有益效果:
本发明在划分阶段考虑了互连资源的约束,通过多个节点的移动使线网横跨的划分发生改变,从而使线网移动,消除了非法线网;另外,本发明在移动过程考虑了增益的计算,即预先判断移动带来的割代价的增加情况,选择执行增益最大的移动,从而使得割代价的增加较小,保证了性能。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种支持互连约束的超图划分方法的流程示意图;
图2是本发明实施例提供的一种多级划分框架示意图;
图3是本发明实施例提供的一种经过多级划分后的超图的示意图;
图4是本发明实施例提供的另一种经过多级划分后的超图的示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
请参见图1,图1是本发明实施例提供的一种支持互连约束的超图划分方法的流程示意图。本实施例提供了一种支持互连约束的超图划分方法。该超图划分方法包括步骤1至步骤4,其中:
步骤1、遍历所有线网。
步骤1.1、获取经过划分的超图。
具体地,请参见图2,图2为经过多级划分后的超图,该超图可以是在改善结束后得到的超图,也可以是在多级改善的过程中得到的超图。
步骤1.2、遍历超图中的所有线网。
具体地,每个超图中一般有多个线网,每个线网的每端至少有一个节点。
例如,请参见图3,FPGA之间的连线表示了互连资源的情况,其中,FPGA1与FPGA2有互连资源,FPGA1与FPGA4有互连资源,而FPGA2与FPGA4之间没有互连资源。由于聚类层级较高的节点往往包含许多子节点,节点之间的连接不能代表所有子节点之间的连接。所以在初始划分阶段,为了得到较为理想的割代价的划分,暂时允许没有互连资源的FPGA之间存在线网。在改善结束后,或者在多级改善的过程中,则需要对部分节点进行移动以消除本不应该出现的线网。
步骤2、在所有线网中查找得到所有非法线网。
具体地,通过遍历超图中的所有线网,便可以确定该超图中的所有非法线网,其中,非法线网为横跨了没有互连资源的可编程器件之间的线网,即实际的可编程器件之间没有互连资源,在划分过程中线网横跨了这样的划分,这种便为非法线网,可编程器件例如为FPGA。
步骤3、基于第一预设顺序在所有非法线网中选取当前需要处理的非法线网作为第一待处理线网,根据第一待处理线网的节点组中的节点的移动特点确定所述第一待处理线网的节点组的移动方案。
在本实施例中,第一预设顺序为遍历所有非法线网的顺序,其顺序可以根据实际需求进行设定,本实施例对此不做具体限定。
具体地,本实施例将当前需要处理的非法线网作为第一待处理线网,因为非法线网连接的节点可能包括能够移动的节点和不能移动的节点,因此需要根据第一待处理线网的节点组中的节点的移动特点确定第一待处理线网的节点组的移动方案,其中,不能移动的节点为固定节点,固定节点为用户设定固定在某个FPGA上的节点,节点组为处于线网同一端的所有节点,其中,对于跨越不同FPGA的线网,线网上处于同一个FPGA中的所有节点为一个节点组,例如,图3中的节点1、节点2和节点3组成一个节点组。
在一个具体实施例中,根据第一待处理线网的节点组中的节点特点确定第一待处理线网的节点组的移动方案,包括:
判断第一待处理线网的每一端的节点组中是否均含有固定节点,若均含有固定节点,则跳过第一待处理线网,若不是均含有固定节点,则选取第一待处理线网的待移动节点组,基于第一预设条件,根据待移动节点组移动至另一划分中后线网的变化特点确定该待移动节点组的移动方案,其中,待移动节点组中不包含有固定节点。
当线网一端的节点数大于一个时,需要将线网一端的节点一起移动才能达到移除(转移)非法线网的目的,比如图3中FPGA4中圈住的三个节点,此时单个节点的移动无法达到移除线网的目的。
也就是说,因为每一个节点组要同时移动,因此如果节点组中含有固定节点的话,该固定节点不能移动,则该节点组便不能移动,因此当非法线网的每一端的节点组中均含有固定节点,则该非法线网的每一端的节点组均不能移动,则直接跳过该非法线网,对下一个非法线网进行处理;
当非法线网不是每一端都含有固定节点时,则在第一待处理线网中选取一不包含固定节点的节点组作为待移动节点组,以确定该待移动节点组的移动方案,因为要保证待移动节点组移动后不会产生新的非法线网,因此需要根据待移动节点组移动至另一划分中后线网的变化特点确定该待移动节点组的移动方案,其中,本实施例的划分是若干节点被划入同一个FPGA。
进一步地,第一预设条件为待移动节点组移动至另一划分中后不会产生新的非法线网。
在一个具体实施例中,基于第一预设条件,根据待移动节点组移动至另一划分中后线网的变化特点确定该待移动节点组的移动方案,包括:
基于移动的方向,判断待移动节点组移动至另一划分中后是否会产生新的非法线网,若会产生新的非法线网,则放弃此次移动,若不会产生新的非法线网,则根据待移动节点组移动至某一个划分中的增益累加值总和以及资源约束确定待移动节点组的移动方案。
也就是说,当待移动节点组从一个划分移动至另一个划分中后,可能会产生新的非法线网,因此如果会产生新的非法线网,则不按这种移动方式进行移动,如果不会产生新的非法线网,则可能该待移动节点组可以移动到一个划分中,此时直接将待移动节点组移动进该划分即可,另外还可能该待移动节点组可以被移动至不同的划分中,此时便需要根据待移动节点组移动至某一个划分中的增益累加值总和以及资源约束确定待移动节点组的移动方案,其中,资源约束为每个划分(FPGA)里面节点的总资源用量不能超过其固有的资源数目。增益累加值总和为待移动节点组移动至某一个划分中时,该待移动节点组中每个节点的增益累加值的总和。移动的方向为待移动节点组移动至另一个划分的方向。
在一个具体实施例中,根据待移动节点组移动至某一个划分中的增益累加值总和以及资源约束确定待移动节点组的移动方案,包括:
根据待移动节点组中的所有节点得到待移动节点组移动至每个划分中的增益累加值总和;将待移动节点组移动至满足所述资源约束且最大的增益累加值总和对应的划分中。
也就是说,每个待移动节点组移动至一个划分中可以对应得到一个增益累加值总和,本实施例选择将待移动节点组移动至满足资源约束、同时增益累加值总和最大的划分中,由此可以预先判断移动带来的割代价的增加情况,通过选择执行增益最大的进行移动,从而使得割代价的增加较小。
在一个具体实施例中,根据所述待移动节点组中的所有节点得到所述待移动节点组移动至每个划分中的增益累加值总和,包括步骤a至步骤d,其中:
步骤a、获取待移动节点组中的所有节点。
具体地,初始化增益为零,即gain=0,gain为增益。待移动节点组中可能会包含有多个节点,本实施例需要对待移动节点组中的每个节点都进行遍历。
步骤b、基于第二预设顺序在待移动节点组中的所有节点中选取当前需要处理的节点作为待移动节点,根据所述待移动节点得到该待移动节点的增益累加值。
在本实施例中,第二预设顺序为遍历待移动节点组中的所有节点的顺序,其顺序可以根据实际需求进行设定,本实施例对此不做具体限定。
具体地,在移动的方向确定的情况下,本实施例将待移动节点组中当前需要处理的节点作为待移动节点,在待移动节点确定后,便可以根据该待移动节点得到该待移动节点的增益累加值。
在一个具体实施例中,根据待移动节点得到该待移动节点的增益累加值,包括:
在连接待移动节点上的所有线网中得到符合第二预设条件的第二待处理线网;获取与第二待处理线网连接的所有邻接节点,且邻接节点不是待移动节点组中的节点;根据待移动节点和邻接节点得到待移动节点的增益累加值。
具体地,首先遍历该待移动节点上的所有线网,然后将这些线网中符合第二预设条件的线网作为第二待处理线网,其中,第二预设条件为不是标记为已处理的线网,即第二待处理线网没有标记为已处理,如果在连接待移动节点上的所有线网中存在有标记为已处理过的线网,则不对该线网上的邻接节点(处于同一个线网上的节点)做处理,直接跳过该线网,选择下一条线网进行处理,若该线网未被标记为已处理,则在确定其未被处理后,标记其为已处理,以避免后续对其进行重复处理;在确定了待移动节点的所有第二待处理线网之后,便可以得到第二待处理线网连接的所有邻接节点,且所得到的邻接节点不是待移动节点组中的节点,即如果第二待处理线网连接的节点是待移动节点组中的节点,则直接跳过该节点。例如请参见图4,FPGA1和FPGA4之间有互连资源,FPGA3和FPGA4之间有互连资源,FPGA1和FPGA2之间有互连资源,FPGA2和FPGA3之间有互连资源,FPGA2和FPGA4之间没有互连资源,因此节点组中的节点4、节点5和节点6可以同时移入FPGA1中或者FPGA3中,而当节点4作为待移动节点时,其对应的第二待处理线网为连接节点1、节点4和节点10的线网,节点4的邻接节点为节点1和节点10。因此在确定了待移动节点所对应的所有邻接节点后,便可以根据待移动节点和邻接节点得到待移动节点的增益累加值。
在一个具体实施例中,根据待移动节点和邻接节点得到待移动节点的最终的增益累加值,包括:
通过判断邻接节点是否处于待移动节点将要移动的划分上,得到待移动节点的最终的增益累加值,若邻接节点处于待移动节点将要移动的划分上,则待移动节点的增益累加值加上当前线网的权重,若邻接节点处于待移动节点原来所在的划分上时,则待移动节点的增益累加值减去当前线网的权重。
具体地,如将待移动节点的增益累加值记为gain,而对于每个邻接节点而言,若某个邻接节点处于待移动节点将要移动的划分上时,则待移动节点的增益累加值加上当前线网的权重,即gain=gain+weight,weight为连接待移动节点与邻接节点的线网,例如图4中的节点4和节点1,节点4将要移动至FPGA1上,而节点1则位于FPGA1中,因此节点1作为节点4的邻接节点,待移动节点的增益累加值需要加上节点4和节点1之间的线网权重;若某个邻接节点处于待移动节点原来所在的划分上时,则待移动节点的增益累加值减去当前线网的权重,即gain=gain-weigh,例如图4中的节点4和节点10,节点4将要移动至FPGA1上,而节点10则位于FPGA4中,FPGA4为节点4原来所在的划分,因此节点10作为节点4的邻接节点,待移动节点的增益累加值需要减去节点4和节点10之间的线网权重。当按照上述方式遍历完待移动节点所对应的所有邻接点后,便可以得到该待移动节点的最终的增益累加值。
步骤c、按照步骤b的方式,直到遍历待移动节点组中的所有节点得到待移动节点组中每个节点最终的增益累加值。
具体地,对于待移动节点组中的每个节点,都按照步骤b的方式计算得到待移动节点组中每个节点最终的增益累加值。
例如,对于图4中的节点4、节点5、节点6而言,其作为一个待移动节点组,其可以向FPGA1或者FPGA3移动,当计划将其向FPGA1进行移动时,则需要分别计算节点4、节点5、节点6的最终的增益累加值,对于节点4而言,其需要根据邻接节点1和邻接节点10计算节点4的最终的增益累加值,对于节点5而言,其需要根据邻接节点9计算节点4的最终的增益累加值,对于节点6而言,其需要根据邻接节点8计算节点4的最终的增益累加值,因为节点3、节点6和节点7处于另一个跨越两个划分的线网上,所以此时不参与计算节点6的最终的增益累加值,其应在当计划将节点4、节点5、节点6向FPGA3进行移动时再作为节点6的邻接节点进行计算,由此才能分别计算节点4、节点5、节点6移动至FPGA1中的增益累加值总和以及移动至FPGA3中的增益累加值总和。
步骤d、根据步骤c所得到所有增益累加值之和得到增益累加值总和。
具体地,在计算某一移动方向时,当得到待移动节点组中每个节点最终的增益累加值,则将得到的所有节点的最终的增益累加值进行相加,便会得到该待移动节点组移动至将要移动的划分的增益累加值总和。
因此通过上述方式便可以确定待移动节点组移动至不同的划分的增益累加值总和,之后便可以将待移动节点组移动至增益累加值总和最大的划分中。
步骤4、按照步骤3的方式,直到遍历所有步骤2得到的非法线网,从而可以得到最终的划分方案。
对于实际的FPGA,两两之间可能实际上并没有互连资源,如果在划分时这样的路径间有连线,在布线阶段会从其他有互连资源的FPGA间中转,这会使得代价变大,性能降低。所以需要在划分阶段考虑FPGA的实际互连资源情况,使得划分结果中实际FPGA之间没有互连资源的路径不会出现线网连接。
因此,一般在初始划分阶段,为了得到较为理想的割代价的划分,暂时允许没有互连资源的FPGA之间存在线网。在多级改善结束后,或者在多级改善的过程中,需要对部分节点进行移动以消除本不应该出现的线网(即非法线网),同时考虑带来的割代价的增加最小(通过计算增益),移动是否满足资源约束以及是否带来新的非法线网。
因此,本发明在划分阶段考虑了互连资源的约束,通过多个节点的移动使线网横跨的划分发生改变,从而使线网移动,消除了非法线网;另外,本发明在移动过程考虑了增益的计算,即预先判断移动带来的割代价的增加情况,选择执行增益最大的移动,从而使得割代价的增加较小,保证了性能。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种支持互连约束的超图划分方法,其特征在于,包括:
步骤1、遍历所有线网;
步骤2、在所有所述线网中查找得到所有非法线网;
步骤3、基于第一预设顺序在所有非法线网中选取当前需要处理的所述非法线网作为第一待处理线网,根据所述第一待处理线网的节点组中的节点的移动特点确定所述第一待处理线网一端的节点组的移动方案;
步骤4、按照步骤3的方式,直到遍历所有非法线网得到最终的划分方案。
2.根据权利要求1所述的超图划分方法,其特征在于,所述步骤1包括:
步骤1.1、获取经过划分的超图;
步骤1.2、遍历所述超图中的所有线网。
3.根据权利要求1所述的超图划分方法,其特征在于,所述非法线网为横跨了没有互连资源的可编程器件之间的线网。
4.根据权利要求1所述的超图划分方法,其特征在于,根据所述第一待处理线网的节点组中的节点特点确定所述第一待处理线网的节点组的移动方案,包括:
判断所述第一待处理线网的每一端的节点组中是否均含有固定节点,若均含有固定节点,则跳过所述第一待处理线网,若不是均含有固定节点,则选取所述第一待处理线网的待移动节点组,基于第一预设条件,根据所述待移动节点组移动至另一划分中后线网的变化特点确定该待移动节点组的移动方案,其中,所述待移动节点组中不包含有固定节点。
5.根据权利要求4所述的超图划分方法,其特征在于,所述第一预设条件为所述第一待处理线网一端的节点组移动至另一划分中后不会产生新的非法线网。
6.根据权利要求5所述的超图划分方法,其特征在于,基于第一预设条件,根据所述待移动节点组移动至另一划分中后线网的变化特点确定该待移动节点组的移动方案,包括:
基于移动的方向,判断所述待移动节点组移动至另一划分中后是否会产生新的非法线网,若会产生新的非法线网,则放弃此次移动,若不会产生新的非法线网,则根据所述待移动节点组移动至某一个划分中的增益累加值总和以及资源约束确定所述待移动节点组的移动方案。
7.根据权利要求6所述的超图划分方法,其特征在于,根据所述待移动节点组移动至某一个划分中的增益累加值总和以及资源约束确定所述待移动节点组的移动方案,包括:
根据所述待移动节点组中的所有节点得到所述待移动节点组移动至每个划分中的增益累加值总和;
将所述待移动节点组移动至满足所述资源约束且增益累加值总和最大的划分中。
8.根据权利要求7所述的超图划分方法,其特征在于,根据所述待移动节点组中的所有节点得到所述待移动节点组移动至每个划分中的增益累加值总和,包括:
步骤a、获取所述待移动节点组中的所有节点;
步骤b、基于第二预设顺序在所述待移动节点组中的所有节点中选取当前需要处理的节点作为待移动节点,根据所述待移动节点得到该待移动节点最终的增益累加值;
步骤c、按照步骤b的方式,直到遍历所述待移动节点组中的所有节点得到所述待移动节点组中每个节点最终的增益累加值;
步骤d、根据步骤c所得到所有所述增益累加值之和得到增益累加值总和。
9.根据权利要求8所述的超图划分方法,其特征在于,根据所述待移动节点得到该待移动节点的增益累加值,包括:
在连接所述待移动节点上的所有线网中得到符合第二预设条件的第二待处理线网;
获取与所述第二待处理线网连接的所有邻接节点,且所述邻接节点不是所述待移动节点组中的节点;
根据所述待移动节点和所述邻接节点得到所述待移动节点的增益累加值。
10.根据权利要求9所述的超图划分方法,其特征在于,根据所述待移动节点和所述邻接节点得到所述待移动节点的增益累加值,包括:
通过判断所述邻接节点是否处于所述待移动节点将要移动的划分上,得到待移动节点的增益累加值,若所述邻接节点处于所述待移动节点将要移动的划分上,则所述待移动节点的增益累加值加上当前线网的权重,若所述邻接节点处于所述待移动节点原来所在的划分上时,则所述待移动节点的增益累加值减去当前线网的权重。
CN202011078358.8A 2020-10-10 2020-10-10 一种支持互连约束的超图划分方法 Active CN112183000B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011078358.8A CN112183000B (zh) 2020-10-10 2020-10-10 一种支持互连约束的超图划分方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011078358.8A CN112183000B (zh) 2020-10-10 2020-10-10 一种支持互连约束的超图划分方法

Publications (2)

Publication Number Publication Date
CN112183000A true CN112183000A (zh) 2021-01-05
CN112183000B CN112183000B (zh) 2023-03-07

Family

ID=73948748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011078358.8A Active CN112183000B (zh) 2020-10-10 2020-10-10 一种支持互连约束的超图划分方法

Country Status (1)

Country Link
CN (1) CN112183000B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113191405A (zh) * 2021-04-16 2021-07-30 上海国微思尔芯技术股份有限公司 一种基于带权超图的多级聚类方法及计算机可读存储介质
CN113221501A (zh) * 2021-04-16 2021-08-06 上海国微思尔芯技术股份有限公司 用于平衡电路不同划分间互联数的方法及可读存储介质
CN114781316A (zh) * 2022-06-21 2022-07-22 上海国微思尔芯技术股份有限公司 组网布局方法、装置、设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102682176A (zh) * 2012-05-18 2012-09-19 冷明 基于元胞自动机和赋权超图的大规模集成电路划分方法
CN102693340A (zh) * 2012-05-19 2012-09-26 孙凌宇 基于多水平划分法和赋权超图的大规模集成电路划分方法
CN106557581A (zh) * 2016-11-29 2017-04-05 佛山科学技术学院 一种基于多层次框架及超边迁移的超图划分方法
CN106682306A (zh) * 2016-12-26 2017-05-17 西安电子科技大学 一种快速fpga布线方法
CN106919769A (zh) * 2017-03-15 2017-07-04 冷明 一种基于多层次方法和赋权超图的层次式fpga布局布线方法
CN107563095A (zh) * 2017-09-22 2018-01-09 中国矿业大学(北京) 一种大规模集成电路非线性布局方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102682176A (zh) * 2012-05-18 2012-09-19 冷明 基于元胞自动机和赋权超图的大规模集成电路划分方法
CN102693340A (zh) * 2012-05-19 2012-09-26 孙凌宇 基于多水平划分法和赋权超图的大规模集成电路划分方法
CN106557581A (zh) * 2016-11-29 2017-04-05 佛山科学技术学院 一种基于多层次框架及超边迁移的超图划分方法
CN106682306A (zh) * 2016-12-26 2017-05-17 西安电子科技大学 一种快速fpga布线方法
CN106919769A (zh) * 2017-03-15 2017-07-04 冷明 一种基于多层次方法和赋权超图的层次式fpga布局布线方法
CN107563095A (zh) * 2017-09-22 2018-01-09 中国矿业大学(北京) 一种大规模集成电路非线性布局方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113191405A (zh) * 2021-04-16 2021-07-30 上海国微思尔芯技术股份有限公司 一种基于带权超图的多级聚类方法及计算机可读存储介质
CN113221501A (zh) * 2021-04-16 2021-08-06 上海国微思尔芯技术股份有限公司 用于平衡电路不同划分间互联数的方法及可读存储介质
CN113191405B (zh) * 2021-04-16 2023-04-18 上海思尔芯技术股份有限公司 一种基于集成电路的带权超图的多级聚类方法及存储介质
CN114781316A (zh) * 2022-06-21 2022-07-22 上海国微思尔芯技术股份有限公司 组网布局方法、装置、设备和存储介质
CN114781316B (zh) * 2022-06-21 2022-10-11 上海思尔芯技术股份有限公司 组网布局方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN112183000B (zh) 2023-03-07

Similar Documents

Publication Publication Date Title
CN112183000B (zh) 一种支持互连约束的超图划分方法
US5490268A (en) Method for changing an arrangement of an initial combinational circuit to satisfy prescribed delay time by computing permissible functions of output gates and remaining gates
Burstein et al. Timing influenced layout design
JP2695078B2 (ja) データ処理装置クロック信号の分配方法
US7143380B1 (en) Method for application of network flow techniques under constraints
US8112731B1 (en) Congestion-driven placement systems and methods for programmable logic devices
US6813754B2 (en) Placement processing for programmable logic devices
CN110232213B (zh) 基于FinFET结构的高速标准单元库版图设计方法
CN112258515B (zh) 一种基于固定顶点的图分割方法
CN114997088B (zh) 一种布线和tdm比率快速优化方法
CN114595652A (zh) 一种用于硬件仿真平台的主频评估方法
CN112183007B (zh) 一种多个fpga的设计分割方法
Mak et al. Board-level multiterminal net routing for FPGA-based logic emulation
US6857115B1 (en) Placement of objects with partial shape restriction
US7210110B2 (en) Method for determining a matched routing arrangement for semiconductor devices
Wang et al. Performance-driven interconnect global routing
CN110543664B (zh) 一种面向具有特有结构fpga的工艺映射方法
US7392499B1 (en) Placement of input/output blocks of an electronic design in an integrated circuit
CN114330184A (zh) 一种多层次分组方法及装置
CN113919272A (zh) 利用空置逻辑资源来提升布线效率的fpga布线方法
US7188328B2 (en) Method for finding maximum volume and minimum cut in a network of interconnected nodes
CN117556760B (zh) 一种宏单元和可编程逻辑块分阶段优化的fpga全局布局方法
Zhuang et al. ALIFRouter: A practical architecture-level inter-FPGA router for logic verification
CN107992635B (zh) Fpga的装箱方法及设备
JP3422839B2 (ja) 半導体集積回路の論理セル分割処理方法

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
CB02 Change of applicant information
CB02 Change of applicant information

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

Applicant after: Shanghai Sierxin Technology Co.,Ltd.

Address before: Room 3332, No.26 Guoding Branch Road, Yangpu District, Shanghai 200082

Applicant before: Shanghai Guowei silcore Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant