CN114330173B - 边界节点连接关系获取方法、装置、设备和存储介质 - Google Patents
边界节点连接关系获取方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114330173B CN114330173B CN202210217757.0A CN202210217757A CN114330173B CN 114330173 B CN114330173 B CN 114330173B CN 202210217757 A CN202210217757 A CN 202210217757A CN 114330173 B CN114330173 B CN 114330173B
- Authority
- CN
- China
- Prior art keywords
- boundary
- nodes
- node
- connection relation
- 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.)
- Active
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供了一种边界节点连接关系获取方法、装置、计算机设备和存储介质,属于集成电路芯片设计领域,方法包括解析携带有预设节点的设计文件,设计文件用于描述电路系统的各电路节点的结构以及电路节点之间的连接关系,并提取连接关系生成与电路节点对应的语法树图;采用边界寻找算法对所述语法树图进行寻找,得到与所述语法树图对应的分割边界;根据所述语法树图从顶部节点开始逐层获取所有所述电路节点之间的连接关系,直至获取到所述分割边界的边界节点与其他所述电路节点之间的连接关系,得到边界节点连接关系。通过本申请的处理方案,在不破坏实例树层级结构的条件下完成连接关系提取。
Description
技术领域
本发明涉及集成电路芯片设计领域,具体涉及一种边界节点连接关系获取方法、装置、计算机设备和存储介质。
背景技术
当前用户设计规模较大,为了对用户设计进行验证,不得不将用户设计分割为多个部分,将各部分分配至验证系统中的各个逻辑阵列中分别运行,众多逻辑阵列组成的验证系统,彼此之间通过互连线进行连接通信。
在对用户设计进行分割之前,首先要确定分割边界,然后再获取边界节点之间的连接关系。确定分割边界即确定实例树在怎样的结构层次上参与分割,对于每个边界节点,其下方的子树将被看作整体处理,不会再深入子树内部分析。边界节点集合形成的分割边界将会把整棵实例树完整地分割为上下两部分,其中实例树在边界上的部分,包含着边界节点的连接关系。
然而,在现有技术中获取分割边界中节点的连接关系的方法为:从分割边界每个节点开始,由下向上向顶层方向,不断消解父节点的层级结构,将边界节点在实例树中上移,取代原有父节点的位置,逐步暴露分割边界节点对外连接细节,直至所有边界节点上移到顶层,顶层中边界节点之间连接关系即为最终结果。这种消解层级结构的方法必须在实例树上进行操作,在这个过程中,不可逆地破坏了实例树的内部层级结构,丢失了各个节点的层级信息,使实例树在边界上方的部分仅存在单层层级,整个方法不仅低效、慢速。另外,为了保留层级信息,通常需要在该方法实施前复制实例树或额外记录各节点的层级信息,需要浪费计算时间与存储资源。
发明内容
因此,为了克服上述现有技术的缺点,本发明提供一种在不破坏实例树层级结构的条件下完成连接关系提取的边界节点连接关系获取方法、装置、计算机设备和存储介质。
为了实现上述目的,本发明提供一种边界节点连接关系获取方法,包括:解析携带有预设节点的设计文件,所述设计文件用于描述电路系统的各电路节点的结构以及电路节点之间的连接关系,并提取所述连接关系生成与所述电路节点对应的语法树图;采用边界寻找算法对所述语法树图进行寻找,得到与所述语法树图对应的分割边界;根据所述语法树图从顶部节点开始逐层获取所有所述电路节点之间的连接关系,直至获取到所述分割边界的边界节点与其他所述电路节点之间的连接关系,得到边界节点连接关系。
在其中一个实施例中,所述获取到所述分割边界的边界节点与其他所述电路节点之间的连接关系,得到边界节点连接关系之后,还包括:根据所述边界节点连接关系获取目标节点对对应的所有边界连线;统计各所述边界连线连接的边界节点总数;根据所述边界节点总数计算各所述边界连线对所述目标节点对的权重值。
在其中一个实施例中,所述根据所述语法树图从顶部节点开始逐层获取所有所述电路节点之间的连接关系,直至获取到所述分割边界的边界节点与其他所述电路节点之间的连接关系,得到边界节点连接关系,包括:获取所述语法树图的顶部节点的连接关系形成第一节点连接图;基于逻辑程序块之间的连接端口及与该连接端口连接的第二节点,对所述第一节点连接图进行迭代更新,得到第二节点连接图;直至迭代到所述分割边界的边界节点,获取到所述边界节点与其他所述电路节点之间的连接关系,得到边界节点连接关系。
本发明还提供了一种边界节点连接关系获取装置,所述装置包括:语法树图生成模块,用于解析携带有预设节点的设计文件,所述设计文件用于描述电路系统的各电路节点的结构以及电路节点之间的连接关系,并提取所述连接关系生成与所述电路节点对应的语法树图;边界寻找模块,用于采用边界寻找算法对所述语法树图进行寻找,得到与所述语法树图对应的分割边界;连接关系提取模块,用于根据所述语法树图从顶部节点开始逐层获取所有所述电路节点之间的连接关系,直至获取到所述分割边界的边界节点与其他所述电路节点之间的连接关系,得到边界节点连接关系。
本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
与现有技术相比,本发明的优点在于:将语法树图转换为层级网表文件,通过对层级网表文件进行分析在不破坏实例树层级结构的条件下完成连接关系提取。并且边界节点连接关系的提取是从顶层向下,与对设计解析的过程方向相同,所以本方案的分割边界节点连接关系的获取过程可以和解析过程在同一执行过程中进行,所以节省了时间。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明的实施例中边界节点连接关系获取方法的流程示意图;
图2是本发明的实施例中层级网表图的示意图;
图3是本发明的实施例中与图2层级网表图的实例树图;
图4是本发明的实施例中电路中连接关系示意图;
图5是本发明的实施例中与图4对应的电路权重值图;
图6是本发明的实施例中与图4对应的关系迭代图;
图7是本发明的实施例中边界节点连接关系获取装置的结构框图;
图8是本发明的实施例中计算机设备的内部结构图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本申请,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目和方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践方面。
如图1所示,本申请实施例提供一种边界节点连接关系获取方法,可以应用在终端或服务器上,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式智能设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现,方法包括以下步骤:
步骤101,解析携带有预设节点的设计文件,设计文件用于描述电路系统的各电路节点的结构以及电路节点之间的连接关系,并提取连接关系生成与电路节点对应的语法树图。
设计文件用于描述电路系统的各电路节点的结构以及电路节点之间的连接关系。设计文件中包含很多逻辑程序块(module),逻辑程序块间存在嵌套或并列等关系,每个逻辑程序块与电路系统的各电路节点对应。电路节点可以是一个或多个电子元件。设计文件可以是Verilog,vhdl,systemVerilog等格式文件;网表是RTL经过RTL逻辑综合后形成的网状数据结构,同样描述了用户的设计逻辑,RTL或网表设计通过语法解析器在内存中形成语法树图。RTL可以通过逻辑综合过程转化为网表。 RTL和网表均都有层级嵌套结构,都有包含逻辑功能的逻辑程序块,逻辑程序块和逻辑程序块之间有通信信号,信号也可以穿过逻辑程序块传递到内部。
服务器在对设计文件进行解析(Parse)过程中,module可以被实例化为逻辑实例(Instance)并形成有层次关系的树状结构-语法树(InstanceTree)图,Instance就是语法树图中的节点(Node)。Instance内含了逻辑功能,Instance之间存在连线关系。每个Instance唯一对应了一个Module,Module之间的嵌套关系形成了语法树中父子节点的连接关系,父节点中的逻辑关系中也包含子节点之间的连接关系。
预设节点是指在该设计文件中不可以被分割的节点,在语法树图中,该节点以及其下方的所有节点被当作整体形成一个颗粒,FPGA直接将该部分代表的实例作为黑盒运行。以网表或者RTL形式呈现的用户设计,在被EDA工具解析后,会在内存中生成树形结构的语法树,在语法树中,树中的节点代表着被实例化的逻辑程序块,树中的连线代表着实例关系,即连线两端对应的节点,上层的为父节点,下层的为子节点,子节点在父节点对应的module中被实例化,也就是子节点对应的module在父节点对应的module内部被声明。最顶层节点对应用户设计的top module,最底部的节点被称为叶子节点,顶层与底层之间的节点被称为茎节点。服务器解析携带有预设节点的设计文件,并提取连接关系生成与电路节点对应的语法树图。
步骤102,采用边界寻找算法对语法树图进行分割,得到与语法树图对应的分割边界。
服务器采用边界寻找算法对语法树图进行分割,得到与语法树图对应的分割边界。边界寻找算法可以是常见的语法树边界寻找算法,也可以让用户配置预设节点(fix节点)后,再对语法树的边界进行识别。服务器可以根据用户配置确定fix节点,其中,关于分割边界节点的规则:fix节点的直接祖先节点均不能在分割边界中(因为具有共同祖先节点的不同fix节点,可能有不同的分配逻辑阵列位置,如果其祖先节点在分割边界中,以祖先节点为顶点的子树会被看作整体处理,那么这两个fix节点必然要分配到相同的逻辑阵列位置,造成矛盾)。服务器先设置fix节点的所有直接祖先节点为分割边界禁止点。某节点的祖先节点为该节点的父节点以及父节点的向上所有递归父节点。而后,服务器找到包含fix节点、同时又不能包含分割边界禁止点、位置又最靠上的节点集合。位置最靠上是指最贴近顶层,这是为了保证分割边界中节点数量的最小化,最小化边界节点数量,也就使得图结构中的节点数量最少,目的是加快分割速度。所以,分割边界通常是一种开口向上的、边界节点数量最小的、满足用户指定位置节点要求的、具有包络形状的一条边界。所以,把分割边界禁止点的非fix子节点全部为包络中最上层的普通节点。最后,服务器设置fix节点和最上层普通包络节点的合集即为分割边界。
步骤103,根据语法树图从顶部节点开始逐层获取所有电路节点之间的连接关系,直至获取到分割边界的边界节点与其他电路节点之间的连接关系,得到边界节点连接关系。
服务器根据语法树图从顶部节点开始逐层获取所有电路节点之间的连接关系,直至获取到分割边界的边界节点与其他电路节点之间的连接关系,得到边界节点连接关系。
如图2所示,设计文件可以用层级网表图显示,空心长方形代表了用户逻辑程序块,节点之间有实例化关系,表示为嵌套关系,比如在节点A中实例化了B、C、F节点,那么体现为B、C、F节点被包含在A中;其中实心长方形代表了节点的端口,端口作为节点之间通信的通道,图3中每个节点的左上端口可以为输入,右下端口可以为输出;其中的直线和折线代表着连线(net),每根net可以连接超过两个端口。在步骤102中可获得分割边界,假设边界为节点B、D、E、H所组成的节点集合,边界节点下方则视为整体,不再展示细节。图2层级网表图对应的实例树如图3所示。
关联连线(h_net)是在相邻嵌套的两个节点之间,在父节点跟子节点进行通信的连线,被称为相对于子节点来说的h_net,也就是高层级关联连线。以图2为例,当边界为节点B,D,E,H所组成的节点集合时,B-F、C-F、C-P6、F-P4、F-P5等等之间的连线均为关联连线(h_net)。
服务器根据语法树图从顶部节点开始逐层获取所有电路节点之间的连接关系(h_net),直至获取到分割边界的边界节点与其他电路节点之间的连接关系,得到边界节点连接关系。
上述边界节点连接关系获取方法,通过对层级网表文件进行分析在不破坏实例树层级结构的条件下完成连接关系提取。并且提取分割边界节点连接关系的过程和用户设计解析过程是结合在一起进行的,无需等待拆解实例树等,可以进一步地节约时间。
在其中一个实施例中,获取到分割边界的边界节点与其他电路节点之间的连接关系,得到边界节点连接关系之后,方法还包括以下步骤:根据边界节点连接关系获取目标节点对对应的所有边界连线;统计各边界连线连接的边界节点总数;根据边界节点总数计算各边界连线对目标节点对的权重值。
电路设计中的连线可以连接多个节点,每个节点也可以连接多条连线,所以在本实施例中两个节点之间的边权不是简单地依据于两个节点之间存在连线的数量和位宽,而是基于两个原则而决定的:1、两个节点之间的连线数量越多,边权越大;2、对于某根连线来说,它所连接的节点越少,它对边权的贡献越大。图结构中的两个节点之间的边权代表着两个节点的紧密程度,这种紧密程度是相对于分割过程来说的,也就是说分割算法始终要把紧密程度低的节点分开,连接紧密度高的节点不分开;对于某根连线来说,如果它自身连接的其他节点数越多,说明该连线所连接的目标节点对,它们所形成的连接关系广泛存在于当前网表,目标节点对的连接关系过于普通,并非重要、紧密;相反,如果某连线自身连接的节点对越少,甚至只存在于目标节点对之间,那么目标节点对之间的连接就很稀有和重要,该种连线对紧密度的贡献也越大。
以图4中电路中连接为例,该图中将不同连线对的连线采用不同线条显示,其中共存在三条连线:a连线连接了三个节点B,C,D;b连线连接A,B,D;c连线连接D,E。以B,D目标节点对为例,服务器计算两个节点形成的节点对之间连线的权重的计算方法为:服务器根据边界节点连接关系获取目标节点对对应的所有边界连线,例如,B,D之间存在a和b两条连线;服务器统计各边界连线连接的边界节点总数,例如,服务器统计目标节点对中a连线一共连接的3个节点(B,C,D),b连线一共连接了3个节点;服务器根据边界节点总数计算各边界连线对目标节点对的权重值,计算目标节点对之间每根连线对目标节点对紧密度(权重)的贡献值并求和,每根连线的贡献值为: 1 /(该连线连接节点总数–1)。那么,B,D之间的连接权重就是 1/2 + 1/2 = 1。
同理,可计算任意两个节点对之间的权重,节点对之间如果不存在任何连线,则权重为0,即在权重图中没有连线,因而图4中的各节点对之间的权重系数如图5所示。
上述边界节点连接关系获取方法,从分割过程的角度出发,优化边权的定义和计算方法,提高了分割结果的质量。
在其中一个实施例中,根据语法树图从顶部节点开始逐层获取所有电路节点之间的连接关系,直至获取到分割边界的边界节点与其他电路节点之间的连接关系,得到边界节点连接关系,包括:获取语法树图的顶部节点的连接关系形成第一节点连接图;基于节点之间的连接端口及与该连接端口连接的第二节点,对第一节点连接图进行迭代更新,得到第二节点连接图;直至迭代到分割边界的边界节点,获取到边界节点与其他电路节点之间的连接关系,得到边界节点连接关系。
服务器获取语法树图的顶部节点,例如从顶层节点A开始,方向向下(top-down)直至分割边界进行多次相同操作的迭代处理:
1)服务器将A作为顶层节点,提取顶层节点A中子节点(即第一节点)之间的连接关系,形成第一节点连接图,如图6中的迭代1所示。服务器筛选所有h_net,根据h_net的方向获取下一轮迭代需要进入的节点。如在A中,获取B,C,F的连接关系,并筛选出P2-C之间、B-F之间、C-F之间、C-P6之间、F-P4之间、F-P5之间的连线为h_net。服务器基于逻辑程序块之间的连接端口进而确定下一轮迭代需要进一步分析连接关系的节点在C、F之中,C、F节点为第二节点。
2)服务器基于逻辑程序块之间的连接端口及与该连接端口连接的第二节点C,F进行迭代更新,根据与h_net连接的、待提取节点的内部的连线连接的内部子节点,获得h_net与连接关系待提取节点的内部子节点的连接关系,更新第二节点连接图,并将连接关系待提取节点如C,F作为目标节点;
3)当实例图存在更多层节点时,重复步骤(1)~(2),直至迭代到分割边界的边界节点,停止迭代,获取到边界节点与其他电路节点之间的连接关系,得到边界节点连接关系。
该过程是从上到下,以h_net为线索,逐层获取连接关系,直至分割边界。该过程在独立内存空间中不断细化连接图,不修改、不破坏用户设计实例树的任何层级结构。
在一个实施例中,如图7所示,提供了一种边界节点连接关系获取装置,装置包括语法树图生成模块701、边界寻找模块702和连接关系提取模块703。
语法树图生成模块701,用于解析携带有预设节点的设计文件,设计文件用于描述电路系统的各电路节点的结构以及电路节点之间的连接关系,并提取连接关系生成与电路节点对应的语法树图。
边界寻找模块702,用于采用边界寻找算法对语法树图进行寻找,得到与语法树图对应的分割边界。
连接关系提取模块703,用于根据语法树图从顶部节点开始逐层获取所有电路节点之间的连接关系,直至获取到分割边界的边界节点与其他电路节点之间的连接关系,得到边界节点连接关系。
在其中一个实施例中,装置还包括:
连线获取模块,用于根据边界节点连接关系获取目标节点对对应的所有边界连线。
节点统计模块,用于统计各边界连线连接的边界节点总数。
权重计算模块,用于根据边界节点总数计算各边界连线对目标节点对的权重值。
在其中一个实施例中,连接关系提取模块包括:
第一节点连接图生成单元,用于获取语法树图的顶部节点的连接关系形成第一节点连接图。
第二节点连接图生成单元,用于基于逻辑程序块之间的连接端口及与该连接端口连接的第二节点,对第一节点连接图进行迭代更新,得到第二节点连接图。
连线关系提取单元,用于直至迭代到分割边界的边界节点,获取到边界节点与其他电路节点之间的连接关系,得到边界节点连接关系。
关于边界节点连接关系获取装置的具体限定可以参见上文中对于边界节点连接关系获取方法的限定,在此不再赘述。上述边界节点连接关系获取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储语法树图、层级网表文件等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种边界节点连接关系获取方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:解析携带有预设节点的设计文件,设计文件用于描述电路系统的各电路节点的结构以及电路节点之间的连接关系,并提取连接关系生成与电路节点对应的语法树图;采用边界寻找算法对语法树图进行寻找,得到与语法树图对应的分割边界;根据语法树图从顶部节点开始逐层获取所有电路节点之间的连接关系,直至获取到分割边界的边界节点与其他电路节点之间的连接关系,得到边界节点连接关系。
在一个实施例中,处理器执行计算机程序时实现的获取到分割边界的边界节点与其他电路节点之间的连接关系,得到边界节点连接关系之后,还包括:根据边界节点连接关系获取目标节点对对应的所有边界连线;统计各边界连线连接的边界节点总数;根据边界节点总数计算各边界连线对目标节点对的权重值。
在一个实施例中,处理器执行计算机程序时实现的根据语法树图从顶部节点开始逐层获取所有电路节点之间的连接关系,直至获取到分割边界的边界节点与其他电路节点之间的连接关系,得到边界节点连接关系,包括:获取语法树图的顶部节点的连接关系形成第一节点连接图;基于逻辑程序块之间的连接端口及与该连接端口连接的第二节点,对第一节点连接图进行迭代更新,得到第二节点连接图;直至迭代到分割边界的边界节点,获取到边界节点与其他电路节点之间的连接关系,得到边界节点连接关系。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:解析携带有预设节点的设计文件,设计文件用于描述电路系统的各电路节点的结构以及电路节点之间的连接关系,并提取连接关系生成与电路节点对应的语法树图;采用边界寻找算法对语法树图进行寻找,得到与语法树图对应的分割边界;根据语法树图从顶部节点开始逐层获取所有电路节点之间的连接关系,直至获取到分割边界的边界节点与其他电路节点之间的连接关系,得到边界节点连接关系。
在一个实施例中,计算机程序被处理器执行时实现的获取到分割边界的边界节点与其他电路节点之间的连接关系,得到边界节点连接关系之后,还包括:根据边界节点连接关系获取目标节点对对应的所有边界连线;统计各边界连线连接的边界节点总数;根据边界节点总数计算各边界连线对目标节点对的权重值。
在一个实施例中,计算机程序被处理器执行时实现的根据语法树图从顶部节点开始逐层获取所有电路节点之间的连接关系,直至获取到分割边界的边界节点与其他电路节点之间的连接关系,得到边界节点连接关系,包括:获取语法树图的顶部节点的连接关系形成第一节点连接图;基于逻辑程序块之间的连接端口及与该连接端口连接的第二节点,对第一节点连接图进行迭代更新,得到第二节点连接图;直至迭代到分割边界的边界节点,获取到边界节点与其他电路节点之间的连接关系,得到边界节点连接关系。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种边界节点连接关系获取方法,其特征在于,包括:
解析携带有预设节点的设计文件,所述设计文件用于描述电路系统的各电路节点的结构以及电路节点之间的连接关系,并提取所述连接关系生成与所述电路节点对应的语法树图;
采用边界寻找算法对所述语法树图进行寻找,得到与所述语法树图对应的分割边界;其中,根据用户配置确定fix节点,fix节点的直接祖先节点均不能在分割边界中;设置fix节点的所有直接祖先节点为分割边界禁止点;找到包含fix节点、同时又不能包含分割边界禁止点、位置又最靠上的节点集合,把分割边界禁止点的非fix子节点全部为包络中最上层的普通节点;设置fix节点和最上层普通包络节点的合集即为分割边界;
根据所述语法树图从顶部节点开始逐层获取电路设计中的关联连线,进而获取所有所述电路节点之间的连接关系,直至获取到所述分割边界的边界节点与其他所述电路节点之间的连接关系,得到边界节点连接关系,关联连线是在相邻嵌套的两个节点之间,在父节点跟子节点进行通信的连线。
2.根据权利要求1所述的方法,其特征在于,所述获取到所述分割边界的边界节点与其他所述电路节点之间的连接关系,得到边界节点连接关系之后,还包括:
根据所述边界节点连接关系获取目标节点对对应的所有边界连线;
统计各所述边界连线连接的边界节点总数;
根据所述边界节点总数计算各所述边界连线对所述目标节点对的权重值。
3.根据权利要求1所述的方法,其特征在于,所述根据所述语法树图从顶部节点开始逐层获取所有所述电路节点之间的连接关系,直至获取到所述分割边界的边界节点与其他所述电路节点之间的连接关系,得到边界节点连接关系,包括:
获取所述语法树图的顶部节点的连接关系形成第一节点连接图;
基于逻辑程序块之间的连接端口及与该连接端口连接的第二节点,对所述第一节点连接图进行迭代更新,得到第二节点连接图;
直至迭代到所述分割边界的边界节点,获取到所述边界节点与其他所述电路节点之间的连接关系,得到边界节点连接关系。
4.一种边界节点连接关系获取装置,其特征在于,所述装置包括:
语法树图生成模块,用于解析携带有预设节点的设计文件,所述设计文件用于描述电路系统的各电路节点的结构以及电路节点之间的连接关系,并提取所述连接关系生成与所述电路节点对应的语法树图;
边界寻找模块,用于采用边界寻找算法对所述语法树图进行寻找,得到与所述语法树图对应的分割边界;其中,根据用户配置确定fix节点,fix节点的直接祖先节点均不能在分割边界中;设置fix节点的所有直接祖先节点为分割边界禁止点;找到包含fix节点、同时又不能包含分割边界禁止点、位置又最靠上的节点集合,把分割边界禁止点的非fix子节点全部为包络中最上层的普通节点;设置fix节点和最上层普通包络节点的合集即为分割边界;
连接关系提取模块,用于根据所述语法树图从顶部节点开始逐层获取电路设计中的关联连线,进而获取所有所述电路节点之间的连接关系,直至获取到所述分割边界的边界节点与其他所述电路节点之间的连接关系,得到边界节点连接关系,关联连线是在相邻嵌套的两个节点之间,在父节点跟子节点进行通信的连线。
5.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一项所述方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210217757.0A CN114330173B (zh) | 2022-03-08 | 2022-03-08 | 边界节点连接关系获取方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210217757.0A CN114330173B (zh) | 2022-03-08 | 2022-03-08 | 边界节点连接关系获取方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114330173A CN114330173A (zh) | 2022-04-12 |
CN114330173B true CN114330173B (zh) | 2023-03-28 |
Family
ID=81030836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210217757.0A Active CN114330173B (zh) | 2022-03-08 | 2022-03-08 | 边界节点连接关系获取方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114330173B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114781295B (zh) * | 2022-06-21 | 2022-09-09 | 上海国微思尔芯技术股份有限公司 | 一种逻辑电路规模缩减方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8694302B1 (en) * | 2006-05-31 | 2014-04-08 | Worldwide Pro Ltd. | Solving a hierarchical circuit network using a Barycenter compact model |
CN113255264A (zh) * | 2021-06-07 | 2021-08-13 | 上海国微思尔芯技术股份有限公司 | 增量分割处理方法、装置、计算机设备和存储介质 |
CN113255263A (zh) * | 2021-06-07 | 2021-08-13 | 上海国微思尔芯技术股份有限公司 | 颗粒带分割方法、装置、计算机设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8266571B2 (en) * | 2008-06-10 | 2012-09-11 | Oasis Tooling, Inc. | Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow |
CN112232017B (zh) * | 2020-12-17 | 2021-03-05 | 上海国微思尔芯技术股份有限公司 | 分割边界优化方法、装置、计算机设备和存储介质 |
CN112258515B (zh) * | 2020-12-24 | 2021-03-19 | 上海国微思尔芯技术股份有限公司 | 一种基于固定顶点的图分割方法 |
-
2022
- 2022-03-08 CN CN202210217757.0A patent/CN114330173B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8694302B1 (en) * | 2006-05-31 | 2014-04-08 | Worldwide Pro Ltd. | Solving a hierarchical circuit network using a Barycenter compact model |
CN113255264A (zh) * | 2021-06-07 | 2021-08-13 | 上海国微思尔芯技术股份有限公司 | 增量分割处理方法、装置、计算机设备和存储介质 |
CN113255263A (zh) * | 2021-06-07 | 2021-08-13 | 上海国微思尔芯技术股份有限公司 | 颗粒带分割方法、装置、计算机设备和存储介质 |
Non-Patent Citations (3)
Title |
---|
Shilin Fan ; Ping Li ; Yan Chen ; Lixue Chen.《IEEE》.2015,全文. * |
于庆 ; 王结臣 ; 陈焱明 ; .一种三角网边界提取的方法.测绘科学.2009,(第S2期),全文. * |
刘楠 ; 韩丽芳 ; 夏坤峰 ; 曲通 ; .一种改进的基于抽象语法树的软件源代码比对算法.信息网络安全.2014,(第01期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN114330173A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106919769B (zh) | 一种基于多层次方法和赋权超图的层次式fpga布局布线方法 | |
US6026228A (en) | Integrated circuit design method, database apparatus for designing integrated circuit and integrated circuit design support apparatus | |
US7917877B2 (en) | System and method for circuit schematic generation | |
US5497334A (en) | Application generator for use in verifying a hierarchical circuit design | |
US5663891A (en) | Optimization of multiple performance criteria of integrated circuits by expanding a constraint graph with subgraphs derived from multiple PWL convex cost functions | |
US5953236A (en) | Method and apparatus for implementing engineering change orders in integrated circuit designs | |
US5519628A (en) | System and method for formulating subsets of a hierarchical circuit design | |
US5471398A (en) | MTOL software tool for converting an RTL behavioral model into layout information comprising bounding boxes and an associated interconnect netlist | |
US20030005398A1 (en) | Timing-driven global placement based on geometry-aware timing budgets | |
CN113255264B (zh) | 增量分割处理方法、装置、计算机设备和存储介质 | |
US20120233575A1 (en) | Layout method for integrated circuit including vias | |
CN113255272B (zh) | 语句块封装方法、装置、电子设备及存储介质 | |
US7844924B2 (en) | Device for reducing the width of graph and a method to reduce the width of graph, and a device for logic synthesis and a method for logic synthesis | |
CN114330173B (zh) | 边界节点连接关系获取方法、装置、设备和存储介质 | |
US20230289502A1 (en) | Recovery of a hierarchical functional representation of an integrated circuit | |
CN113255263B (zh) | 颗粒带分割方法、装置、计算机设备和存储介质 | |
CN115758952A (zh) | 获取rtl包含层级的资源估算方法 | |
CN116822422A (zh) | 数字逻辑电路的分析优化方法及相关设备 | |
CN116911227A (zh) | 一种基于硬件的逻辑映射方法、装置、设备及存储介质 | |
CN114781300B (zh) | 可编辑逻辑阵列布线方法、装置、设备和存储介质 | |
US7073152B2 (en) | System and method for determining a highest level signal name in a hierarchical VLSI design | |
US7398486B2 (en) | Method and apparatus for performing logical transformations for global routing | |
Hong et al. | CASH: A novel quadratic placement algorithm for very large standard cell layout design based on clustering | |
CN113568598B (zh) | 基于yosys实现求和运算的FPGA逻辑综合方法及装置 | |
Cherry | CAD Programming in an Object Oriented Programming Environment |
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 |
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 Applicant 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 Applicant before: Shanghai Guowei silcore Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |