CN112232010A - 可编程逻辑器件分组方法和装置 - Google Patents
可编程逻辑器件分组方法和装置 Download PDFInfo
- Publication number
- CN112232010A CN112232010A CN202011513510.0A CN202011513510A CN112232010A CN 112232010 A CN112232010 A CN 112232010A CN 202011513510 A CN202011513510 A CN 202011513510A CN 112232010 A CN112232010 A CN 112232010A
- Authority
- CN
- China
- Prior art keywords
- programmable logic
- logic circuit
- subset
- connection relation
- circuit connection
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供了一种可编程逻辑器件分组方法和装置,属于集成电路芯片设计领域,具体包括获取可编程逻辑器件之间的物理电路连接关系以及逻辑电路图;对逻辑电路图中的逻辑电路实例进行聚类得到多个子集合;将所有子集合根据物理电路连接关系分配到可编程逻辑器件上;对分配给可编程逻辑器件的子集合进行优化调整,得到理论集合分配方案以及违规连接列表;针对违规连接列表中的各逻辑电路实例构建多级跳点路径;根据多级跳点路径对逻辑电路连接关系进行修改,输出与物理电路连接关系对应的实际设计文件。通过本申请的处理方案,分割互联最小、速度更快,处理数据规模更大的可编程逻辑器件分组结果,从而提高了芯片处理效率。
Description
技术领域
本发明涉及集成电路芯片设计领域,具体涉及一种可编程逻辑器件分组方法和装置。
背景技术
EDA技术就是基于大规模可编程器件的,以计算机为工具,根据硬件描述语言HDL完成表达,实现对逻辑的编译化简、分割、布局、优化等目标的一门技术,借助EDA技术,操作者可以通过利用软件来实现对硬件功能的描述,并通过FPGA/CPLD得到最终设计结果。现有超大规模集成电路(VLSI:Very Large Scale Integration)是指几毫米见方的硅片上集成上万至百万晶体管、线宽在1微米以下的集成电路。因此,VLSI电路复杂,是对EDA设计的一个挑战。通常采用电路分割技术应对VLSI电路设计。
电路分割(CUT)技术把VLSI设计问题划分为若干较小部分分别处理,为了提高芯片的处理效率,需要保证每个分割电路两两之间关联度、耦合度最小。但是电路分割一般是基于多FPGA原型系统中FPGA之间自由连接不设限的条件,对分配到FPGA上的程序进行切割处理。在一些复杂的原型系统和U仿真平台,由于FPGA之间物理电路的连接限制,需要在电路切割中对部分FPGA之间的连接关系进行约束。在此约束条件下,容易发生将逻辑电路设计中的多个虚拟电路连接的程序块分割,并分别划分到无物理电路连接的FPGA上,进而导致电路设计的失败,这样的逻辑电路设计分割就是无效分割,无法用于工业设计上。
发明内容
因此,为了克服上述现有技术的缺点,本发明提供了一种基于可编程逻辑器件的物理电路连接,得到分割互联最小、速度更快,处理数据规模更大的可编程逻辑器件分组结果,从而提高了芯片处理效率的可编程逻辑器件分组方法和装置。
为了实现上述目的,本发明提供了一种可编程逻辑器件分组方法,包括:获取可编程逻辑器件之间的物理电路连接关系以及理论设计文件,所述理论设计文件携带有所述可编程逻辑器件待执行的逻辑电路图,所述逻辑电路图用于描述电路系统的各逻辑电路实例的结构以及逻辑电路实例之间的逻辑电路连接关系;根据所述逻辑电路连接关系对所述逻辑电路图中的逻辑电路实例进行聚类,得到多个子集合;将所有所述子集合根据所述物理电路连接关系分配到所述可编程逻辑器件上;根据所述物理电路连接关系对分配给所述可编程逻辑器件的所述子集合进行优化调整,得到理论集合分配方案以及所述理论集合分配方案中不符合所述物理电路连接关系的违规连接列表;针对所述违规连接列表中的各逻辑电路实例,根据物理电路连接关系和广度优先搜索方法查找加权最短路径,构建多级跳点路径;根据所述多级跳点路径对所述逻辑电路图的逻辑电路连接关系进行修改,输出与所述物理电路连接关系对应的实际设计文件。
在其中一个实施例中,所述根据所述逻辑电路连接关系对所述逻辑电路图中的逻辑电路实例进行聚类,得到多个子集合,还包括:将所述逻辑电路图的逻辑电路实例映射为超图顶点, 所述逻辑电路图的连线映射为超图超边,计算超图超边连接的两个超图顶点之间的权重,得到带权超图;对所述带权超图进行聚类,得到多个子集合。
在其中一个实施例中,所述根据所述物理电路连接关系对分配给所述可编程逻辑器件的所述子集合进行调整,得到理论集合分配方案以及所述理论集合分配方案中不符合所述物理电路连接关系的违规连接列表,包括:设定所述可编程逻辑器件分配的子集合中的逻辑电路实例为顶点,计算所述顶点的移动增益数值;针对子集合中移动增益数值最大的顶点, 判断当前可编程逻辑器件与其他可编程逻辑器件之间是否存在物理电路连接;当判定不存在物理电路连接时,对应记录所述逻辑电路实例、当前可编程逻辑器件与其他可编程逻辑器件,输出理论集合分配方案并生成不符合所述物理电路连接关系的违规连接列表。
在其中一个实施例中,所述针对所述违规连接列表中的各逻辑电路实例,根据物理电路连接关系和广度优先搜索方法查找加权最短路径,构建多级跳点路径,包括:将可编程逻辑器件之间的物理电路连接关系抽象构建成带有连线资源权重分布图;针对所述违规连接列表中的各逻辑电路实例,使用广度优先搜索方法查找所述当前可编程逻辑器件与所述其他可编程逻辑器件之间的加权最短路径;根据搜索到的加权最短路径,构建路径上的跳点连线,并分别对所述加权最短路径上的可编程逻辑器件增加对应的虚拟端口和连线,构建得到多级跳点路径。
在其中一个实施例中,所述将所有所述子集合根据所述物理电路连接关系分配到所述可编程逻辑器件上,包括:随机将第一子集合分配给第一可编程逻辑器件;将与所述第一子集合连接的权重值大于预设阈值的第二子集合分配给第一可编程逻辑器件;将与所述第一子集合连接的权重值小于预设阈值的第三子集合分配给与所述第一可编程逻辑器件连接的第二可编程逻辑器件;将与所述第一子集合不连接的第四子集合分配给与所述第一可编程逻辑器件不连接的第三可编程逻辑器件;当判定所有子集合都分配给不同可编程逻辑器件后,输出子集合分配方案。
本发明还提供了一种可编程逻辑器件分组装置,所述装置包括:连接文件获取模块,用于获取可编程逻辑器件之间的物理电路连接关系以及理论设计文件,所述理论设计文件携带有所述可编程逻辑器件待执行的逻辑电路图,所述逻辑电路图用于描述电路系统的各逻辑电路实例的结构以及逻辑电路实例之间的逻辑电路连接关系;聚类模块,用于根据所述逻辑电路连接关系对所述逻辑电路图中的逻辑电路实例进行聚类,得到多个子集合;子集合分配模块,用于将所有所述子集合根据所述物理电路连接关系分配到所述可编程逻辑器件上;分配优化模块,用于根据所述物理电路连接关系对分配给所述可编程逻辑器件的所述子集合进行优化调整,得到理论集合分配方案以及所述理论集合分配方案中不符合所述物理电路连接关系的违规连接列表;路径构建模块,用于针对所述违规连接列表中的各逻辑电路实例,根据物理电路连接关系和广度优先搜索方法查找加权最短路径,构建多级跳点路径;文件输出模块,用于根据所述多级跳点路径对所述逻辑电路图的逻辑电路连接关系进行修改,输出与所述物理电路连接关系对应的实际设计文件。
与现有技术相比,本发明的优点在于:基于可编程逻辑器件的物理电路连接,得到分割互联最小、速度更快,处理数据规模更大的可编程逻辑器件分组结果,从而提高了芯片处理效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明的一个实施例中可编程逻辑器件分组方法的流程示意图;
图2是本发明的一个实施例中逻辑电路图的结构示意图;
图3是本发明的一个实施例中FPGA电路图的示意图;
图4是与图2逻辑电路图对应的带权超图的示意图;
图5是本发明的一个实施例中可编程逻辑器件分组步骤的流程示意图;
图6是本发明的一个实施例中资源权重分布图的示意图;
图7是本发明的一个实施例中可编程逻辑器件分组装置的结构框图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本申请,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目和方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
如图1所示,本申请实施例提供一种可编程逻辑器件分组方法,可以应用在终端或服务器上,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式智能设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现,方法包括以下步骤:
步骤102,获取可编程逻辑器件之间的物理电路连接关系以及理论设计文件,理论设计文件携带有可编程逻辑器件待执行的逻辑电路图,逻辑电路图用于描述电路系统的各逻辑电路实例的结构以及逻辑电路实例之间的逻辑电路连接关系。
理论设计文件携带有可编程逻辑器件待执行的逻辑电路图。逻辑电路图用于描述电路系统的各逻辑电路实例的结构以及逻辑电路实例之间的逻辑电路连接关系,如图2所示。在图2的逻辑电路图中,C1~C8为逻辑电路实例,逻辑电路实例可以对应FPGA、CPLD等可编程逻辑器件,逻辑电路实例可以执行某一功能,不同逻辑电路实例执行的功能可以是一样的或存在关联的。e1~e6可以为分配的资源,例如权重、带宽、功耗等。服务器获取可编程逻辑器件之间的物理电路连接关系以及理论设计文件。如图3所示,FPGA1与FPGA2、FPGA4有物理电路连接,FPGA7与FPGA4、FPGA8有物理电路连接。FPGA1到FPGA9分别对应逻辑电路实例Group1到Group9。
步骤104,根据逻辑电路连接关系对逻辑电路图中的逻辑电路实例进行聚类,得到多个子集合。
服务器根据逻辑电路连接关系对逻辑电路图中的逻辑电路实例进行聚类,得到多个子集合。服务器可以根据逻辑电路实例执行的功能对逻辑电路实例进行聚类,或是根据逻辑电路实例的电路连接关系进行聚类,并得到多个子集合。
步骤106,将所有子集合根据物理电路连接关系分配到可编程逻辑器件上。
服务器将所有子集合根据物理电路连接关系分配到可编程逻辑器件上。服务器可以采用FM算法(Fiduccia and Mattheyses)或是其他分配方法将所有子集合根据物理电路连接关系分配到可编程逻辑器件上。FM算法主要是通过移动顶点减小切割连线(CutSize)优化分组结果,并保证最终得到的分割结果符合基于分组之间顶点大小均衡约束下CutSize最小的条件。
在一个实施例中,将所有子集合根据物理电路连接关系分配到可编程逻辑器件上,包括以下步骤:随机将第一子集合分配给第一可编程逻辑器件;将与第一子集合连接的权重值大于预设阈值的第二子集合分配给第一可编程逻辑器件;将与第一子集合连接的权重值小于预设阈值的第三子集合分配给与第一可编程逻辑器件连接的第二可编程逻辑器件;将与第一子集合不连接的第四子集合分配给与第一可编程逻辑器件不连接的第三可编程逻辑器件;当判定所有子集合都分配给不同可编程逻辑器件后,输出子集合分配方案。
服务器可以随机选择将第一子集合SubGraphA分配给第一可编程逻辑器件Group1。服务器将与第一子集合SubGraphA连接的权重值大于预设阈值的第二子集合SubGrapB分配给第一可编程逻辑器件Group1,预设阈值可以是根据权重平均值设定的。服务器将与第一子集合连接的权重值小于预设阈值的第三子集合SubGrapC分配给与第一可编程逻辑器件连接的第二可编程逻辑器件Group2。服务器将与第一子集合不连接的第四子集合SubGraphD分配给与第一可编程逻辑器件不连接的第三可编程逻辑器件Group3。当判定所有子集合都分配给不同可编程逻辑器件后,输出子集合分配方案。如果还有未分配分组的子集合,根据上述步骤再次进行分组。如图3中有9个FPGA物理资源,则将聚类集合划分为9组。
步骤108,根据物理电路连接关系对分配给可编程逻辑器件的子集合进行优化调整,得到理论集合分配方案以及理论集合分配方案中不符合物理电路连接关系的违规连接列表。
服务器可以采用FM算法计算分配后的可编程逻辑器件的效率,并根据物理电路连接关系对分配给可编程逻辑器件的子集合进行优化调整,得到理论集合分配方案以及理论集合分配方案中不符合物理电路连接关系的违规连接列表。
在其中一个实施例中,根据物理电路连接关系对分配给可编程逻辑器件的子集合进行调整,得到理论集合分配方案以及理论集合分配方案中不符合物理电路连接关系的违规连接列表,包括以下步骤:设定可编程逻辑器件分配的子集合中的逻辑电路实例为顶点,计算顶点的移动增益数值;针对子集合中移动增益数值最大的顶点, 判断当前可编程逻辑器件与其他可编程逻辑器件之间是否存在物理电路连接;当判定不存在物理电路连接时,对应记录逻辑电路实例、当前可编程逻辑器件与其他可编程逻辑器件,输出理论集合分配方案并生成不符合物理电路连接关系的违规连接列表。
服务器可以设定可编程逻辑器件分配的子集合中的逻辑电路实例为顶点,并根据权重计算顶点的移动增益数值(即、降低切割连线CutSize)。服务器针对子集合中移动增益数值最大的顶点, 判断当前可编程逻辑器件与其他可编程逻辑器件之间是否存在物理电路连接。当判定存在物理电路连接时,服务器将子集合中移动增益数值最大的顶点分配到其他可编程逻辑器件,输出理论集合分配方案;当判定不存在物理电路连接时,服务器对应记录逻辑电路实例、当前可编程逻辑器件与其他可编程逻辑器件,输出理论集合分配方案并生成不符合物理电路连接关系的违规连接列表。
步骤110,针对违规连接列表中的各逻辑电路实例,根据物理电路连接关系和广度优先搜索方法查找加权最短路径,构建多级跳点路径。
服务器针对违规连接列表中的各逻辑电路实例,根据物理电路连接关系和广度优先搜索方法查找加权最短路径,构建多级跳点路径(多级hop路径)。
步骤112,根据多级跳点路径对逻辑电路图的逻辑电路连接关系进行修改,输出与物理电路连接关系对应的实际设计文件。
服务器根据多级跳点路径对逻辑电路图的逻辑电路连接关系进行修改,输出与物理电路连接关系对应的实际设计文件。例如,图2中粗实线表示的是物理电路连接关系,虚线是根据算法计算出的逻辑电路连接关系,细实线是根据多级跳点路径修改后的逻辑电路连接关系。服务器根据理论集合分配方案和细实线对应的跳点路径修改步骤102获得的理论设计文件,并输出与物理电路连接关系对应的实际设计文件。
上述可编程逻辑器件分组方法,基于可编程逻辑器件的物理电路连接,得到分割互联最小、速度更快,处理数据规模更大的可编程逻辑器件分组结果,从而提高了芯片处理效率。
在其中一个实施例中,根据逻辑电路连接关系对逻辑电路图中的逻辑电路实例进行聚类,得到多个子集合,还包括以下步骤:将逻辑电路图的逻辑电路实例映射为超图顶点, 逻辑电路图的连线映射为超图超边,计算超图超边连接的两个超图顶点之间的权重,得到带权超图;对带权超图进行聚类,得到多个子集合。
如图4所示,服务器可以将逻辑电路图映射为带权超图,服务器可以将逻辑电路实例C映射为超图顶点V, 逻辑电路图的连线映射为超图超边,并计算超图超边连接的两个超图顶点之间的权重。服务器可以对带权超图进行聚类,得到多个子集合。服务器可以将超图超边连接的逻辑电路实例聚为一类,例如可以将图4中的V2、V3、V4聚为一类,V1和V5分别作为一类。服务器还可以根据e1、e3和e5计算超图超边连接的两个超图顶点V3、V5之间的权重。
如图5所示,在其中一个实施例中,针对违规连接列表中的各逻辑电路实例,根据物理电路连接关系和广度优先搜索方法查找加权最短路径,构建多级跳点路径,包括以下步骤:
步骤502,将可编程逻辑器件之间的物理电路连接关系抽象构建成带有连线资源权重分布图。
服务器将图3的可编程逻辑器件之间的物理电路连接关系抽象构建成如图6所示的带有连线资源权重分布图。FPGA映射为图中的顶点,物理电路连接映射为图中的边,两个顶点之间的权重可以是需要的资源参数或是带宽等等。
步骤504,针对违规连接列表中的各逻辑电路实例,使用广度优先搜索方法查找当前可编程逻辑器件与其他可编程逻辑器件之间的加权最短路径。
服务器针对违规连接列表中的各逻辑电路实例,分别使用广度优先搜索方法查找当前可编程逻辑器件与其他可编程逻辑器件之间的加权最短路径。例如,在图5中,服务器查找到F1到F3加权最短路径是F1→F2→F5→F6→F3。
步骤506,根据搜索到的加权最短路径,构建路径上的跳点连线,并分别对加权最短路径上的可编程逻辑器件增加对应的虚拟端口和连线,构建得到多级跳点路径。
服务器根据搜索到的加权最短路径,构建路径上的跳点(hop)连线,并分别对加权最短路径上的可编程逻辑器件增加对应的虚拟端口和连线,构建得到多级跳点路径,例如,图2中的p1~p8是增加的虚拟端口,图2中的L1 到L9是虚拟连线。
在一个实施例中,如图7所示,提供了一种可编程逻辑器件分组装置,包括连接文件获取模块702、聚类模块704、子集合分配模块706、分配优化模块708、路径构建模块710和文件输出模块712,其中:
连接文件获取模块702,用于获取可编程逻辑器件之间的物理电路连接关系以及理论设计文件,理论设计文件携带有可编程逻辑器件待执行的逻辑电路图,逻辑电路图用于描述电路系统的各逻辑电路实例的结构以及逻辑电路实例之间的逻辑电路连接关系。
聚类模块704,用于根据逻辑电路连接关系对逻辑电路图中的逻辑电路实例进行聚类,得到多个子集合。
子集合分配模块706,用于将所有子集合根据物理电路连接关系分配到可编程逻辑器件上。
分配优化模块708,用于根据物理电路连接关系对分配给可编程逻辑器件的子集合进行优化调整,得到理论集合分配方案以及理论集合分配方案中不符合物理电路连接关系的违规连接列表。
路径构建模块710,用于针对违规连接列表中的各逻辑电路实例,根据物理电路连接关系和广度优先搜索方法查找加权最短路径,构建多级跳点路径。
文件输出模块712,用于根据多级跳点路径对逻辑电路图的逻辑电路连接关系进行修改,输出与物理电路连接关系对应的实际设计文件。
在一个实施例中,聚类模块包括:
超图生成单元,用于将逻辑电路图的逻辑电路实例映射为超图顶点, 逻辑电路图的连线映射为超图超边,计算超图超边连接的两个超图顶点之间的权重,得到带权超图。
聚类单元,用于对带权超图进行聚类,得到多个子集合。
在一个实施例中,分配优化模块包括:
设定单元,用于设定可编程逻辑器件分配的子集合中的逻辑电路实例为顶点,计算顶点的移动增益数值。
判断单元,用于针对子集合中移动增益数值最大的顶点, 判断当前可编程逻辑器件与其他可编程逻辑器件之间是否存在物理电路连接。
理论分配输出单元,用于当判定不存在物理电路连接时,对应记录逻辑电路实例、当前可编程逻辑器件与其他可编程逻辑器件,输出理论集合分配方案并生成不符合物理电路连接关系的违规连接列表。
在一个实施例中,路径构建模块包括:
权重分布图生成单元,用于将可编程逻辑器件之间的物理电路连接关系抽象构建成带有连线资源权重分布图。
加权路径搜索单元,用于针对违规连接列表中的各逻辑电路实例,使用广度优先搜索方法查找当前可编程逻辑器件与其他可编程逻辑器件之间的加权最短路径。
跳点路径构建单元,用于根据搜索到的加权最短路径,构建路径上的跳点连线,并分别对加权最短路径上的可编程逻辑器件增加对应的虚拟端口和连线,构建得到多级跳点路径。
在一个实施例中,子集合分配模块包括:
子集合第一分配单元,用于随机将第一子集合分配给第一可编程逻辑器件。
子集合第二分配单元,用于将与第一子集合连接的权重值大于预设阈值的第二子集合分配给第一可编程逻辑器件。
子集合第三分配单元,用于将与第一子集合连接的权重值小于预设阈值的第三子集合分配给与第一可编程逻辑器件连接的第二可编程逻辑器件。
子集合第四分配单元,用于将与第一子集合不连接的第四子集合分配给与第一可编程逻辑器件不连接的第三可编程逻辑器件。
输出单元,用于当判定所有子集合都分配给不同可编程逻辑器件后,输出子集合分配方案。
关于可编程逻辑器件分组装置的具体限定可以参见上文中对于可编程逻辑器件分组方法的限定,在此不再赘述。上述可编程逻辑器件分组装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种可编程逻辑器件分组方法,其特征在于,包括:
获取可编程逻辑器件之间的物理电路连接关系以及理论设计文件,所述理论设计文件携带有所述可编程逻辑器件待执行的逻辑电路图,所述逻辑电路图用于描述电路系统的各逻辑电路实例的结构以及逻辑电路实例之间的逻辑电路连接关系;
根据所述逻辑电路连接关系对所述逻辑电路图中的逻辑电路实例进行聚类,得到多个子集合;
将所有所述子集合根据所述物理电路连接关系分配到所述可编程逻辑器件上;
根据所述物理电路连接关系对分配给所述可编程逻辑器件的所述子集合进行优化调整,得到理论集合分配方案以及所述理论集合分配方案中不符合所述物理电路连接关系的违规连接列表;
针对所述违规连接列表中的各逻辑电路实例,根据物理电路连接关系和广度优先搜索方法查找加权最短路径,构建多级跳点路径;
根据所述多级跳点路径对所述逻辑电路图的逻辑电路连接关系进行修改,输出与所述物理电路连接关系对应的实际设计文件。
2.根据权利要求1所述的可编程逻辑器件分组方法,其特征在于,所述根据所述逻辑电路连接关系对所述逻辑电路图中的逻辑电路实例进行聚类,得到多个子集合,包括:
将所述逻辑电路图的逻辑电路实例映射为超图顶点, 所述逻辑电路图的连线映射为超图超边,计算超图超边连接的两个超图顶点之间的权重,得到带权超图;
对所述带权超图进行聚类,得到多个子集合。
3.根据权利要求1所述的可编程逻辑器件分组方法,其特征在于,所述根据所述物理电路连接关系对分配给所述可编程逻辑器件的所述子集合进行调整,得到理论集合分配方案以及所述理论集合分配方案中不符合所述物理电路连接关系的违规连接列表,包括:
设定所述可编程逻辑器件分配的子集合中的逻辑电路实例为顶点,计算所述顶点的移动增益数值;
针对子集合中移动增益数值最大的顶点, 判断当前可编程逻辑器件与其他可编程逻辑器件之间是否存在物理电路连接;
当判定不存在物理电路连接时,对应记录所述逻辑电路实例、当前可编程逻辑器件与其他可编程逻辑器件,输出理论集合分配方案并生成不符合所述物理电路连接关系的违规连接列表。
4.根据权利要求3所述的可编程逻辑器件分组方法,其特征在于,所述针对所述违规连接列表中的各逻辑电路实例,根据物理电路连接关系和广度优先搜索方法查找加权最短路径,构建多级跳点路径,包括:
将可编程逻辑器件之间的物理电路连接关系抽象构建成带有连线资源权重分布图;
针对所述违规连接列表中的各逻辑电路实例,使用广度优先搜索方法查找所述当前可编程逻辑器件与所述其他可编程逻辑器件之间的加权最短路径;
根据搜索到的加权最短路径,构建路径上的跳点连线,并分别对所述加权最短路径上的可编程逻辑器件增加对应的虚拟端口和连线,构建得到多级跳点路径。
5.根据权利要求1所述的可编程逻辑器件分组方法,其特征在于,所述将所有所述子集合根据所述物理电路连接关系分配到所述可编程逻辑器件上,包括:
随机将第一子集合分配给第一可编程逻辑器件;
将与所述第一子集合连接的权重值大于预设阈值的第二子集合分配给第一可编程逻辑器件;
将与所述第一子集合连接的权重值小于预设阈值的第三子集合分配给与所述第一可编程逻辑器件连接的第二可编程逻辑器件;
将与所述第一子集合不连接的第四子集合分配给与所述第一可编程逻辑器件不连接的第三可编程逻辑器件;
当判定所有子集合都分配给不同可编程逻辑器件后,输出子集合分配方案。
6.一种可编程逻辑器件分组装置,其特征在于,所述装置包括:
连接文件获取模块,用于获取可编程逻辑器件之间的物理电路连接关系以及理论设计文件,所述理论设计文件携带有所述可编程逻辑器件待执行的逻辑电路图,所述逻辑电路图用于描述电路系统的各逻辑电路实例的结构以及逻辑电路实例之间的逻辑电路连接关系;
聚类模块,用于根据所述逻辑电路连接关系对所述逻辑电路图中的逻辑电路实例进行聚类,得到多个子集合;
子集合分配模块,用于将所有所述子集合根据所述物理电路连接关系分配到所述可编程逻辑器件上;
分配优化模块,用于根据所述物理电路连接关系对分配给所述可编程逻辑器件的所述子集合进行优化调整,得到理论集合分配方案以及所述理论集合分配方案中不符合所述物理电路连接关系的违规连接列表;
路径构建模块,用于针对所述违规连接列表中的各逻辑电路实例,根据物理电路连接关系和广度优先搜索方法查找加权最短路径,构建多级跳点路径;
文件输出模块,用于根据所述多级跳点路径对所述逻辑电路图的逻辑电路连接关系进行修改,输出与所述物理电路连接关系对应的实际设计文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011513510.0A CN112232010B (zh) | 2020-12-21 | 2020-12-21 | 可编程逻辑器件分组方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011513510.0A CN112232010B (zh) | 2020-12-21 | 2020-12-21 | 可编程逻辑器件分组方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112232010A true CN112232010A (zh) | 2021-01-15 |
CN112232010B CN112232010B (zh) | 2021-03-05 |
Family
ID=74124506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011513510.0A Active CN112232010B (zh) | 2020-12-21 | 2020-12-21 | 可编程逻辑器件分组方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112232010B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113158613A (zh) * | 2021-04-02 | 2021-07-23 | 上海国微思尔芯技术股份有限公司 | 一种将超图结构转rtl级hdl文件的方法及装置 |
CN114781316A (zh) * | 2022-06-21 | 2022-07-22 | 上海国微思尔芯技术股份有限公司 | 组网布局方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040237055A1 (en) * | 2003-02-10 | 2004-11-25 | Tomoo Kimura | Logic circuit optimizing method, logic circuit optimizing device and logic circuit composing device |
CN102033987A (zh) * | 2010-11-30 | 2011-04-27 | 中国人民解放军信息工程大学 | 一种fpga元构件布局区域分配方法 |
CN102789512A (zh) * | 2011-05-20 | 2012-11-21 | 中国科学院微电子研究所 | multi-FPGA系统的EDA工具设计方法和装置 |
-
2020
- 2020-12-21 CN CN202011513510.0A patent/CN112232010B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040237055A1 (en) * | 2003-02-10 | 2004-11-25 | Tomoo Kimura | Logic circuit optimizing method, logic circuit optimizing device and logic circuit composing device |
CN102033987A (zh) * | 2010-11-30 | 2011-04-27 | 中国人民解放军信息工程大学 | 一种fpga元构件布局区域分配方法 |
CN102789512A (zh) * | 2011-05-20 | 2012-11-21 | 中国科学院微电子研究所 | multi-FPGA系统的EDA工具设计方法和装置 |
Non-Patent Citations (1)
Title |
---|
高平等: "数字VLSI电路测试技术-BIST方案", 《半导体技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113158613A (zh) * | 2021-04-02 | 2021-07-23 | 上海国微思尔芯技术股份有限公司 | 一种将超图结构转rtl级hdl文件的方法及装置 |
CN113158613B (zh) * | 2021-04-02 | 2022-08-12 | 上海国微思尔芯技术股份有限公司 | 一种将超图结构转rtl级hdl文件的方法及装置 |
CN114781316A (zh) * | 2022-06-21 | 2022-07-22 | 上海国微思尔芯技术股份有限公司 | 组网布局方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112232010B (zh) | 2021-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Beretta et al. | A mapping flow for dynamically reconfigurable multi-core system-on-chip design | |
CN112232010B (zh) | 可编程逻辑器件分组方法和装置 | |
CN106919769B (zh) | 一种基于多层次方法和赋权超图的层次式fpga布局布线方法 | |
CN105808328A (zh) | 任务调度的方法、装置和系统 | |
CN103179052A (zh) | 一种基于接近度中心性的虚拟资源分配方法及系统 | |
CN1881224A (zh) | 估计电路时钟树的抖动并合成抖动意识和偏差意识时钟树 | |
CN114781316B (zh) | 组网布局方法、装置、设备和存储介质 | |
US10628625B2 (en) | Incrementally distributing logical wires onto physical sockets by reducing critical path delay | |
CN111400555A (zh) | 图数据查询任务处理方法、装置、计算机设备和存储介质 | |
CN112258515A (zh) | 一种基于固定顶点的图分割方法 | |
Chehida et al. | HW/SW partitioning approach for reconfigurable system design | |
Ye et al. | Physical planning for on-chip multiprocessor networks and switch fabrics | |
CN115344692A (zh) | 聚类方法、装置、计算机设备和存储介质 | |
Singh et al. | Partition-based algorithm for power grid design using locality | |
Montone et al. | Wirelength driven floorplacement for FPGA-based partial reconfigurable systems | |
CN113919266A (zh) | 可编程器件的时钟规划方法、装置、电子设备及存储介质 | |
CN113343632A (zh) | 一种考虑进位链和位置约束的异质型布局合法化方法 | |
CN114781300B (zh) | 可编辑逻辑阵列布线方法、装置、设备和存储介质 | |
CN117195819A (zh) | 一种布线资源优化的分割方法 | |
CN112183007A (zh) | 一种多个fpga的设计分割方法 | |
US10102328B1 (en) | System and method for constructing spanning trees | |
CN116401992A (zh) | 一种节点路由路径优化方法及装置 | |
CN107122242B (zh) | 一种有效提升分布式运算性能的大数据均衡切片方法 | |
CN113255265B (zh) | 分割及验证方法、装置、电子设备、存储介质 | |
Huang et al. | Hierarchical and dependency-aware task mapping for NoC-based systems |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 27, 6th floor, No. 29 and 30, Lane 1775, Qiushan Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201306 Patentee after: Shanghai Sierxin Technology Co.,Ltd. Address before: Room 27, 6th floor, No. 29 and 30, Lane 1775, Qiushan Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201306 Patentee before: Shanghai Guowei silcore Technology Co.,Ltd. |