CN114781300A - 可编辑逻辑阵列布线方法、装置、设备和存储介质 - Google Patents
可编辑逻辑阵列布线方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114781300A CN114781300A CN202210701034.8A CN202210701034A CN114781300A CN 114781300 A CN114781300 A CN 114781300A CN 202210701034 A CN202210701034 A CN 202210701034A CN 114781300 A CN114781300 A CN 114781300A
- Authority
- CN
- China
- Prior art keywords
- layout
- array
- coordinate
- logic
- wiring
- 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/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/347—Physical level, e.g. placement or 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/394—Routing
- G06F30/3953—Routing detailed
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
本发明提供了一种可编辑逻辑阵列布线方法、装置、设备和存储介质,属于集成电路芯片设计领域,方法包括解析组网布局文件,获取多组逻辑分组构成的第一布局;寻找第一布局的布局中心点,构建极坐标系;基于预设规则将所有逻辑分组按照它们的极坐标进行排序,得到组网布局文件的第一坐标数组;筛选器件布线数据库中所有与组网布局文件的坐标数组长度相同的参考布局;计算参考布局的理论坐标数组与第一坐标数组的差异度;根据差异度最小的参考布局的布线结果对组网布局文件进行布线,得到可编辑逻辑阵列的布线。通过本申请的处理方案,快速准确地得到可编辑逻辑阵列的布线。
Description
技术领域
本发明涉及集成电路芯片设计领域,具体涉及一种可编辑逻辑阵列布线方法、装置、计算机设备和存储介质。
背景技术
分割算法是对进行超图建模后的超图结构进行分割。超图结构与图结构类似,是由节点和边组成的,节点和边分别具有对应的权重,节点的权重大小代表此节点所需要消耗的物理资源规模,边的权重大小一般由节点之间的连接紧密度决定。超图结构相较于普通图结构的区别为超图中的一条边可以连接超过两个以上的节点。超图进行分割后,将抽象的节点所对应的逻辑进行还原,可获得各个逻辑阵列上的验证逻辑以及彼此之间的连接关系。
布线流程则是根据还原的连接关系将器件网表映射到芯片的物理位置上并根据器件网表中器件间的连接关系进行布线。且布线结果生成之后不再更改。现在大部分设计是自动布线,布线有多种策略可以进行选择,如目前存在着基于协商的FPGA性能优化布线算法、分段与缓冲及其对速度和逻辑密度的优化、时序驱动的FPGA布局算法等等流行算法。这些算法的特点是应用现场进行布线路径的计算和搜素,所以需要耗费大量时间,且当逻辑规模较大时,由于布局场景数量巨大,场景中验证系统矩阵大小、逻辑分组数量、逻辑分组布局位置等等均为可变,难以穷举每种情况,布线需要花费巨量的时间,使得布线的效率较低。所以市场上亟需一种能够快速实现布线的方法。
发明内容
因此,为了克服上述现有技术的缺点,本发明提供一种可编辑逻辑阵列布线方法、装置、计算机设备和存储介质。
为了实现上述目的,本发明提供一种可编辑逻辑阵列布线方法,包括:解析组网布局文件,获取多组逻辑分组构成的第一布局,所述组网布局文件描述可编辑逻辑阵列的硬件资源信息以及所述逻辑分组在所述可编辑逻辑阵列上的布局;寻找所述第一布局的布局中心点,构建极坐标系,并计算出每个逻辑分组的极坐标,其中,第一坐标为所述逻辑分组与所述布局中心点与水平轴之间的角度,第二坐标为所述逻辑分组与所述布局中心点之间的距离长度;基于预设规则将所有所述逻辑分组按照它们的极坐标进行排序,得到所述组网布局文件的第一坐标数组;筛选器件布线数据库中所有与所述组网布局文件的坐标数组长度相同的参考布局;计算所述参考布局的理论坐标数组与所述第一坐标数组的差异度;根据差异度最小的所述参考布局的布线结果对所述组网布局文件进行布线,得到可编辑逻辑阵列的布线。
在其中一个实施例中,所述寻找所述第一布局的布局中心点,构建极坐标系,包括:以所述第一布局的左下为直角坐标系原点,计算当前布局场景中的所有逻辑分组的坐标值;设定所述坐标值的平均值为布局中心点,并以所述布局中心点为原点,构建极坐标系。
在其中一个实施例中,所述计算所述参考布局的理论坐标数组与所述第一坐标数组的差异度,包括:根据所述理论坐标数组与所述第一坐标数组的第一坐标计算转动角度;计算所述参考布局的理论坐标数组与所述第一坐标数组的第一差异度;将所述第一坐标数组中各所述第一坐标叠加转动角度,并根据叠加后的第一坐标对所述当前坐标数据进行调整得到第二坐标数组;计算所述理论坐标数组与所述第二坐标数组的第二差异度;重复上述两个步骤,直至所述第二坐标数组与所述第一坐标数组一致;将所述第一差异度和所述第二差异度中的最小值设定为所述参考布局的理论坐标数组与所述第一坐标数组的差异度。
在其中一个实施例中,所述根据差异度最小的所述参考布局的布线结果对所述组网布局文件进行布线,得到可编辑逻辑阵列的布线,包括:当判定所述差异度值达到第一阈值时,获取所述参考布局的布线结果;将所述逻辑分组按照所述参考布局对应的理论坐标数组形成可编辑逻辑阵列的布线。
在其中一个实施例中,所述根据差异度最小的所述参考布局的布线结果对所述组网布局文件进行布线,得到可编辑逻辑阵列的布线,包括:当判定所述差异度值位于第一阈值和第二阈值之间时,获取所述参考布局的布线结果;将所述逻辑分组按照所述参考布局对应的理论坐标数组形成初始布线;将有布局有位置差异的逻辑分组按照最短路径的方式与所述参考布局的理论坐标数组所在的参考位置相连,并根据连接后的连线对所述初始布线进行调整形成可编辑逻辑阵列的布线。
在其中一个实施例中,所述预设规则为将所有所述逻辑分组按照第一坐标的值从小到大的顺序进行排序,当第一坐标的值相等时根据第二坐标的值从小到大的顺序进行排序。
一种可编辑逻辑阵列布线装置,所述装置包括:第一布局解析模块,用于解析组网布局文件,获取多组逻辑分组构成的第一布局,所述组网布局文件描述可编辑逻辑阵列的硬件资源信息以及所述逻辑分组在所述可编辑逻辑阵列上的布局;极坐标系构建模块,用于寻找所述第一布局的布局中心点,构建极坐标系,并计算出每个逻辑分组的极坐标,其中,第一坐标为所述逻辑分组与所述布局中心点与水平轴之间的角度,第二坐标为所述逻辑分组与所述布局中心点之间的距离长度;数组生成模块,用于基于预设规则将所有所述逻辑分组按照它们的极坐标进行排序,得到所述组网布局文件的第一坐标数组;参考布局筛选模块,用于筛选器件布线数据库中所有与所述组网布局文件的坐标数组长度相同的参考布局;差异度计算模块,用于计算所述参考布局的理论坐标数组与所述第一坐标数组的差异度;布线模块,用于根据差异度最小的所述参考布局的布线结果对所述组网布局文件进行布线,得到可编辑逻辑阵列的布线。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的方法的步骤。
与现有技术相比,本发明的优点在于:对组网布局文件的第一布局进行分析,并根据筛选出的参考布局对第一布局进行布线,从而快速准确地得到可编辑逻辑阵列的布线,且布线的过程不会受限于可编辑逻辑阵列的规模大小、分组数量等,整个过程高效、快速且准确。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明的实施例中可编辑逻辑阵列布线方法的流程示意图;
图2是本发明的实施例中极坐标系的示意图;
图3是本发明的实施例中差异度计算的流程示意图;
图4是本发明的实施例中可编辑逻辑阵列布线装置的结构框图;
图5是本发明的实施例中计算机设备的内部结构图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本申请,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目和方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
如图1所示,本申请实施例提供一种可编辑逻辑阵列布线方法,可以应用在终端或服务器上,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式智能设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现,方法包括以下步骤:
步骤101,解析组网布局文件,获取多组逻辑分组构成的第一布局,组网布局文件描述可编辑逻辑阵列的硬件资源信息以及逻辑分组在可编辑逻辑阵列上的布局。
服务器解析组网布局文件,获取多组逻辑分组构成的第一布局,组网布局文件描述可编辑逻辑阵列的硬件资源信息以及逻辑分组在所述可编辑逻辑阵列上的布局。组网布局文件可以是由组网文件和布局文件组合得到的。组网文件用于描述验证系统的硬件资源信息,可以包括可编辑逻辑器件阵列的数量、可编辑逻辑器件之间的拓扑结构、各可编辑逻辑器件的资源容量和互连关系等。布局文件包含逻辑分组在所述可编辑逻辑阵列上的布局。
服务器可以根据设计文件生成组网布局文件。设计文件用于描述电路系统的各电路节点的结构以及电路节点之间的连接关系。设计文件中包含很多逻辑程序块(module),逻辑程序块间存在嵌套或并列等关系,每个逻辑程序块与电路系统的各电路节点对应。电路节点可以是一个或多个电子元件。设计文件可以是Verilog,vhdl,systemVerilog等格式文件;网表是RTL经过RTL逻辑综合后形成的网状数据结构,同样描述了用户的设计逻辑,RTL或网表设计通过语法解析器在内存中形成语法树图。RTL可以通过逻辑综合过程转化为网表。RTL和网表均都有层级嵌套结构,都有包含逻辑功能的逻辑程序块,逻辑程序块和逻辑程序块之间有通信信号,信号也可以穿过逻辑程序块传递到内部。
服务器可以通过建模和抽象将设计文件转换成超图结构;根据硬件资源信息,基于最小割原理对设计文件进行分割,获得第一分割结果,该第一分割结果信息包含了描述超图节点在逻辑阵列系统中对应的分配位置和彼此之间的连接关系。服务器将第一分割结果转化成由多组逻辑分组构成的第一布局。分割算法是常规的分割算法,也可以根据需要从常见算法中选择。服务器将多组逻辑分组随机分配在可编辑逻辑阵列中,形成第一布局。
步骤102,寻找第一布局的布局中心点,构建极坐标系,并计算出每个逻辑分组的极坐标,其中,第一坐标为逻辑分组与布局中心点与水平轴之间的角度,第二坐标为逻辑分组与布局中心点之间的距离长度。
服务器寻找第一布局的布局中心点,构建极坐标系,并计算出每个逻辑分组的极坐标,其中,第一坐标为逻辑分组与布局中心点与水平轴之间的角度,第二坐标为逻辑分组与布局中心点之间的距离长度。例如,可编辑逻辑器件的阵列矩阵一般排列为长方形或正方形,服务器可以设置任一点为直角坐标系原点,分别计算当前布局场景中的所有逻辑分组的坐标值,并确定中心点。如图2所示,逻辑分组分别为A、B、C。服务器以中心点为原点,建立极坐标系,并计算出每个逻辑分组的极坐标(角度α,长度l)。
步骤103,基于预设规则将所有逻辑分组按照它们的极坐标进行排序,得到组网布局文件的第一坐标数组。
服务器基于预设规则将所有逻辑分组按照它们的极坐标进行排序,得到组网布局文件的第一坐标数组Now。服务器可以根据极坐标值的大小对逻辑分组进行排序,也可以根据极坐标与中心点的关系进行排序。在一个实施例中,预设规则为将所有逻辑分组按照第一坐标的值从小到大的顺序进行排序,当第一坐标的值相等时根据第二坐标的值从小到大的顺序进行排序。
步骤104,筛选器件布线数据库中所有与组网布局文件的坐标数组长度相同的参考布局。
服务器筛选器件布线数据库中所有与组网布局文件的坐标数组长度相同的参考布局。假设第一坐标数组Now的长度为n,服务器调用、遍历器件布线数据库中所有长度为n的数组Refs并获取其对应的参考布局。器件布线数据库存储有大量参考布局、与参考布局对应的理论坐标数组以及布线。参考布局是使用集群/多线程等强大计算技术寻找连接每个参考布局中的所有逻辑分组的最小曼哈顿距离的布线路径,包含每个参考布局中的所有逻辑分组的位置以及最小曼哈顿距离的布线路径。
步骤105,计算参考布局的理论坐标数组与第一坐标数组的差异度。
服务器计算参考布局的理论坐标数组与第一坐标数组的差异度。服务器对参考布局的理论坐标数组Refs中的每个数组如Ref分别与数组Now进行差异度计算。
步骤106,根据差异度最小的参考布局的布线结果对组网布局文件进行布线,得到可编辑逻辑阵列的布线。
服务器根据差异度最小的参考布局的布线结果对组网布局文件进行布线,得到可编辑逻辑阵列的布线。
上述方法,对组网布局文件的第一布局进行分析,并根据筛选出的参考布局对第一布局进行修改,从而快速准确地得到可编辑逻辑阵列的布线,且布线的过程不会受限于可编辑逻辑阵列的规模大小、分组数量等,整个过程高效、快速且准确。
在其中一个实施例中,寻找第一布局的布局中心点,构建极坐标系,包括:以第一布局的左下为直角坐标系原点,计算当前布局场景中的所有逻辑分组的坐标值;设定坐标值的平均值为布局中心点,并以布局中心点为原点,构建极坐标系。
可编辑逻辑器件的阵列矩阵一般排列为长方形或正方形,服务器可以设置阵列矩阵的第一布局的左下为直角坐标系原点,计算当前布局场景中的所有逻辑分组的在直角坐标系的坐标值。服务器设定坐标值的平均值为布局中心点,并以布局中心点为原点,构建极坐标系。
如图3所示,在其中一个实施例中,计算参考布局的理论坐标数组与第一坐标数组的差异度,包括:
步骤301,根据理论坐标数组与第一坐标数组的第一坐标计算转动角度。
服务器根据理论坐标数组与第一坐标数组的第一坐标计算转动角度C。如下所示,例如,数组Now和数组Ref均包含3个逻辑分组,长度为3。数组Now包含逻辑分组0(αn0, ln0)、逻辑分组1(αn1, ln1)、逻辑分组2(αn2, ln2)。数组Ref包含逻辑分组0(αr0, lr0)、逻辑分组1(αr1, lr1)、逻辑分组2(αr2, lr2)。
其中,αni为数组Now中的角度,αri为数组Ref中的角度。
步骤302,计算参考布局的理论坐标数组与第一坐标数组的第一差异度。
服务器计算参考布局的理论坐标数组与第一坐标数组的第一差异度Diff。
其中,αni为数组Now中的角度,αri为数组Ref中的角度;lni为数组Now中的长度,lri为数组Ref中的长度。
步骤303,将第一坐标数组中各第一坐标叠加转动角度,并根据叠加后的第一坐标对当前坐标数据进行调整得到第二坐标数组。
服务器将第一坐标数组中各第一坐标叠加转动角度C,并根据叠加后的第一坐标对当前坐标数据进行调整得到第二坐标数组。例如,之前数组Now是按照第一坐标的值从小到大的顺序进行排序,当第一坐标的值相等时根据第二坐标的值从小到大的顺序进行排序,叠加转动角度C后,数组Now依旧按照第一坐标的值从小到大的顺序进行排序,当第一坐标的值相等时根据第二坐标的值从小到大的顺序进行排序。
步骤304,计算理论坐标数组与第二坐标数组的第二差异度。
服务器根据步骤302中的公式计算理论坐标数组与第二坐标数组的第二差异度。
步骤305,重复上述两个步骤,直至第二坐标数组与第一坐标数组一致。
服务器重复步骤303~304,直至第二坐标数组与第一坐标数组完全一致,即重合。
步骤306,将第一差异度和第二差异度中的最小值设定为参考布局的理论坐标数组与第一坐标数组的差异度。
服务器将第一差异度和第二差异度中的最小值设定为参考布局的理论坐标数组与第一坐标数组的差异度。服务器统计、记录Diff最小的数组Now及其对应的参考布局。此时的数组Now可能是第一坐标数组也可能是第二坐标数组,但均指代同一组网布局文件。服务器将数组Now此时的数组与参考布局进行对应设置。
在一个实施例中,根据差异度最小的参考布局的布线结果对组网布局文件进行布线,得到可编辑逻辑阵列的布线,包括:当判定差异度值达到第一阈值时,获取参考布局的布线结果;将逻辑分组按照参考布局对应的理论坐标数组形成可编辑逻辑阵列的布线。
当服务器判定差异度值达到第一阈值时,获取参考布局的布线结果;服务器将逻辑分组按照参考布局对应的理论坐标数组,形成可编辑逻辑阵列的布线。服务器此时不需要对参考布局的布线进行调整。
在其中一个实施例中,根据差异度最小的参考布局的布线结果对组网布局文件进行布线,得到可编辑逻辑阵列的布线,包括:当判定差异度值位于第一阈值和第二阈值之间时,获取参考布局的布线结果;将逻辑分组按照参考布局对应的理论坐标数组形成初始布线;将有布局有位置差异的逻辑分组按照最短路径的方式与参考布局的理论坐标数组所在的参考位置相连,并根据连接后的连线对初始布线进行调整形成可编辑逻辑阵列的布线。
当服务器判定差异度值位于第一阈值和第二阈值之间时,服务器获取参考布局的布线结果。服务器将逻辑分组按照参考布局对应的理论坐标数组形成初始布线。服务器将有布局有位置差异的逻辑分组按照最短路径的方式与参考布局的理论坐标数组所在的参考位置相连,并根据连接后的连线对初始布线进行调整形成可编辑逻辑阵列的布线。当服务器判定差异度值小于第二阈值时,服务器依据综合优化目标的布线调整,并针对第一布线的结果,按照设定的优化目标,对连线路径以及逻辑分组分布位置进行不断调整尝试,迭代优化布线结果。
在一个实施例中,如图4所示,提供了一种可编辑逻辑阵列布线装置,装置包括第一布局解析模块401、极坐标系构建模块402、数组生成模块403、参考布局筛选模块404、差异度计算模块405和布线模块406。
第一布局解析模块401,用于解析组网布局文件,获取多组逻辑分组构成的第一布局,组网布局文件描述可编辑逻辑阵列的硬件资源信息以及逻辑分组在所述可编辑逻辑阵列上的布局。
极坐标系构建模块402,用于寻找第一布局的布局中心点,构建极坐标系,并计算出每个逻辑分组的极坐标,其中,第一坐标为逻辑分组与布局中心点与水平轴之间的角度,第二坐标为逻辑分组与布局中心点之间的距离长度。
数组生成模块403,用于基于预设规则将所有逻辑分组按照它们的极坐标进行排序,得到组网布局文件的第一坐标数组。
参考布局筛选模块404,用于筛选器件布线数据库中所有与组网布局文件的坐标数组长度相同的参考布局。
差异度计算模块405,用于计算参考布局的理论坐标数组与第一坐标数组的差异度。
布线模块406,用于根据差异度最小的参考布局的布线结果对组网布局文件进行布线,得到可编辑逻辑阵列的布线。
在其中一个实施例中,极坐标系构建模块包括:
原点确定单元,用于以第一布局的左下为直角坐标系原点,计算当前布局场景中的所有逻辑分组的坐标值。
极坐标系构建单元,用于设定坐标值的平均值为布局中心点,并以布局中心点为原点,构建极坐标系。
在其中一个实施例中,差异度计算模块包括:
角度计算单元,用于根据理论坐标数组与第一坐标数组的第一坐标计算转动角度。
第一差异度计算单元,用于计算参考布局的理论坐标数组与第一坐标数组的第一差异度。
数组调整单元,用于将第一坐标数组中各第一坐标叠加转动角度,并根据叠加后的第一坐标对当前坐标数据进行调整得到第二坐标数组。
第二差异度计算单元,用于计算理论坐标数组与第二坐标数组的第二差异度。
重复单元,用于重复上述两个步骤,直至第二坐标数组与第一坐标数组一致。
差异度设定单元,用于将第一差异度和第二差异度中的最小值设定为参考布局的理论坐标数组与第一坐标数组的差异度。
在一些实施例中,布线模块包括:
布线结果获取单元,用于当判定差异度值达到第一阈值时,获取参考布局的布线结果。
布线生成单元,用于将逻辑分组按照参考布局对应的理论坐标数组形成可编辑逻辑阵列的布线。
在一些实施例中,布线模块包括:
布线结果获取单元,用于当判定差异度值位于第一阈值和第二阈值之间时,获取参考布局的布线结果。
初始布线生成单元,用于将逻辑分组按照参考布局对应的理论坐标数组形成初始布线。
布线生成单元,用于将有布局有位置差异的逻辑分组按照最短路径的方式与参考布局的理论坐标数组所在的参考位置相连,并根据连接后的连线对初始布线进行调整形成可编辑逻辑阵列的布线。
关于可编辑逻辑阵列布线装置的具体限定可以参见上文中对于可编辑逻辑阵列布线方法的限定,在此不再赘述。上述可编辑逻辑阵列布线装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储器件布线数据库中数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种可编辑逻辑阵列布线方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:解析组网布局文件,获取多组逻辑分组构成的第一布局,组网布局文件描述可编辑逻辑阵列的硬件资源信息以及逻辑分组在所述可编辑逻辑阵列上的布局;寻找第一布局的布局中心点,构建极坐标系,并计算出每个逻辑分组的极坐标,其中,第一坐标为逻辑分组与布局中心点与水平轴之间的角度,第二坐标为逻辑分组与布局中心点之间的距离长度;基于预设规则将所有逻辑分组按照它们的极坐标进行排序,得到组网布局文件的第一坐标数组;筛选器件布线数据库中所有与组网布局文件的坐标数组长度相同的参考布局;计算参考布局的理论坐标数组与第一坐标数组的差异度;根据差异度最小的参考布局的布线结果对组网布局文件进行布线,得到可编辑逻辑阵列的布线。
在一个实施例中,处理器执行计算机程序时实现的寻找第一布局的布局中心点,构建极坐标系,包括:以第一布局的左下为直角坐标系原点,计算当前布局场景中的所有逻辑分组的坐标值;设定坐标值的平均值为布局中心点,并以布局中心点为原点,构建极坐标系。
在一个实施例中,处理器执行计算机程序时实现的计算参考布局的理论坐标数组与第一坐标数组的差异度,包括:根据理论坐标数组与第一坐标数组的第一坐标计算转动角度;计算参考布局的理论坐标数组与第一坐标数组的第一差异度;将第一坐标数组中各第一坐标叠加转动角度,并根据叠加后的第一坐标对当前坐标数据进行调整得到第二坐标数组;计算理论坐标数组与第二坐标数组的第二差异度;重复上述两个步骤,直至第二坐标数组与第一坐标数组一致;将第一差异度和第二差异度中的最小值设定为参考布局的理论坐标数组与第一坐标数组的差异度。
在一个实施例中,处理器执行计算机程序时实现的根据差异度最小的参考布局的布线结果对组网布局文件进行布线,得到可编辑逻辑阵列的布线,包括:当判定差异度值达到第一阈值时,获取参考布局的布线结果;将逻辑分组按照参考布局对应的理论坐标数组形成可编辑逻辑阵列的布线。
在一个实施例中,处理器执行计算机程序时实现的根据差异度最小的参考布局的布线结果对组网布局文件进行布线,得到可编辑逻辑阵列的布线,包括:当判定差异度值位于第一阈值和第二阈值之间时,获取参考布局的布线结果;将逻辑分组按照参考布局对应的理论坐标数组形成初始布线;将有布局有位置差异的逻辑分组按照最短路径的方式与参考布局的理论坐标数组所在的参考位置相连,并根据连接后的连线对初始布线进行调整形成可编辑逻辑阵列的布线。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:解析组网布局文件,获取多组逻辑分组构成的第一布局,组网布局文件描述可编辑逻辑阵列的硬件资源信息以及逻辑分组在所述可编辑逻辑阵列上的布局;寻找第一布局的布局中心点,构建极坐标系,并计算出每个逻辑分组的极坐标,其中,第一坐标为逻辑分组与布局中心点与水平轴之间的角度,第二坐标为逻辑分组与布局中心点之间的距离长度;基于预设规则将所有逻辑分组按照它们的极坐标进行排序,得到组网布局文件的第一坐标数组;筛选器件布线数据库中所有与组网布局文件的坐标数组长度相同的参考布局;计算参考布局的理论坐标数组与第一坐标数组的差异度;根据差异度最小的参考布局的布线结果对组网布局文件进行布线,得到可编辑逻辑阵列的布线。
在一个实施例中,计算机程序被处理器执行时实现的寻找第一布局的布局中心点,构建极坐标系,包括:以第一布局的左下为直角坐标系原点,计算当前布局场景中的所有逻辑分组的坐标值;设定坐标值的平均值为布局中心点,并以布局中心点为原点,构建极坐标系。
在一个实施例中,计算机程序被处理器执行时实现的计算参考布局的理论坐标数组与第一坐标数组的差异度,包括:根据理论坐标数组与第一坐标数组的第一坐标计算转动角度;计算参考布局的理论坐标数组与第一坐标数组的第一差异度;将第一坐标数组中各第一坐标叠加转动角度,并根据叠加后的第一坐标对当前坐标数据进行调整得到第二坐标数组;计算理论坐标数组与第二坐标数组的第二差异度;重复上述两个步骤,直至第二坐标数组与第一坐标数组一致;将第一差异度和第二差异度中的最小值设定为参考布局的理论坐标数组与第一坐标数组的差异度。
在一个实施例中,计算机程序被处理器执行时实现的根据差异度最小的参考布局的布线结果对组网布局文件进行布线,得到可编辑逻辑阵列的布线,包括:当判定差异度值达到第一阈值时,获取参考布局的布线结果;将逻辑分组按照参考布局对应的理论坐标数组形成可编辑逻辑阵列的布线。
在一个实施例中,计算机程序被处理器执行时实现的根据差异度最小的参考布局的布线结果对组网布局文件进行布线,得到可编辑逻辑阵列的布线,包括:当判定差异度值位于第一阈值和第二阈值之间时,获取参考布局的布线结果;将逻辑分组按照参考布局对应的理论坐标数组形成初始布线;将有布局有位置差异的逻辑分组按照最短路径的方式与参考布局的理论坐标数组所在的参考位置相连,并根据连接后的连线对初始布线进行调整形成可编辑逻辑阵列的布线。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种可编辑逻辑阵列布线方法,其特征在于,包括:
解析组网布局文件,获取多组逻辑分组构成的第一布局,所述组网布局文件描述可编辑逻辑阵列的硬件资源信息以及所述逻辑分组在所述可编辑逻辑阵列上的布局;
寻找所述第一布局的布局中心点,构建极坐标系,并计算出每个逻辑分组的极坐标,其中,第一坐标为所述逻辑分组与所述布局中心点与水平轴之间的角度,第二坐标为所述逻辑分组与所述布局中心点之间的距离长度;
基于预设规则将所有所述逻辑分组按照它们的极坐标进行排序,得到所述组网布局文件的第一坐标数组;
筛选器件布线数据库中所有与所述组网布局文件的坐标数组长度相同的参考布局;
计算所述参考布局的理论坐标数组与所述第一坐标数组的差异度;
根据差异度最小的所述参考布局的布线结果对所述组网布局文件进行布线,得到可编辑逻辑阵列的布线。
2.根据权利要求1所述的方法,其特征在于,所述寻找所述第一布局的布局中心点,构建极坐标系,包括:
以所述第一布局的左下为直角坐标系原点,计算当前布局场景中的所有逻辑分组的坐标值;
设定所述坐标值的平均值为布局中心点,并以所述布局中心点为原点,构建极坐标系。
3.根据权利要求1所述的方法,其特征在于,所述计算所述参考布局的理论坐标数组与所述第一坐标数组的差异度,包括:
根据所述理论坐标数组与所述第一坐标数组的第一坐标计算转动角度;
计算所述参考布局的理论坐标数组与所述第一坐标数组的第一差异度;
将所述第一坐标数组中各所述第一坐标叠加转动角度,并根据叠加后的第一坐标对所述当前坐标数据进行调整得到第二坐标数组;
计算所述理论坐标数组与所述第二坐标数组的第二差异度;
重复上述两个步骤,直至所述第二坐标数组与所述第一坐标数组一致;
将所述第一差异度和所述第二差异度中的最小值设定为所述参考布局的理论坐标数组与所述第一坐标数组的差异度。
4.根据权利要求1所述的方法,其特征在于,所述根据差异度最小的所述参考布局的布线结果对所述组网布局文件进行布线,得到可编辑逻辑阵列的布线,包括:
当判定所述差异度值达到第一阈值时,获取所述参考布局的布线结果;
将所述逻辑分组按照所述参考布局对应的理论坐标数组形成可编辑逻辑阵列的布线。
5.根据权利要求1所述的方法,其特征在于,所述根据差异度最小的所述参考布局的布线结果对所述组网布局文件进行布线,得到可编辑逻辑阵列的布线,包括:
当判定所述差异度值位于第一阈值和第二阈值之间时,获取所述参考布局的布线结果;
将所述逻辑分组按照所述参考布局对应的理论坐标数组形成初始布线;
将有布局有位置差异的逻辑分组按照最短路径的方式与所述参考布局的理论坐标数组所在的参考位置相连,并根据连接后的连线对所述初始布线进行调整形成可编辑逻辑阵列的布线。
6.根据权利要求1所述的方法,其特征在于,所述预设规则为将所有所述逻辑分组按照第一坐标的值从小到大的顺序进行排序,当第一坐标的值相等时根据第二坐标的值从小到大的顺序进行排序。
7.一种可编辑逻辑阵列布线装置,其特征在于,所述装置包括:
第一布局解析模块,用于解析组网布局文件,获取多组逻辑分组构成的第一布局,所述组网布局文件描述可编辑逻辑阵列的硬件资源信息以及所述逻辑分组在所述可编辑逻辑阵列上的布局;
极坐标系构建模块,用于寻找所述第一布局的布局中心点,构建极坐标系,并计算出每个逻辑分组的极坐标,其中,第一坐标为所述逻辑分组与所述布局中心点与水平轴之间的角度,第二坐标为所述逻辑分组与所述布局中心点之间的距离长度;
数组生成模块,用于基于预设规则将所有所述逻辑分组按照它们的极坐标进行排序,得到所述组网布局文件的第一坐标数组;
参考布局筛选模块,用于筛选器件布线数据库中所有与所述组网布局文件的坐标数组长度相同的参考布局;
差异度计算模块,用于计算所述参考布局的理论坐标数组与所述第一坐标数组的差异度;
布线模块,用于根据差异度最小的所述参考布局的布线结果对所述组网布局文件进行布线,得到可编辑逻辑阵列的布线。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210701034.8A CN114781300B (zh) | 2022-06-21 | 2022-06-21 | 可编辑逻辑阵列布线方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210701034.8A CN114781300B (zh) | 2022-06-21 | 2022-06-21 | 可编辑逻辑阵列布线方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114781300A true CN114781300A (zh) | 2022-07-22 |
CN114781300B CN114781300B (zh) | 2022-09-09 |
Family
ID=82421744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210701034.8A Active CN114781300B (zh) | 2022-06-21 | 2022-06-21 | 可编辑逻辑阵列布线方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114781300B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117473939A (zh) * | 2023-12-28 | 2024-01-30 | 苏州元脑智能科技有限公司 | Pcb模块化布局器件匹配方法、装置、电子设备及介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5348558A (en) * | 1992-04-23 | 1994-09-20 | Mitsubishi Denki Kabushiki Kaisha | Layout pattern generating apparatus |
JPH09138817A (ja) * | 1995-11-15 | 1997-05-27 | Nec Corp | 集積回路設計装置及び設計方法 |
US6035106A (en) * | 1997-04-28 | 2000-03-07 | Xilinx, Inc. | Method and system for maintaining hierarchy throughout the integrated circuit design process |
US6157214A (en) * | 1998-07-06 | 2000-12-05 | Hewlett-Packard Company | Wiring of cells in logic arrays |
US20030014722A1 (en) * | 2001-07-12 | 2003-01-16 | Taizo Munemura | Automatic layout design method of wirings in semiconductor integrated circuit |
US20040163067A1 (en) * | 2003-02-13 | 2004-08-19 | Migliore Robert Jared | Method and apparatus for layout of high speed digital logic for datapath portions of microprocessor integrated circuits |
CN102768692A (zh) * | 2011-05-06 | 2012-11-07 | 中国科学院微电子研究所 | 应用于fpga测试的导航布局布线方法 |
US20130339913A1 (en) * | 2012-06-15 | 2013-12-19 | Evgeni Stavinov | Semi-automated method of FPGA timing closure |
CN106709119A (zh) * | 2015-11-18 | 2017-05-24 | 京微雅格(北京)科技有限公司 | 一种fpga芯片布线方法 |
US20180165400A1 (en) * | 2016-12-12 | 2018-06-14 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and Computer Program for Determining a Placement of at least one Circuit for a Reconfigurable Logic Device |
CN109284578A (zh) * | 2018-02-27 | 2019-01-29 | 上海安路信息科技有限公司 | 逻辑电路布局布线方法、图形化显示方法及其系统 |
CN109657349A (zh) * | 2018-12-18 | 2019-04-19 | 深圳忆联信息系统有限公司 | Soc芯片现场可编程逻辑阵列原型综合的方法及其系统 |
US20190370431A1 (en) * | 2018-05-31 | 2019-12-05 | International Business Machines Corporation | Coordinates-based generative adversarial networks for generating synthetic physical design layout patterns |
CN110874517A (zh) * | 2018-08-10 | 2020-03-10 | 北京大学 | 一种快速验证fpga互连线连接正确的方法 |
CN113836858A (zh) * | 2021-09-13 | 2021-12-24 | 深圳市紫光同创电子有限公司 | 芯片布局方法 |
-
2022
- 2022-06-21 CN CN202210701034.8A patent/CN114781300B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5348558A (en) * | 1992-04-23 | 1994-09-20 | Mitsubishi Denki Kabushiki Kaisha | Layout pattern generating apparatus |
JPH09138817A (ja) * | 1995-11-15 | 1997-05-27 | Nec Corp | 集積回路設計装置及び設計方法 |
US6035106A (en) * | 1997-04-28 | 2000-03-07 | Xilinx, Inc. | Method and system for maintaining hierarchy throughout the integrated circuit design process |
US6157214A (en) * | 1998-07-06 | 2000-12-05 | Hewlett-Packard Company | Wiring of cells in logic arrays |
US20030014722A1 (en) * | 2001-07-12 | 2003-01-16 | Taizo Munemura | Automatic layout design method of wirings in semiconductor integrated circuit |
US20040163067A1 (en) * | 2003-02-13 | 2004-08-19 | Migliore Robert Jared | Method and apparatus for layout of high speed digital logic for datapath portions of microprocessor integrated circuits |
CN102768692A (zh) * | 2011-05-06 | 2012-11-07 | 中国科学院微电子研究所 | 应用于fpga测试的导航布局布线方法 |
US20130339913A1 (en) * | 2012-06-15 | 2013-12-19 | Evgeni Stavinov | Semi-automated method of FPGA timing closure |
CN106709119A (zh) * | 2015-11-18 | 2017-05-24 | 京微雅格(北京)科技有限公司 | 一种fpga芯片布线方法 |
US20180165400A1 (en) * | 2016-12-12 | 2018-06-14 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and Computer Program for Determining a Placement of at least one Circuit for a Reconfigurable Logic Device |
CN109284578A (zh) * | 2018-02-27 | 2019-01-29 | 上海安路信息科技有限公司 | 逻辑电路布局布线方法、图形化显示方法及其系统 |
US20190370431A1 (en) * | 2018-05-31 | 2019-12-05 | International Business Machines Corporation | Coordinates-based generative adversarial networks for generating synthetic physical design layout patterns |
CN110874517A (zh) * | 2018-08-10 | 2020-03-10 | 北京大学 | 一种快速验证fpga互连线连接正确的方法 |
CN109657349A (zh) * | 2018-12-18 | 2019-04-19 | 深圳忆联信息系统有限公司 | Soc芯片现场可编程逻辑阵列原型综合的方法及其系统 |
CN113836858A (zh) * | 2021-09-13 | 2021-12-24 | 深圳市紫光同创电子有限公司 | 芯片布局方法 |
Non-Patent Citations (4)
Title |
---|
NIANSONG ZHANG等: ""RapidLayout: Fast Hard Block Placement of FPGA-Optimized Systolic Arrays using Evolutionary Algorithms"", 《2020 30TH INTERNATIONAL CONFERENCE ON FIELD-PROGRAMMABLE LOGIC AND APPLICATIONS (FPL)》 * |
RUSTAM ZH. CHOCHAEV等: ""Evaluating FPGA Routing Architectures with Complex Grid Layouts"", 《2021 IEEE CONFERENCE OF RUSSIAN YOUNG RESEARCHERS IN ELECTRICAL AND ELECTRONIC ENGINEERING (ELCONRUS)》 * |
王德奎: ""一种利用资源协商的FPGA布局方法"", 《西安电子科技大学学报》 * |
陈亮等: ""针对一种岛式FPGA布局布线方法的研究与改进"", 《微电子学与计算机》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117473939A (zh) * | 2023-12-28 | 2024-01-30 | 苏州元脑智能科技有限公司 | Pcb模块化布局器件匹配方法、装置、电子设备及介质 |
CN117473939B (zh) * | 2023-12-28 | 2024-03-08 | 苏州元脑智能科技有限公司 | Pcb模块化布局器件匹配方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114781300B (zh) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6651235B2 (en) | Scalable, partitioning integrated circuit layout system | |
Li et al. | Routability-driven placement and white space allocation | |
CN106919769B (zh) | 一种基于多层次方法和赋权超图的层次式fpga布局布线方法 | |
Shen et al. | A new binomial mapping and optimization algorithm for reduced-complexity mesh-based on-chip network | |
US5930499A (en) | Method for mixed placement of structured and non-structured circuit elements | |
US20030005398A1 (en) | Timing-driven global placement based on geometry-aware timing budgets | |
Dai | Hierarchical placement and floorplanning in BEAR | |
CN114781300B (zh) | 可编辑逻辑阵列布线方法、装置、设备和存储介质 | |
CN113255264B (zh) | 增量分割处理方法、装置、计算机设备和存储介质 | |
US8479063B2 (en) | Failure analyzing device and failure analyzing method | |
US20120233575A1 (en) | Layout method for integrated circuit including vias | |
CN103888541A (zh) | 一种融合拓扑势和谱聚类的社区发现方法及系统 | |
CN110298687B (zh) | 一种区域吸引力评估方法及设备 | |
CN113190939B (zh) | 基于多边形系数的大型稀疏复杂网络拓扑分析和简化方法 | |
Ghose et al. | Generalizable cross-graph embedding for gnn-based congestion prediction | |
Ailon et al. | Fitting tree metrics: Hierarchical clustering and phylogeny | |
CN112232010B (zh) | 可编程逻辑器件分组方法和装置 | |
CN113919266A (zh) | 可编程器件的时钟规划方法、装置、电子设备及存储介质 | |
Russo et al. | LAMBDA: An open framework for deep neural network accelerators simulation | |
Radhakrishnan Nair et al. | An efficient partitioning and placement based fault TSV detection in 3D-IC using deep learning approach | |
KR101350782B1 (ko) | 데이터 샘플링 방법 및 장치 | |
CN112183001A (zh) | 一种基于超图的多级聚类方法 | |
CN116401992A (zh) | 一种节点路由路径优化方法及装置 | |
US10460064B1 (en) | Partition-aware grid graph based hierarchical global routing | |
CN116090396A (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 | ||
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. |