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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/39—Circuit design at the physical level
- G06F30/392—Floor-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
Description
技术领域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).
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
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器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
所述获取电路连线的拓扑信息设备20可包括,但不仅限于,处理器21、存储器22。本领域技术人员可以理解,所述示意图仅仅是获取电路连线的拓扑信息设备20的示例,并不构成对获取电路连线的拓扑信息设备20的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述获取电路连线的拓扑信息设备20还可以包括输入输出设备、网络接入设备、总线等。The device 20 for acquiring circuit connection topology information may include, but is not limited to, a
所述处理器21可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器21是所述获取电路连线的拓扑信息设备20的控制中心,利用各种接口和线路连接整个获取电路连线的拓扑信息设备20的各个部分。The
所述存储器22可用于存储所述计算机程序和/或模块,所述处理器21通过运行或执行存储在所述存储器22内的计算机程序和/或模块,以及调用存储在存储器22内的数据,实现所述获取电路连线的拓扑信息设备20的各种功能。所述存储器22可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。The
其中,所述获取电路连线的拓扑信息设备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
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。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)
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)
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)
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 |
-
2020
- 2020-04-08 CN CN202010269856.4A patent/CN111488720B/en active Active
Patent Citations (4)
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)
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 |