[go: up one dir, main page]

CN111488720B - A method, device and equipment for obtaining circuit wiring topology information - Google Patents

A method, device and equipment for obtaining circuit wiring topology information Download PDF

Info

Publication number
CN111488720B
CN111488720B CN202010269856.4A CN202010269856A CN111488720B CN 111488720 B CN111488720 B CN 111488720B CN 202010269856 A CN202010269856 A CN 202010269856A CN 111488720 B CN111488720 B CN 111488720B
Authority
CN
China
Prior art keywords
parallel
sides
line segment
center line
find
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
Application number
CN202010269856.4A
Other languages
Chinese (zh)
Other versions
CN111488720A (en
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.)
Hunan University
Original Assignee
Hunan University
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 Hunan University filed Critical Hunan University
Priority to CN202010269856.4A priority Critical patent/CN111488720B/en
Publication of CN111488720A publication Critical patent/CN111488720A/en
Application granted granted Critical
Publication of CN111488720B publication Critical patent/CN111488720B/en
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/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

The invention discloses a method for acquiring circuit connection topology information, which comprises the following steps: s1, obtaining a circuit layout pattern; s2, acquiring all edges of the layout pattern according to the circuit layout pattern; s3, obtaining edges in a corresponding relation among the parallel edges; wherein the corresponding side is that two line segments have projection between each other and the central lines of the two line segments are in the polygon; s4, obtaining mutually corresponding edges from the non-parallel edges; s5, acquiring a central line segment according to the mutually corresponding edges; and S6, acquiring the circuit connection topology information according to the center line segment. The invention obtains the topological information of the circuit connecting line corresponding to the circuit layout by obtaining the layout pattern and solving the center line segment of the edge according to the information of the edge of the circuit layout pattern.

Description

一种获取电路连线拓扑信息的方法、装置及设备A method, device and equipment for obtaining circuit connection topology information

技术领域technical field

本发明涉及集成电路制造领域,具体来说,涉及一种获取电路连线拓扑信息的方法。The invention relates to the field of integrated circuit manufacturing, in particular to a method for acquiring circuit connection topology information.

背景技术Background technique

给出集成电路版图,为了反推电路连线并进行分析,需要提取包括版图布线图案的中心线。参考图1,版图图案可看成由一系列多边形构成的图案,对其中每个版图多边形求中心线,可以代表该多边形的走向和形态。Given the layout of an integrated circuit, in order to deduce the circuit connection and analyze it, it is necessary to extract the center line including the wiring pattern of the layout. Referring to Figure 1, the layout pattern can be regarded as a pattern composed of a series of polygons, and the center line of each layout polygon can represent the direction and shape of the polygon.

除了图1规则的直角多边形之外,有些版图进行光学邻近校正(OPC)后,图案会变得不那么规则,如图2所示。如果给出的版图掩模版,是OPC后的图案(图2(b)),则需要计算OPC之前版图图案(图2(a))的中心线。In addition to the regular right-angled polygons in Figure 1, some layouts will become less regular after Optical Proximity Correction (OPC), as shown in Figure 2. If the given layout reticle is the pattern after OPC (Figure 2(b)), it is necessary to calculate the centerline of the layout pattern before OPC (Figure 2(a)).

本文提供的背景描述用于总体上呈现本公开的上下文的目的。除非本文另外指示,在该章节中描述的资料不是该申请的权利要求的现有技术并且不要通过包括在该章节内来承认其成为现有技术。The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.

发明内容Contents of the invention

针对相关技术中的上述技术问题,本发明提出一种获取电路连线拓扑信息的方法,能够获取从电路版图中获取电路连线拓扑信息。Aiming at the above-mentioned technical problems in the related art, the present invention proposes a method for obtaining circuit connection topology information, which can obtain circuit connection topology information from a circuit layout.

为实现上述技术目的,本发明的实施例提供了一种获取电路连线拓扑信息的方法,其包括如下步骤:In order to achieve the above-mentioned technical purpose, an embodiment of the present invention provides a method for obtaining circuit connection topology information, which includes the following steps:

S1,获取电路版图图案;S1, obtaining a circuit layout pattern;

S2,根据所述电路版图图案获取所述版图图案的所有边;S2. Obtain all sides of the layout pattern according to the circuit layout pattern;

S3,在互相平行的边中,获取相互对应关系的边;其中相对对应的边为两条线段互相之间有投影且两条线段的中心线在多边形内;S3, among the sides parallel to each other, obtain the sides corresponding to each other; wherein the corresponding side is that two line segments have projections between each other and the centerlines of the two line segments are within the polygon;

S4,从不平行的边中,获取相互对应的边;S4, obtain the sides corresponding to each other from the non-parallel sides;

S5,根据所述相互对应的边获取中心线段;S5. Obtain a center line segment according to the sides corresponding to each other;

S6,根据所述中心线段获取所述电路连线的拓扑信息。S6. Obtain topology information of the circuit connection according to the central line segment.

进一步的,步骤S3具体包括:Further, step S3 specifically includes:

S31,判断两条边是否平行;不平行,则返回不相互对应;平行,则继续;S31, judging whether the two sides are parallel; if not parallel, return not corresponding to each other; if parallel, continue;

S32,判断两条平行边是否有重合区间;没有,则返回不相互对应;有,则继续;S32, judging whether the two parallel sides have overlapping intervals; if not, return not corresponding to each other; if yes, continue;

S33,判断两条既平行又有重合区间的边的中心线是否在多边形内;不在,则返回;在,则返回两条边相互对应。S33, judging whether the centerlines of two sides that are both parallel and overlapped are within the polygon; if not, then return; if yes, return the two sides corresponding to each other.

进一步的,步骤S4具体包括:Further, step S4 specifically includes:

S41,判断这两条边是否有重合区间;没有,则返回不相互对应;有,则继续;S41, judging whether the two sides have overlapping intervals; if not, return not corresponding to each other; if yes, continue;

S42,这两条边形成的中心线是否在多边形内;在,则返回两条边相互对应。S42, whether the center line formed by these two sides is in the polygon; if yes, return the correspondence between the two sides.

进一步的,步骤S5具体包括:Further, step S5 specifically includes:

S51,当一条边只和另外一条边相互对应时,直接求中心线段;S51, when one side only corresponds to another side, directly find the center line segment;

S52,当一条边和多条边相互对应时,则先把多条边合并成一条,再求中心线段。S52. When one side and multiple sides correspond to each other, first merge the multiple sides into one, and then find the center line segment.

进一步的,步骤S6之后还包括如下一个或多个步骤:Further, after step S6, one or more of the following steps are included:

S7,删杂边:删除距离其他中心线段的距离大于自身长度的中心线段;S7, delete miscellaneous edges: delete the center line segment whose distance from other center line segments is greater than its own length;

或/和or/and

S8,合并平行线:合并平行有投影重合且距离小于一阈值的中心线段;S8, merging parallel lines: merging parallel center line segments with coincident projections and a distance smaller than a threshold;

或/和or/and

S9,交叉线:去掉线段有交点的两条线段的交叉部分;S9, intersecting lines: remove the intersection of two line segments with intersection points;

或/和or/and

S10,延长和拉伸中心线:延长和拉伸线段至相交;S10, extend and stretch the center line: extend and stretch the line segment to intersect;

或/和or/and

S11,接连通子集,找距离最近的端点进行连接,使得连通子集两两合并,直到所有连通子集合为一个。S11, connect the connected subsets, and find the closest endpoints to connect, so that the connected subsets are merged in pairs until all the connected subsets are one.

为实现本发明的目的,本发明实施例还提供一种获取电路连线拓扑信息的装置,其包括如下单元:In order to achieve the purpose of the present invention, an embodiment of the present invention also provides a device for obtaining circuit connection topology information, which includes the following units:

电路版图获取单元,用于获取电路版图图案;A circuit layout acquisition unit, configured to acquire a circuit layout pattern;

边获取单元,用于根据所述电路版图图案获取所述版图图案的所有边;an edge acquiring unit, configured to acquire all edges of the layout pattern according to the circuit layout pattern;

第一对应边获取单元,用于在互相平行的边中,获取相互对应关系的边;其中相对对应的边为两条线段互相之间有投影且两条线段的中心线在多边形内;The first corresponding side obtaining unit is used to obtain the side corresponding to each other among the sides parallel to each other; wherein the corresponding side is that two line segments have projections between each other and the centerlines of the two line segments are within the polygon;

第二对应边获取单元,用于从不平行的边中,获取相互对应的边;The second corresponding edge obtaining unit is used to obtain mutually corresponding edges from non-parallel edges;

中心线段获取单元用于根据所述相互对应的边获取中心线段;The central line segment obtaining unit is used to obtain the central line segment according to the sides corresponding to each other;

电路连线拓扑信息获取单元,用于根据所述中心线段获取所述电路连线的拓扑信息。The circuit connection topology information obtaining unit is configured to obtain the circuit connection topology information according to the central line segment.

进一步的,所述装置的第一对应边获取单元还包括:Further, the first corresponding edge obtaining unit of the device also includes:

平行边判定单元,用于判断两条边是否平行;不平行,则返回不相互对应;平行,则继续;Parallel side judging unit, used to judge whether two sides are parallel; if not parallel, return not corresponding to each other; if parallel, continue;

第一重合区间判定单元,用于判断两条平行边是否有重合区间;没有,则返回不相互对应;有,则继续;The first overlapping interval judging unit is used to judge whether there is an overlapping interval between two parallel sides; if there is no overlapping interval, then return not corresponding to each other; if yes, continue;

第一多边形判定单元,用于判断两条既平行又有重合区间的边的中心线是否在多边形内;不在,则返回;在,则返回两条边相互对应。The first polygon judging unit is used for judging whether the centerlines of two sides that are both parallel and overlapping are within the polygon; if they are not, then return; if they are, then return that the two sides correspond to each other.

进一步的,所述装置的第二对应边获取单元还包括:Further, the second corresponding edge obtaining unit of the device also includes:

第二重合区间判定单元,用于判断两条边是否有重合区间;没有,则返回不相互对应;有,则继续;The second overlapping interval judging unit is used to judge whether there is an overlapping interval between two sides; if not, then return not corresponding to each other; if yes, continue;

第二多边形判定单元用于判断两条边形成的中心线是否在多边形内;在,则返回两条边相互对应。The second polygon judging unit is used for judging whether the center line formed by the two sides is in the polygon; if yes, it returns that the two sides correspond to each other.

进一步的,所述装置的中心线段获取单元还包括:Further, the central line acquisition unit of the device also includes:

第一获取单元,用于当一条边只和另外一条边相互对应时,直接求中心线段;The first acquisition unit is used to directly find the center line segment when one side only corresponds to another side;

第二获取单元,用于当一条边和多条边相互对应时,则先把多条边合并成一条,再求中心线段。The second acquisition unit is used to merge the multiple sides into one when one side and multiple sides correspond to each other, and then find the center line segment.

进一步的,所述装置还包括如下单元中的一个或多个:Further, the device also includes one or more of the following units:

删杂边单元,用于删除距离其他中心线段的距离大于自身长度的中心线段;Delete miscellaneous edge unit, used to delete the center line segment whose distance from other center line segments is greater than its own length;

或/和or/and

合并平行线单元,用于合并平行有投影重合且距离小于一阈值的中心线段;Merging parallel line units, used for merging parallel central line segments with overlapping projections and a distance less than a threshold;

或/和or/and

交叉线处理单元,用于去掉线段有交点的两条线段的交叉部分;A cross-line processing unit, configured to remove the intersection of two line segments with intersection points;

或/和or/and

延长和拉伸中心线处理单元,用于延长和拉伸线段至相交;Extend and stretch centerline processing unit for extending and stretching line segments to intersection;

或/和or/and

接连通子集处理单元,用于找距离最近的端点进行连接,使得连通子集两两合并,直到所有连通子集合为一个。The connected subset processing unit is used to find the closest endpoints for connection, so that the connected subsets are merged in pairs until all the connected subsets become one.

为实现本发明的目的,本实施例还提供了一种获取电路连线拓扑信息的设备,该设备包括处理器,非易失性存储介质,所述非易失性存储介质上存储有代码,所述代码在被所述处理器执行时,用于实现所述步骤S1-S6的方法。To achieve the purpose of the present invention, this embodiment also provides a device for obtaining circuit connection topology information, the device includes a processor, a non-volatile storage medium, codes are stored on the non-volatile storage medium, When the code is executed by the processor, it is used to realize the method of the steps S1-S6.

本发明通过获取版图图案,并根据电路版图文件的边的信息,通过求解边的中心线段的方式,获取电路版图对应的电路连线拓扑信息,本发明对边中心线的求解分为平行线段和非平行线段,可以更准确的获取边的中心线段,从而更准确的获取电路连线的拓扑信息。进一步的,本发明的实施例还可以对获取的中心线段进行优化处理,例如删除边,合并,等等,从而更为准确的获取中心线段,特别是对于电路版图因光学临近矫正(OPC)处理后的掩模版图案,可以有效还原处理前的原始版图中心线,从而可以更为准确的获取电路连线的拓扑信息。The present invention acquires the layout pattern, and according to the edge information of the circuit layout file, obtains the circuit connection topology information corresponding to the circuit layout by solving the center line segment of the edge. The solution of the edge center line in the present invention is divided into parallel line segments and The non-parallel line segment can obtain the center line segment of the edge more accurately, so as to obtain the topological information of the circuit connection more accurately. Further, the embodiment of the present invention can also optimize the obtained center line segment, such as deleting edges, merging, etc., so as to obtain the center line segment more accurately, especially for the circuit layout due to optical proximity correction (OPC) processing The post-reticle pattern can effectively restore the centerline of the original layout before processing, so that the topological information of the circuit wiring can be obtained more accurately.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the accompanying drawings required in the embodiments. Obviously, the accompanying drawings in the following description are only some of the present invention. Embodiments, for those of ordinary skill in the art, other drawings can also be obtained based on these drawings without any creative effort.

图1是电路版图多边形图案示例;Figure 1 is an example of a polygonal pattern in a circuit layout;

图2是OPC之后的版图掩模版图案;Figure 2 is the layout mask pattern after OPC;

图3是本发明实施例提供的一种获取电路连线拓扑信息的方法的流程示意图;Fig. 3 is a schematic flowchart of a method for obtaining circuit connection topology information provided by an embodiment of the present invention;

图4是本发明实施例中的线段在直线上的投影示意图;Fig. 4 is a schematic diagram of projection of a line segment on a straight line in an embodiment of the present invention;

图5是本发明实施例中的计算两线段间的投影示意图;Fig. 5 is a schematic diagram of calculating a projection between two line segments in an embodiment of the present invention;

图6是本发明实施例中平行线段求中心线段的示意图;Fig. 6 is a schematic diagram of finding a central line segment from parallel line segments in an embodiment of the present invention;

图7是本发明实施例中不平行线段求中心线段示意图;Fig. 7 is a schematic diagram of finding a central line segment from non-parallel line segments in an embodiment of the present invention;

图8是本发明实施例中优化处理中心线段示意图;Fig. 8 is a schematic diagram of the central line segment of optimization processing in the embodiment of the present invention;

图9是本发明实施例提供的一种获取电路连线的拓扑信息装置示意图;FIG. 9 is a schematic diagram of a topology information device for obtaining circuit connections provided by an embodiment of the present invention;

图10是本发明实施例提供的一种获取电路连线的拓扑信息设备示意图。Fig. 10 is a schematic diagram of a device for obtaining topology information of circuit connections provided by an embodiment of the present invention.

具体实施方式Detailed ways

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some of the embodiments of the present invention, not all of them. All other embodiments obtained by persons of ordinary skill in the art based on the embodiments of the present invention belong to the protection scope of the present invention.

实施例一Embodiment one

参考附图1,本实施例实现了一种获取电路连线拓扑信息方法,其包括如下步骤:With reference to accompanying drawing 1, present embodiment has realized a kind of method for obtaining circuit connection topology information, and it comprises the following steps:

S1,获取电路版图图案;S1, obtaining a circuit layout pattern;

本实施例中的电路版图图案可以是GDSII文件,也可以是其他的表征电路版图图案的文件,例如格式化后的文件,该格式化后的文件存储了电路版图文件的边的信息等等。The circuit layout pattern in this embodiment may be a GDSII file, or other files representing the circuit layout pattern, such as a formatted file, which stores edge information of the circuit layout file and so on.

S2,根据所述电路版图图案获取所述版图图案的所有边;S2. Obtain all sides of the layout pattern according to the circuit layout pattern;

具体的,如果获取的是GDSII文件,则需要将其转为为格式化后的文件,格式化后的文件存储了边的信息,边的信息以边的数据结构形式进行表示,其数据结构中存储着一条线段的基本信息,包括线段两个端点,线段对应直线的参数,如斜率等。进而可以从格式化后的文件中获取版图图案的所有边。Specifically, if the GDSII file is obtained, it needs to be converted into a formatted file. The formatted file stores edge information, and the edge information is expressed in the form of edge data structure. In the data structure Stores the basic information of a line segment, including the two endpoints of the line segment, and the parameters of the line segment corresponding to the straight line, such as slope. Furthermore, all edges of the layout pattern can be obtained from the formatted file.

S3,在互相平行的边中,获取相互对应关系的边;其中相对对应的边为两条线段互相之间有投影且两条线段的中心线在多边形内;S3, among the sides parallel to each other, obtain the sides corresponding to each other; wherein the corresponding side is that two line segments have projections between each other and the centerlines of the two line segments are within the polygon;

本实施例中的获取中线线段时,先获取对应边,本实施例中的对应边定义为:两条边如果互相对应,则其所求出的中心线段,和标准中心线的某一段相近或者重合。When acquiring the center line segment in this embodiment, first obtain the corresponding side, the corresponding side in this embodiment is defined as: if two sides correspond to each other, then the center line segment obtained by it is similar to a certain section of the standard center line or coincide.

具体的可以采用如下两条来判断两条边是否对应:1)两条线段互相之间有投影;2)两条平行线段的中心线段在这个多边形内。Specifically, the following two methods can be used to determine whether the two sides correspond: 1) the two line segments have projections between each other; 2) the central line segment of the two parallel line segments is within the polygon.

一条线段在另外一条线段上的投影,是其在另外一条线段所在直线的投影。线段在直线上的投影如图4,其中粗线区域为投影区域。The projection of a line segment on another line segment is its projection on the line of the other line segment. The projection of the line segment on the straight line is shown in Figure 4, where the thick line area is the projection area.

为了找到对应边,需要先确认两条线段之间是否互相有投影重叠。例如,有两条线段AB和CD,AB在CD所在直线上的投影线段,设为EF。如果线段EF和CD有重合,则表示线段AB在线段CD有投影重叠区域。而只有当线段AB在线段CD上有投影,同时线段CD在线段AB上有投影,才叫做两条线段相互之间有投影。In order to find the corresponding edge, it is necessary to confirm whether there is a projection overlap between the two line segments. For example, there are two line segments AB and CD, and the projection line segment of AB on the straight line where CD is located is set as EF. If the line segments EF and CD overlap, it means that the line segment AB has a projection overlapping area on the line segment CD. And only when the line segment AB has a projection on the line segment CD, and the line segment CD has a projection on the line segment AB, it is said that the two line segments have a projection on each other.

本实施例中步骤S3进一步包括:Step S3 in this embodiment further includes:

S31,判断两条边是否平行;不平行,则返回不相互对应;平行,则继续;S31, judging whether the two sides are parallel; if not parallel, return not corresponding to each other; if parallel, continue;

S32,判断两条平行边是否有重合区间;没有,则返回不相互对应;有,则继续;S32, judging whether the two parallel sides have overlapping intervals; if not, return not corresponding to each other; if yes, continue;

S33,判断两条既平行又有重合区间的边的中心线是否在多边形内;不在,则返回;在,则返回两条边相互对应。S33, judging whether the centerlines of two sides that are both parallel and overlapped are within the polygon; if not, then return; if yes, return the two sides corresponding to each other.

本实施例中首先得到所有边,根据参考图5(a)的方法,找两两平行且有投影的组合,作为备选的相互对应边。In this embodiment, all sides are firstly obtained, and according to the method referring to FIG. 5( a ), a combination of two parallel and projections is found as alternative corresponding sides.

除了判断是否两两之间有投影,还需要进一步判断两条边组成对应边,其中心线段是否处于多边形内部,具体的可采用扫描线先把多边形内的所有像素标出,然后判断当前中心线的轨迹是否在多边形范围内。只有其中心线段在多边形内部,这两条边才能最终组成对应边。In addition to judging whether there is a projection between the two sides, it is necessary to further judge whether the two sides form the corresponding side, and whether the center line segment is inside the polygon. Specifically, the scan line can be used to first mark all the pixels in the polygon, and then judge the current center line Whether the trajectory of is within the polygon. Only if their center line segments are inside the polygon can the two sides finally form corresponding sides.

S4,未配对边,从不平行的边中,获取相互对应的边;S4, unpaired sides, from the non-parallel sides, get the sides corresponding to each other;

经过步骤S3,版图文件中还有一些边是不平行的情况,对于在步骤S3中没找到对应边的其他边,参见图5(b),进一步采用如下步骤判断是否存在对应边:After step S3, there are still some sides in the layout file that are not parallel. For other sides that do not find corresponding sides in step S3, refer to Fig. 5(b), and further use the following steps to determine whether there are corresponding sides:

S41,判断这两条边是否有重合区间;没有,则返回不相互对应;有,则继续;S41, judging whether the two sides have overlapping intervals; if not, return not corresponding to each other; if yes, continue;

S42,这两条边形成的中心线是否在多边形内;在,则返回两条边相互对应。S42, whether the center line formed by these two sides is in the polygon; if yes, return the correspondence between the two sides.

经过步骤S3,S4将版图文件中存在的所有对应边的情况,均已查找出来。After step S3, S4 finds out all the corresponding sides existing in the layout file.

S5,根据所述相互对应的边获取中心线段,根据所述中心线段获取所述电路连线的拓扑信息。S5. Obtain a center line segment according to the mutually corresponding sides, and obtain topology information of the circuit connection according to the center line segment.

根据获取的中心线段,将所述中心线段进行连接就可以获取电路连线信息,从而实现从版图文件中获取电路连线的拓扑信息。According to the obtained center line segments, the circuit connection information can be obtained by connecting the center line segments, so as to obtain the circuit connection topology information from the layout file.

具体的,其进一步包括:Specifically, it further includes:

S51,当一条边只和另外一条边相互对应时,直接求中心线段;S51, when one side only corresponds to another side, directly find the center line segment;

S52,当一条边和多条边相互对应时,则先把多条边合并成一条,再求中心线段。S52. When one side and multiple sides correspond to each other, first merge the multiple sides into one, and then find the center line segment.

求对应边的中心线段,分为对应边平行和对应边不平行两种情况:Find the center line segment of the corresponding side, divided into two cases: the corresponding side is parallel and the corresponding side is not parallel:

1、对应边平行时的中心线段1. The center line segment when the corresponding sides are parallel

对应边平行情况下,一条边,可能对应多条平行边,也可能只对应一条平行边。当其只对应一条边时,直接求出中心线段。当其对应多条边时,则在其对应的多条边中,取出离其距离最近的多条边(距离小于一个阈值,表示距离一样)合成一条长边,求中心线段。In the case where the corresponding sides are parallel, one side may correspond to multiple parallel sides, or may only correspond to one parallel side. When it corresponds to only one side, directly calculate the center line segment. When it corresponds to multiple sides, then among the corresponding multiple sides, take out the multiple sides closest to it (the distance is less than a threshold, indicating that the distance is the same) to synthesize a long side, and find the center line segment.

参见图6其过程如下:Referring to Figure 6, the process is as follows:

S521:在对应的多条边中,先取出距离最近的一条平行边。然后取出离这条边距离不超过一个给定阈值的其他平行边,没有则不继续取。S521: From among the corresponding multiple sides, first take out a parallel side with the closest distance. Then take out other parallel edges whose distance from this edge does not exceed a given threshold, if not, do not continue to take.

S522:如果只取出一条平行的对应边,则直接求中心线段。S522: If only one parallel corresponding side is taken out, directly calculate the central line segment.

S533:如果取出多条平行的对应边,则考虑各自的长度作为权重,计算一条长边,来代表这多条平行边,再求和此长边的中心线段。假设有n条平行短线段需要合并,斜率都是k,第i条线段对应直线公式是yi=k×xi+bi,其线段长度为li,则合并线段后,其对应的直线y如公式(1)所示。S533: If multiple parallel corresponding sides are taken out, consider their respective lengths as weights, calculate a long side to represent the multiple parallel sides, and then sum the central line segments of the long sides. Assuming that there are n parallel short line segments to be merged, the slopes are all k, the formula of the straight line corresponding to the i-th line segment is y i =k× xi +b i , and the length of the line segment is l i , after the line segments are merged, the corresponding straight line y is shown in formula (1).

Figure BDA0002442729020000091
Figure BDA0002442729020000091

2、对应边不平行时的中心线段2. The center line segment when the corresponding sides are not parallel

对应边不平行的情况下,一条边可能对应多条不平行的边,也可能对应一条。对应一条的情况,直接求中心线段。对应多条不平行的边的情况,分别求其和每条对应边的中心线段即可。When the corresponding sides are not parallel, one side may correspond to multiple non-parallel sides, or it may correspond to one. Corresponding to the case of one, find the center line segment directly. For the case of multiple non-parallel sides, it is sufficient to calculate the sum of the center line segment of each corresponding side.

直接求出其和其每条对应边的中心线段方法:先求出两条线段所在直线的角平分,然后求出角平分线和重合区域的相交的部分,作为中心线段。图7给出了求两条不平行边的中心线段。The method of directly finding the center line segment of each corresponding side: first find the angle bisector of the straight line where the two line segments are located, and then find the intersection of the angle bisector and the overlapping area as the center line segment. Figure 7 shows the center line segment of two non-parallel sides.

经过步骤S5获得的中心线段,结果和实际的中心线较为相近,但是仍然是一系列无序的、不连通或者部分重合的线段。还需要进行整合处理,包括:1)删除杂边;2)合并有重合的线段;3)去掉相交线段的交叉部分;4)连通前后中心线段。最后所有中心线段,合为一个整体,将其转化为点按顺序输出。The result of the center line segment obtained in step S5 is relatively close to the actual center line, but it is still a series of disordered, disconnected or partially overlapping line segments. Integration processing is also required, including: 1) delete the miscellaneous edges; 2) merge the overlapping line segments; 3) remove the intersection of the intersecting line segments; 4) connect the front and rear center line segments. Finally, all the center line segments are combined into a whole, which is converted into points and output in order.

具体的包括:Specifically include:

S6、删除杂边:如果当前中心线段,离其他所有中心线段的距离较远,如:其与所有中心线段距离的最小值大于其长度,则当前线段可以去除。S6. Delete matte: if the current center line segment is far away from all other center line segments, for example, the minimum distance between it and all center line segments is greater than its length, then the current line segment can be removed.

S7、合并有重合的线段:如果多条线段互相平行有投影重合,且互相之间距离小于一个阈值,则可以把这些线段合并,如图8(a)所示,该计算方法如公式(1)所示。S7. Merging line segments that overlap: if multiple line segments are parallel to each other and have overlapping projections, and the distance between them is less than a threshold, then these line segments can be merged, as shown in Figure 8 (a), the calculation method is as in formula (1 ) shown.

S8、去掉相交线段的交叉部分:如果两条线段相交,自交点为各自线段的分界点,每条线段分为两个部分,分别去掉重合部分的较短部分。如图8(b)所示,线段相交时,以交点为界分段,然后取各自段较长的部分,再进行组合。S8. Remove the intersection part of the intersecting line segments: if two line segments intersect, the self-intersection point is the boundary point of the respective line segments, and each line segment is divided into two parts, and the shorter part of the overlapping part is removed respectively. As shown in Figure 8(b), when the line segments intersect, the intersection point is used as the boundary to divide the segments, and then the longer parts of the respective segments are taken for combination.

S9、连通前后中心线段:对每条线段的两个端点,分别求与端点最近的线段,如果距离小于一定阈值,该阈值可以为当前线段长度的1倍,则做连接处理。如相邻线段与当前线段不平行,连接时做延长处理;如果平行,连接时做拉伸处理。S9. Connecting the front and back center line segments: For the two endpoints of each line segment, find the line segment closest to the end point, if the distance is less than a certain threshold, which can be 1 times the length of the current line segment, then perform connection processing. If the adjacent line segment is not parallel to the current line segment, it will be extended when connecting; if it is parallel, it will be stretched when connecting.

以上步骤处理后,所有线段还会有不连通的情况。S9,把相连通的线段称为连通子集。连通子集之间,找距离最近的端点进行连接,使得连通子集两两合并,直到所有连通子集合为一个。图8(c)(d)(e)分别给出了延长、拉伸和合并连通子集的示例。After the above steps are processed, all line segments will still be disconnected. S9, the connected line segments are called connected subsets. Between the connected subsets, find the nearest endpoint to connect, so that the connected subsets are merged in pairs until all the connected subsets are one. Figure 8(c)(d)(e) give examples of extending, stretching and merging connected subsets, respectively.

转化为输出格式:最后遍历所有线段,按顺序输出点。当然,为了控制输出点的个数,还可进行去杂点操作,即遍历线段时,判断每个端点是否落在其前后端点所形成连线上。如果为真,此端点可以不用输出。Convert to output format: Finally, traverse all line segments and output points in order. Of course, in order to control the number of output points, denoising operation can also be performed, that is, when traversing a line segment, it is judged whether each endpoint falls on the connecting line formed by its front and back endpoints. If true, no output is required for this endpoint.

本实施例通过对求出的中心线段进行优化处理,可以更精确的获取中心线段,从而更为精确的获取电路连线的拓扑信息。In this embodiment, by optimizing the obtained center line segment, the center line segment can be obtained more accurately, so that the topological information of the circuit connection can be obtained more accurately.

实施例二Embodiment two

参考图9,本实施例提供了一种获取电路连线的拓扑信息装置,其包括如下单元:Referring to FIG. 9, this embodiment provides a device for obtaining topology information of circuit connections, which includes the following units:

电路版图获取单元,用于获取电路版图图案;A circuit layout acquisition unit, configured to acquire a circuit layout pattern;

边获取单元,用于根据所述电路版图图案获取所述版图图案的所有边;an edge acquiring unit, configured to acquire all edges of the layout pattern according to the circuit layout pattern;

第一对应边获取单元,用于在互相平行的边中,获取相互对应关系的边;其中相对对应的边为两条线段互相之间有投影且两条线段的中心线在多边形内;The first corresponding side obtaining unit is used to obtain the side corresponding to each other among the sides parallel to each other; wherein the corresponding side is that two line segments have projections between each other and the centerlines of the two line segments are within the polygon;

第二对应边获取单元,用于从不平行的边中,获取相互对应的边;The second corresponding edge obtaining unit is used to obtain mutually corresponding edges from non-parallel edges;

中心线段获取单元用于根据所述相互对应的边获取中心线段;The central line segment obtaining unit is used to obtain the central line segment according to the sides corresponding to each other;

电路连线拓扑信息获取单元,用于根据所述中心线段获取所述电路连线的拓扑信息。The circuit connection topology information obtaining unit is configured to obtain the circuit connection topology information according to the central line segment.

进一步的,所述装置的第一对应边获取单元还包括:Further, the first corresponding edge obtaining unit of the device also includes:

平行边判定单元,用于判断两条边是否平行;不平行,则返回不相互对应;平行,则继续;Parallel side judging unit, used to judge whether two sides are parallel; if not parallel, return not corresponding to each other; if parallel, continue;

第一重合区间判定单元,用于判断两条平行边是否有重合区间;没有,则返回不相互对应;有,则继续;The first overlapping interval judging unit is used to judge whether there is an overlapping interval between two parallel sides; if there is no overlapping interval, then return not corresponding to each other; if yes, continue;

第一多边形判定单元,用于判断两条既平行又有重合区间的边的中心线是否在多边形内;不在,则返回;在,则返回两条边相互对应。The first polygon judging unit is used for judging whether the centerlines of two sides that are both parallel and overlapping are within the polygon; if they are not, then return; if they are, then return that the two sides correspond to each other.

进一步的,所述装置的第二对应边获取单元还包括:Further, the second corresponding edge obtaining unit of the device also includes:

第二重合区间判定单元,用于判断两条边是否有重合区间;没有,则返回不相互对应;有,则继续;The second overlapping interval judging unit is used to judge whether there is an overlapping interval between two sides; if not, then return not corresponding to each other; if yes, continue;

第二多边形判定单元用于判断两条边形成的中心线是否在多边形内;在,则返回两条边相互对应。The second polygon judging unit is used for judging whether the center line formed by the two sides is in the polygon; if yes, it returns that the two sides correspond to each other.

进一步的,所述装置的中心线段获取单元还包括:Further, the central line acquisition unit of the device also includes:

第一获取单元,用于当一条边只和另外一条边相互对应时,直接求中心线段;The first acquisition unit is used to directly find the center line segment when one side only corresponds to another side;

第二获取单元,用于当一条边和多条边相互对应时,则先把多条边合并成一条,再求中心线段。The second acquisition unit is used to merge the multiple sides into one when one side and multiple sides correspond to each other, and then find the center line segment.

进一步的,所述装置还包括如下单元中的一个或多个:Further, the device also includes one or more of the following units:

删杂边单元,用于删除距离其他中心线段的距离大于自身长度的中心线段;Delete miscellaneous edge unit, used to delete the center line segment whose distance from other center line segments is greater than its own length;

或/和or/and

合并平行线单元,用于合并平行有投影重合且距离小于一阈值的中心线段;Merging parallel line units, used for merging parallel central line segments with overlapping projections and a distance less than a threshold;

或/和or/and

交叉线处理单元,用于去掉线段有交点的两条线段的交叉部分;A cross-line processing unit, configured to remove the intersection of two line segments with intersection points;

或/和or/and

延长和拉伸中心线处理单元,用于延长和拉伸线段至相交;Extend and stretch centerline processing unit for extending and stretching line segments to intersection;

或/和or/and

接连通子集处理单元,用于找距离最近的端点进行连接,使得连通子集两两合并,直到所有连通子集合为一个。The connected subset processing unit is used to find the closest endpoints for connection, so that the connected subsets are merged in pairs until all the connected subsets become one.

实施例三Embodiment Three

参考附图10,本实施例提供了一种获取电路连线的拓扑信息设备20的结构示意图。该实施例的获取电路连线的拓扑信息设备20包括处理器21、存储器22以及存储在所述存储器22中并可在所述处理器21上运行的计算机程序。所述处理器21执行所述计算机程序时实现上述获取电路连线的拓扑信息方法实施例中的步骤,例如图2所示的步骤S1。或者,所述处理器21执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如第一获取模块11。Referring to FIG. 10 , this embodiment provides a schematic structural diagram of a topology information device 20 for acquiring circuit connections. The device 20 for obtaining topology information of circuit connections in this embodiment includes a processor 21 , a memory 22 and a computer program stored in the memory 22 and operable on the processor 21 . When the processor 21 executes the computer program, the steps in the above embodiment of the method for obtaining topology information of circuit connections are implemented, for example, step S1 shown in FIG. 2 . Alternatively, when the processor 21 executes the computer program, it realizes the functions of the modules/units in the above-mentioned device embodiments, such as the first acquisition module 11 .

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器22中,并由所述处理器21执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述获取电路连线的拓扑信息设备20中的执行过程。Exemplarily, the computer program can be divided into one or more modules/units, and the one or more modules/units are stored in the memory 22 and executed by the processor 21 to complete this invention. The one or more modules/units may be a series of computer program instruction segments capable of accomplishing specific functions, and the instruction segments are used to describe the execution process of the computer program in the circuit connection topology information acquisition device 20 .

所述获取电路连线的拓扑信息设备20可包括,但不仅限于,处理器21、存储器22。本领域技术人员可以理解,所述示意图仅仅是获取电路连线的拓扑信息设备20的示例,并不构成对获取电路连线的拓扑信息设备20的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述获取电路连线的拓扑信息设备20还可以包括输入输出设备、网络接入设备、总线等。The device 20 for acquiring circuit connection topology information may include, but is not limited to, a processor 21 and a memory 22 . Those skilled in the art can understand that the schematic diagram is only an example of the topology information device 20 for obtaining circuit connections, and does not constitute a limitation on the topology information device 20 for obtaining circuit connections, and may include more or less than those shown in the illustration. components, or a combination of certain components, or different components, for example, the device 20 for acquiring circuit connection topology information may also include input and output devices, network access devices, buses, and the like.

所述处理器21可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器21是所述获取电路连线的拓扑信息设备20的控制中心,利用各种接口和线路连接整个获取电路连线的拓扑信息设备20的各个部分。The processor 21 may be a central processing unit (Central Processing Unit, CPU), and may also be other general-purpose processors, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), Off-the-shelf programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc., the processor 21 is the control center of the topology information device 20 for obtaining circuit connections, and is connected by various interfaces and lines Each part of the topological information device 20 of the whole acquisition circuit connection.

所述存储器22可用于存储所述计算机程序和/或模块,所述处理器21通过运行或执行存储在所述存储器22内的计算机程序和/或模块,以及调用存储在存储器22内的数据,实现所述获取电路连线的拓扑信息设备20的各种功能。所述存储器22可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。The memory 22 can be used to store the computer programs and/or modules, and the processor 21 runs or executes the computer programs and/or modules stored in the memory 22, and calls the data stored in the memory 22, Various functions of the topology information device 20 for acquiring circuit connections are realized. The memory 22 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, at least one function required application program (such as a sound playback function, an image playback function, etc.) etc.; the storage data area can be Store data (such as audio data, phone book, etc.) created according to the use of the mobile phone. In addition, the memory 22 can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, flash memory card (Flash Card), at least one magnetic disk storage device, flash memory device, or other volatile solid state storage devices.

其中,所述获取电路连线的拓扑信息设备20集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器21执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。Wherein, if the integrated modules/units of the device 20 for acquiring circuit connection topology information are realized in the form of software function units and sold or used as independent products, they may be stored in a computer-readable storage medium. Based on this understanding, the present invention realizes all or part of the processes in the methods of the above embodiments, and can also be completed by instructing related hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer When the program is executed by the processor 21, the steps of the above-mentioned various method embodiments can be realized. Wherein, the computer program includes computer program code, and the computer program code may be in the form of source code, object code, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, a recording medium, a U disk, a removable hard disk, a magnetic disk, an optical disk, a computer memory, and a read-only memory (ROM, Read-Only Memory) , Random Access Memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal, and software distribution medium, etc. It should be noted that the content contained in the computer-readable medium may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable Excludes electrical carrier signals and telecommunication signals.

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。It should be noted that the device embodiments described above are only illustrative, and the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physically separated. A unit can be located in one place, or it can be distributed to multiple network units. Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. In addition, in the drawings of the device embodiments provided by the present invention, the connection relationship between the modules indicates that they have a communication connection, which can be specifically implemented as one or more communication buses or signal lines. It can be understood and implemented by those skilled in the art without creative effort.

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included in the scope of the present invention. within the scope of protection.

Claims (7)

1.一种获取电路连线拓扑信息的方法,其包括如下步骤:1. A method for obtaining circuit connection topology information, comprising the steps of: S1,获取电路版图图案;S1, obtaining a circuit layout pattern; S2,根据所述电路版图图案获取所述版图图案的所有边;S2. Obtain all sides of the layout pattern according to the circuit layout pattern; S3,在互相平行的边中,获取相互对应关系的边;其中相互对应的边为两条线段互相之间有投影且两条线段的中心线在多边形内;S3, among the sides parallel to each other, obtain the sides corresponding to each other; where the sides corresponding to each other are two line segments that have projections between each other and the center lines of the two line segments are within the polygon; S4,从不平行的边中,获取相互对应的边;S4, obtain the sides corresponding to each other from the non-parallel sides; S5,根据所述相互对应的边获取中心线段;S5. Obtain a center line segment according to the sides corresponding to each other; 当相互对应的边平行时,一条边对应至少一条平行边;When the sides corresponding to each other are parallel, one side corresponds to at least one parallel side; S51,当一条边只和一条平行边相互对应时,直接求中心线段;S51, when one side only corresponds to one parallel side, directly find the central line segment; S52,当一条边和多条平行边相互对应时,则先把多条平行边合并成一条,再求中心线段;S52, when a side corresponds to a plurality of parallel sides, first merge the plurality of parallel sides into one, and then find the center line segment; 在对应的多条平行边中,先取出距离一条边最近的一条平行边,然后取出离这条平行边距离不超过一个给定阈值的其他平行边;Among the corresponding multiple parallel edges, first take out the parallel edge closest to one edge, and then take out other parallel edges whose distance from this parallel edge does not exceed a given threshold; 当只取出一条平行的对应边,则直接求中心线段;When only one parallel corresponding side is taken out, the center line segment is directly calculated; 当取出多条平行的对应边,以多条平行的对应边各自的长度作为权重,计算一条长边代表多条平行边,再求和此长边的中心线段;When multiple parallel corresponding sides are taken out, the respective lengths of multiple parallel corresponding sides are used as weights, and one long side is calculated to represent multiple parallel sides, and then the center line segment of the long side is summed; 假设有
Figure 391530DEST_PATH_IMAGE001
条平行短线需要合并,斜率均为
Figure 92770DEST_PATH_IMAGE002
,第
Figure 598838DEST_PATH_IMAGE004
条线段对应直线公式为
Figure DEST_PATH_IMAGE005
,其线段长度为
Figure 487159DEST_PATH_IMAGE006
,则合并线段后,其对应的直线
Figure 838506DEST_PATH_IMAGE007
计算公式如下:
Suppose there is
Figure 391530DEST_PATH_IMAGE001
Parallel short lines need to be merged, and the slopes are
Figure 92770DEST_PATH_IMAGE002
, No.
Figure 598838DEST_PATH_IMAGE004
The formula for a straight line corresponding to a line segment is
Figure DEST_PATH_IMAGE005
, whose line segment length is
Figure 487159DEST_PATH_IMAGE006
, then after merging line segments, the corresponding straight line
Figure 838506DEST_PATH_IMAGE007
Calculated as follows:
Figure 659832DEST_PATH_IMAGE008
Figure 659832DEST_PATH_IMAGE008
其中,
Figure 71221DEST_PATH_IMAGE009
为合并线段的直线方程,
Figure 977998DEST_PATH_IMAGE002
为斜率,
Figure 867456DEST_PATH_IMAGE010
为平行短线的数量,
Figure 808867DEST_PATH_IMAGE006
为线段长度;
in,
Figure 71221DEST_PATH_IMAGE009
is the straight line equation of the merged line segments,
Figure 977998DEST_PATH_IMAGE002
is the slope,
Figure 867456DEST_PATH_IMAGE010
is the number of parallel short lines,
Figure 808867DEST_PATH_IMAGE006
is the length of the line segment;
当相互对应的边不平行时,一条边至少对应一条不平行的边;When the sides corresponding to each other are not parallel, one side corresponds to at least one non-parallel side; S53,当一条边对应一条不平行的边时,直接求中心线段;S53, when a side corresponds to a non-parallel side, directly find the center line segment; S54,当一条边对应多条不平行的边时,分别求一条边和每条不平行的边的中心线段;S54, when a side corresponds to a plurality of non-parallel sides, respectively seek a side and the center line segment of each non-parallel side; 求一条边和每条不平行的边的中心线段的方法包括:Methods for finding the centerline segment of a side and each nonparallel side include: 先求出一条边和一条不平行的边所在直线的角平分线;First find the angle bisector of a side and a line where a non-parallel side is located; 然后求出角平分线和重合区域的相交的部分作为中心线段;Then find the intersecting part of the angle bisector and the coincident area as the center line segment; S6,删杂边:删除距离其他中心线段的距离大于自身长度的中心线段;S6, delete miscellaneous edges: delete the center line segment whose distance from other center line segments is greater than its own length; 或/和or/and S7,合并平行线:合并平行有投影重合且距离小于一阈值的中心线段;S7, merging parallel lines: merging parallel center line segments with coincident projections and a distance smaller than a threshold; 或/和or/and S8,交叉线:去掉线段有交点的两条线段的交叉部分;S8, intersecting lines: remove the intersection of two line segments with intersection points; 或/和or/and S9,延长和拉伸中心线:延长和拉伸线段至相交;S9, extend and stretch the center line: extend and stretch the line segment to intersect; 或/和or/and S10,接连通子集,找距离最近的端点进行连接,使得连通子集两两合并,直到所有连通子集合为一个;S10, connecting the connected subsets, finding the closest endpoints to connect, so that the connected subsets are merged in pairs until all the connected subsets are one; S11,根据所述中心线段获取所述电路连线的拓扑信息。S11. Obtain topology information of the circuit connection according to the central line segment.
2.根据权利要求1所述的方法,其中步骤S3具体包括:2. The method according to claim 1, wherein step S3 specifically comprises: S31,判断两条边是否平行;不平行,则返回不相互对应;平行,则继续;S31, judging whether the two sides are parallel; if not parallel, return not corresponding to each other; if parallel, continue; S32,判断两条平行边是否有重合区间;没有,则返回不相互对应;有,则继续;S32, judging whether the two parallel sides have overlapping intervals; if not, return not corresponding to each other; if yes, continue; S33,判断两条既平行又有重合区间的边的中心线是否在多边形内;不在,则返回;在,则返回两条边相互对应。S33, judging whether the centerlines of two sides that are both parallel and overlapped are within the polygon; if not, then return; if yes, return the two sides corresponding to each other. 3.根据权利要求1所述的方法,步骤S4具体包括:3. The method according to claim 1, step S4 specifically comprising: S41,判断这两条边是否有重合区间;没有,则返回不相互对应;有,则继续;S41, judging whether the two sides have overlapping intervals; if not, return not corresponding to each other; if yes, continue; S42,这两条边形成的中心线是否在多边形内;在,则返回两条边相互对应。S42, whether the center line formed by these two sides is in the polygon; if yes, return the correspondence between the two sides. 4.一种获取电路连线拓扑信息的装置,其包括如下单元:4. A device for obtaining circuit topology information, comprising the following units: 电路版图获取单元,用于获取电路版图图案;A circuit layout acquisition unit, configured to acquire a circuit layout pattern; 边获取单元,用于根据所述电路版图图案获取所述版图图案的所有边;an edge acquiring unit, configured to acquire all edges of the layout pattern according to the circuit layout pattern; 第一对应边获取单元,用于在互相平行的边中,获取相互对应关系的边;其中相互对应的边为两条线段互相之间有投影且两条线段的中心线在多边形内;The first corresponding side obtaining unit is used to obtain the side corresponding to each other among the sides parallel to each other; where the side corresponding to each other is that two line segments have projections between each other and the center lines of the two line segments are in the polygon; 第二对应边获取单元,用于从不平行的边中,获取相互对应的边;The second corresponding edge obtaining unit is used to obtain mutually corresponding edges from non-parallel edges; 中心线段获取单元,用于根据所述相互对应的边获取中心线段;a central line segment obtaining unit, configured to obtain a central line segment according to the sides corresponding to each other; 当相互对应的边平行时,一条边对应至少一条平行边,当一条边只和一条平行边相互对应时,直接求中心线段,当一条边和多条平行边相互对应时,则先把多条平行边合并成一条,再求中心线段;When the sides corresponding to each other are parallel, one side corresponds to at least one parallel side; when one side only corresponds to one parallel side, the center line segment is directly calculated; when one side corresponds to multiple parallel sides, the multiple Merge the parallel sides into one, and then find the center line segment; 在对应的多条平行边中,先取出距离一条边最近的一条平行边,然后取出离这条平行边距离不超过一个给定阈值的其他平行边;Among the corresponding multiple parallel edges, first take out the parallel edge closest to one edge, and then take out other parallel edges whose distance from this parallel edge does not exceed a given threshold; 当只取出一条平行的对应边,则直接求中心线段;When only one parallel corresponding side is taken out, the center line segment is directly calculated; 当取出多条平行的对应边,以多条平行的对应边各自的长度作为权重,计算一条长边代表多条平行边,再求和此长边的中心线段;When multiple parallel corresponding sides are taken out, the respective lengths of multiple parallel corresponding sides are used as weights, and one long side is calculated to represent multiple parallel sides, and then the center line segment of the long side is summed; 假设有
Figure 391158DEST_PATH_IMAGE010
条平行短线需要合并,斜率均为
Figure 785231DEST_PATH_IMAGE011
,第
Figure 478380DEST_PATH_IMAGE004
条线段对应直线公式为
Figure 8719DEST_PATH_IMAGE012
,其线段长度为
Figure 979822DEST_PATH_IMAGE013
,则合并线段后,其对应的直线
Figure 861190DEST_PATH_IMAGE014
计算公式如下:
Suppose there is
Figure 391158DEST_PATH_IMAGE010
Parallel short lines need to be merged, and the slopes are
Figure 785231DEST_PATH_IMAGE011
, No.
Figure 478380DEST_PATH_IMAGE004
The formula for a straight line corresponding to a line segment is
Figure 8719DEST_PATH_IMAGE012
, whose line segment length is
Figure 979822DEST_PATH_IMAGE013
, then after merging line segments, the corresponding straight line
Figure 861190DEST_PATH_IMAGE014
Calculated as follows:
Figure 358031DEST_PATH_IMAGE015
Figure 358031DEST_PATH_IMAGE015
其中,
Figure 8455DEST_PATH_IMAGE014
为合并线段的直线方程,
Figure 666969DEST_PATH_IMAGE011
为斜率,
Figure 35634DEST_PATH_IMAGE016
为平行短线的数量,
Figure 70586DEST_PATH_IMAGE006
为线段长度;
in,
Figure 8455DEST_PATH_IMAGE014
is the straight line equation of the merged line segments,
Figure 666969DEST_PATH_IMAGE011
is the slope,
Figure 35634DEST_PATH_IMAGE016
is the number of parallel short lines,
Figure 70586DEST_PATH_IMAGE006
is the length of the line segment;
当相互对应的边不平行时,一条边至少对应一条不平行的边,当一条边对应一条不平行的边时,直接求中心线段,当一条边对应多条不平行的边时,分别求一条边和每条不平行的边的中心线段;When the sides corresponding to each other are not parallel, one side corresponds to at least one non-parallel side; when one side corresponds to one non-parallel side, directly find the center line segment; when one side corresponds to multiple non-parallel sides, find one the center line segment of the sides and each non-parallel side; 求一条边和每条不平行的边的中心线段的方法包括:Methods for finding the centerline segment of a side and each nonparallel side include: 先求出一条边和一条不平行的边所在直线的角平分线;First find the angle bisector of a side and a line where a non-parallel side is located; 然后求出角平分线和重合区域的相交的部分作为中心线段;Then find the intersecting part of the angle bisector and the coincident area as the center line segment; 删杂边单元,用于删除距离其他中心线段的距离大于自身长度的中心线段;Delete miscellaneous edge unit, used to delete the center line segment whose distance from other center line segments is greater than its own length; 或/和or/and 合并平行线单元,用于合并平行有投影重合且距离小于一阈值的中心线段;Merging parallel line units, used for merging parallel central line segments with overlapping projections and a distance less than a threshold; 或/和or/and 交叉线处理单元,用于去掉线段有交点的两条线段的交叉部分;A cross-line processing unit, configured to remove the intersection of two line segments with intersection points; 或/和or/and 延长和拉伸中心线处理单元,用于延长和拉伸线段至相交;Extend and stretch centerline processing unit for extending and stretching line segments to intersection; 或/和or/and 接连通子集处理单元,用于找距离最近的端点进行连接,使得连通子集两两合并,直到所有连通子集合为一个;A connected subset processing unit is used to find the closest endpoints for connection, so that the connected subsets are merged in pairs until all the connected subsets become one; 电路连线拓扑信息获取单元,用于根据所述中心线段获取所述电路连线的拓扑信息。The circuit connection topology information obtaining unit is configured to obtain the circuit connection topology information according to the central line segment.
5.根据权利要求4所述的装置,其中第一获取单元还包括:5. The device according to claim 4, wherein the first acquisition unit further comprises: 平行边判定单元,用于判断两条边是否平行;不平行,则返回不相互对应;平行,则继续;Parallel side judging unit, used to judge whether two sides are parallel; if not parallel, return not corresponding to each other; if parallel, continue; 第一重合区间判定单元,用于判断两条平行边是否有重合区间;没有,则返回不相互对应;有,则继续;The first overlapping interval judging unit is used to judge whether there is an overlapping interval between two parallel sides; if there is no overlapping interval, then return not corresponding to each other; if yes, continue; 第一多边形判定单元,用于判断两条既平行又有重合区间的边的中心线是否在多边形内;不在,则返回;在,则返回两条边相互对应。The first polygon judging unit is used for judging whether the centerlines of two sides that are both parallel and overlapping are within the polygon; if they are not, then return; if they are, then return that the two sides correspond to each other. 6.根据权利要求4所述的装置,第二对应边获取单元还包括:6. The device according to claim 4, the second corresponding edge acquisition unit further comprising: 第二重合区间判定单元,用于判断两条边是否有重合区间;没有,则返回不相互对应;有,则继续;The second overlapping interval judging unit is used to judge whether there is an overlapping interval between two sides; if not, then return not corresponding to each other; if yes, continue; 第二多边形判定单元用于判断两条边形成的中心线是否在多边形内;在,则返回两条边相互对应。The second polygon judging unit is used for judging whether the center line formed by the two sides is in the polygon; if yes, it returns that the two sides correspond to each other. 7.根据权利要求4所述的装置,中心线段获取单元还包括:7. The device according to claim 4, the centerline segment acquisition unit further comprising: 第一获取单元,用于当一条边只和另外一条边相互对应时,直接求中心线段;The first acquisition unit is used to directly find the center line segment when one side only corresponds to another side; 第二获取单元,用于当一条边和多条边相互对应时,则先把多条边合并成一条,再求中心线段。The second acquisition unit is used to merge the multiple sides into one when one side and multiple sides correspond to each other, and then find the center line segment.
CN202010269856.4A 2020-04-08 2020-04-08 A method, device and equipment for obtaining circuit wiring topology information Active CN111488720B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010269856.4A CN111488720B (en) 2020-04-08 2020-04-08 A method, device and equipment for obtaining circuit wiring topology information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010269856.4A CN111488720B (en) 2020-04-08 2020-04-08 A method, device and equipment for obtaining circuit wiring topology information

Publications (2)

Publication Number Publication Date
CN111488720A CN111488720A (en) 2020-08-04
CN111488720B true CN111488720B (en) 2022-11-11

Family

ID=71798670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010269856.4A Active CN111488720B (en) 2020-04-08 2020-04-08 A method, device and equipment for obtaining circuit wiring topology information

Country Status (1)

Country Link
CN (1) CN111488720B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112699630B (en) * 2020-12-31 2023-09-15 杭州广立微电子股份有限公司 Square number acquisition method of single-layer connection structure and resistance value calculation method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102027418A (en) * 2008-05-15 2011-04-20 意法半导体(鲁塞)有限公司 Method for the real-time monitoring of integrated circuit manufacture through localized monitoring structures in OPC model space
EP2746861A2 (en) * 2012-12-18 2014-06-25 Samsung Electronics Co., Ltd Fixing device and image forming apparatus
CN106597804A (en) * 2016-11-30 2017-04-26 上海华力微电子有限公司 Front-layer graph identification-based optical proximity correction method for boundary of ion implanted layer
CN107239617A (en) * 2017-06-06 2017-10-10 北京华大九天软件有限公司 Compact wiring method based on track in a kind of special-shaped domain

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102027418A (en) * 2008-05-15 2011-04-20 意法半导体(鲁塞)有限公司 Method for the real-time monitoring of integrated circuit manufacture through localized monitoring structures in OPC model space
EP2746861A2 (en) * 2012-12-18 2014-06-25 Samsung Electronics Co., Ltd Fixing device and image forming apparatus
CN106597804A (en) * 2016-11-30 2017-04-26 上海华力微电子有限公司 Front-layer graph identification-based optical proximity correction method for boundary of ion implanted layer
CN107239617A (en) * 2017-06-06 2017-10-10 北京华大九天软件有限公司 Compact wiring method based on track in a kind of special-shaped domain

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Peng Yu等.TIP-OPC:A New Topological Invariant Paradigm for Pixel Based Optical Proximity Correction.《2007 IEEE/ACM International Conference on Computer-Aided Design》.2007,第847-853页. *
张一帆.《一种OPC友好的迷宫布线算法》.《中国优秀硕士学位论文全文数据库 (信息科技辑)》.2006,(第8期),第I135-72页. *
黄惠萍.《交替移相掩模技术的版图优化方法研究》.《中国优秀硕士学位论文全文数据库 (信息科技辑)》.2009,(第03期),第I135-87页. *

Also Published As

Publication number Publication date
CN111488720A (en) 2020-08-04

Similar Documents

Publication Publication Date Title
WO2021233165A1 (en) Method and apparatus for obtaining road semantic information, and device, and medium
CN112991307B (en) A defect circle fitting method, device and medium for drilling and blasting
CN114357932B (en) Signal line wiring method, device, equipment and readable storage medium
CN113486612A (en) Integrated circuit design method, device, electronic equipment and readable storage medium
CN109816749B (en) Map spot map symbol filling method, device, computer equipment and storage medium
JP2020042791A (en) Obstacle distribution simulation method, device, and terminal based on multi-model
WO2021115061A1 (en) Image segmentation method and apparatus, and server
CN111488720B (en) A method, device and equipment for obtaining circuit wiring topology information
CN115481268A (en) Parallel line wall data identification method, device, equipment and storage medium
CN112135414A (en) A printed circuit board and its hollow area wiring adjustment method, device and equipment
CN114708400A (en) Three-dimensional laser noise reduction method and device, medium and robot
CN118816906A (en) Lane line processing method, device, electronic device and storage medium
WO2024051498A1 (en) Polygon correction method and apparatus and polygon generation method and apparatus, electronic device, and computer readable storage medium
CN111319614A (en) Automatic parking path planning method and device and storage medium
CN113112488B (en) Road center line extraction method and device, storage medium and terminal equipment
CN115238638A (en) FPGA integrated circuit layout optimization method, device, equipment and storage medium
CN114693919A (en) Target detection method, terminal equipment and storage medium
CN114419190A (en) Method and device for generating visual guideline of grid map
CN118778349A (en) Layout splitting method, computer equipment, medium and program product
CN118424728A (en) Lane line projection method, device, computer equipment and storage medium
CN117909434A (en) Crowdsourcing trajectory point and collection task matching method, device, equipment and medium
CN114577225B (en) Map drawing method and device, electronic equipment and storage medium
CN115687549B (en) Rapid and efficient living circle demarcation method, device, equipment and medium
CN116542869A (en) Lane line vector smoothing method, high-precision map drawing method, device and equipment
CN113449051B (en) Map accuracy conversion method, device and storage medium

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