CN112395824B - 走线检测方法、装置及设备、存储介质 - Google Patents
走线检测方法、装置及设备、存储介质 Download PDFInfo
- Publication number
- CN112395824B CN112395824B CN202011354338.9A CN202011354338A CN112395824B CN 112395824 B CN112395824 B CN 112395824B CN 202011354338 A CN202011354338 A CN 202011354338A CN 112395824 B CN112395824 B CN 112395824B
- Authority
- CN
- China
- Prior art keywords
- line
- determining
- candidate
- sub
- lines
- 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
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/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/12—Printed circuit boards [PCB] or multi-chip modules [MCM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Internal Circuitry In Semiconductor Integrated Circuit Devices (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
Abstract
本发明提供一种走线检测方法、装置及设备、存储介质,可提升异常走线的检出效率及准确率。该方法包括:确定待检测的PCB设计文件中的走线层,所述走线层包含多条走线,其中,所述走线位于同一走线层或位于至少两个走线层;针对每一条走线,将该走线划分成若干线条,所述线条的长度小于或等于第一设定长度,基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条,并在所述拐角的角度小于或等于设定角度时,确定所述候选线条为被检测出的异常线条。
Description
技术领域
本发明涉及PCB(印刷线路板)布线技术领域,尤其涉及一种走线检测方法、装置及设备、存储介质。
背景技术
PCB是电子元器件的支撑体,是电子元器件电气连接的载体。由于它是采用电子印刷术制作的,故被称为“印刷”电路板。PCB从单层发展到双面、多层和挠性,并且仍旧保持着各自的发展趋势。由于不断地向高精度、高密度和高可靠性方向发展,不断缩小体积、减少成本、提高性能,使得PCB在未来电子设备的发展工程中,仍然保持着强大的生命力。
在PCB进行设计时,需要进行布线,在工程师设计走线的过程,很容易出现一些失误,比如将在高速信号走线时形成了如图1所示的线路板10'中的环形走线101'、或者形成了如图2所示的线路板20'中的U型走线201',这些形状的走线将会使得生产出的线路板产生天线效应,容易耦合高频信号,影响信号质量。
为了避免这种天线效应,目前的做法是,在走线完成时,通过人工肉眼观察的方式来检查是否存在环形或U型的异常走线,这种方式对于单层PCB来说是比较容易实现的,但是对于多层PCB而言,需要同时显示所有的走线层进行观察才能检测出来,容易有遗漏且较为繁琐,即效率极低又容易出错。
发明内容
本发明提供一种走线检测方法、装置及设备、存储介质,可提升异常走线的检出效率及准确率。
本发明的第一方面提供了一种走线检测方法,包括:
确定待检测的PCB设计文件中的走线层,所述走线层包含多条走线,其中,所述走线位于同一走线层或位于至少两个走线层;
针对每一条走线,将该走线划分成若干线条,所述线条的长度小于或等于第一设定长度,基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条,并在所述拐角的角度小于或等于设定角度时,确定所述候选线条为被检测出的异常线条。
根据本发明的一个实施例,所述基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条,包括:
确定该走线被划分出的每一线条从起点到终点的直线段方向;
从各线条中找出相邻、且从起点到终点的直线段方向之间的夹角大于0度的第一线条和第二线条;
从所述第一线条和第二线条中确定出所述候选线条。
根据本发明的一个实施例,所述第一设定长度大于可绘制的最小走线长度;所述线条为直线段或折线段;
从所述第一线条和第二线条中确定出所述候选线条,包括:
将所述第一线条和所述第二线条分别进行划分,得到多个子线段,每一子线段的长度均小于或等于所述最小走线长度;
基于相邻子线段之间的角度关系从所述多个子线段中确定出形成所述拐角的两个目标子线段;
基于所述两个目标子线段从所述第一线条和第二线条中确定出所述候选线条;
所述拐角的角度为所述两个目标子线段的夹角。
根据本发明的一个实施例,基于相邻子线段之间的角度关系从所述多个子线段中确定出形成所述拐角的两个目标子线段,包括:
从各子线段中找出相邻、且夹角小于180度的两个子线段;
将找出的两个子线段确定为形成所述拐角的两个目标子线段。
根据本发明的一个实施例,基于所述两个目标子线段从所述第一线条和第二线条中确定出所述候选线条,包括:
若所述两个目标子线段分别处于所述第一线条和所述第二线条,则将所述第一线条和所述第二线条确定为所述候选线条;
若所述两个目标子线段处于所述第一线条和所述第二线条中的任一线条,则将所述两个目标子线段所处的第一线条或第二线条确定为所述候选线条。
根据本发明的一个实施例,
所述第一设定长度小于或等于可绘制的最小走线长度;所述线条为直线段;
从所述第一线条和第二线条中确定出所述候选线条,包括:将所述第一线条和第二线条确定为所述候选线条;
所述拐角的角度为所述第一线条和第二线条之间的夹角。
根据本发明的一个实施例,确定所述候选线条为被检测出的异常线条进一步为:
判断所述候选线条是否为高速信号走线,若是,则确定所述候选线条为被检测出的异常线条。
根据本发明的一个实施例,确定所述候选线条为被检测出的异常线条之后,该方法进一步包括:
对异常线条设置标记,并在显示所述多个走线层时显示所述标记。
本发明第二方面提供一种走线检测装置,包括:
走线层确定模块,用于确定待检测的PCB设计文件中的走线层,所述走线层包含多条走线,其中,所述走线位于同一走线层或位于至少两个走线层;
异常线条检测模块,用于针对每一条走线,将该走线划分成若干线条,所述线条的长度小于或等于第一设定长度,基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条,并在所述拐角的角度小于或等于设定角度时,确定所述候选线条为被检测出的异常线条。
根据本发明的一个实施例,所述异常线条检测模块基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条时,具体用于:
确定该走线被划分出的每一线条从起点到终点的直线段方向;
从各线条中找出相邻、且从起点到终点的直线段方向之间的夹角大于0度的第一线条和第二线条;
从所述第一线条和第二线条中确定出所述候选线条。
根据本发明的一个实施例,所述第一设定长度大于可绘制的最小走线长度;所述线条为直线段或折线段;
所述异常线条检测模块从所述第一线条和第二线条中确定出所述候选线条时,具体用于:
将所述第一线条和所述第二线条分别进行划分,得到多个子线段,每一子线段的长度均小于或等于所述最小走线长度;
基于相邻子线段之间的角度关系从所述多个子线段中确定出形成所述拐角的两个目标子线段;
基于所述两个目标子线段从所述第一线条和第二线条中确定出所述候选线条;
所述拐角的角度为所述两个目标子线段的夹角。
根据本发明的一个实施例,所述异常线条检测模块基于相邻子线段之间的角度关系从所述多个子线段中确定出形成所述拐角的两个目标子线段时,具体用于:
从各子线段中找出相邻、且夹角小于180度的两个子线段;
将找出的两个子线段确定为形成所述拐角的两个目标子线段。
根据本发明的一个实施例,基于所述两个目标子线段从所述第一线条和第二线条中确定出所述候选线条,包括:
若所述两个目标子线段分别处于所述第一线条和所述第二线条,则将所述第一线条和所述第二线条确定为所述候选线条;
若所述两个目标子线段处于所述第一线条和所述第二线条中的任一线条,则将所述两个目标子线段所处的第一线条或第二线条确定为所述候选线条。
根据本发明的一个实施例,
所述第一设定长度小于或等于可绘制的最小走线长度;所述线条为直线段;
所述异常线条检测模块从所述第一线条和第二线条中确定出所述候选线条时,具体用于:将所述第一线条和第二线条确定为所述候选线条;
所述拐角的角度为所述第一线条和第二线条之间的夹角。
根据本发明的一个实施例,所述异常线条检测模块确定所述候选线条为被检测出的异常线条进一步用于:
判断所述候选线条是否为高速信号走线,若是,则确定所述候选线条为被检测出的异常线条。
根据本发明的一个实施例,所述异常线条检测模块确定所述候选线条为被检测出的异常线条之后,进一步用于:
对异常线条设置标记,并在显示所述多个走线层时显示所述标记。
本发明第三方面提供一种电子设备,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如前述实施例所述的走线检测方法。
本发明第四方面提供一种机器可读存储介质,其上存储有程序,该程序被处理器执行时,实现如前述实施例所述的走线检测方法。
本发明具有以下有益效果:
本发明实施例提供的走线检测方法中,可以先确定出PCB设计文件中的走线层,可以包括多个走线层,其中的走线可以位于同一走线层或位于不同走线层,对于本发明实施例的走线检测方法来说均适用,对于每一条走线而言,可以对走线进行划分得到若干线条,再根据相邻线条之间的方向关系确定出走线的拐角所在的候选线条,如果拐角的角度小于或等于设定角度比如90度,则说明候选线条上的拐角是极有可能导致走线形成U型走线或环形走线的,此时可以确定候选线条为异常线条,可便于用户后续对PCB设计文件中的异常线条进行角度调整,从而可避免环形或U型的异常走线,这种方式相比于肉眼观察检测来说,检出效率更高,且不易遗漏,检出的准确率也更高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是一种环形走线的示意图;
图2是一种U型走线的示意图;
图3是本发明一实施例的走线检测方法的流程示意图;
图4是本发明一实施例的确定候选线条的流程示意图;
图5是本发明一实施例的走线划分结果的示意图;
图6是本发明一实施例的进一步确定候选线条的流程示意图;
图7是本发明一实施例的第一线条和第二线条划分结果的示意图;
图8是本发明一实施例的走线检测装置的结构框图;
图9是本发明一实施例的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
在一个实施例中,参看图3,一种走线检测方法,可以包括以下步骤:
S100:确定待检测的PCB设计文件中的走线层,所述走线层包含多条走线,其中,所述走线位于同一走线层或位于至少两个走线层;
S200:针对每一条走线,将该走线划分成若干线条,所述线条的长度小于或等于第一设定长度,基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条,并在所述拐角的角度小于或等于设定角度时,确定所述候选线条为被检测出的异常线条。
本发明实施例的走线检测方法的执行主体为电子设备,进一步地可以为电子设备的处理器,其中,处理器可以为一个或多个,处理器可以为通用处理器或者专用处理器。
电子设备比如可以为计算机设备,具体类型不限,只要可以实现对PCB设计文件中的走线进行检测而已。电子设备可以通过运行预先保存的程序来实现上述的走线检测方法,该程序可以集成在PCB设计软件中、或者独立于PCB设计软件,具体不做限定。
步骤S100中,确定待检测的PCB设计文件中的走线层。
上述的PCB设计文件可以是多层PCB的设计文件,当然也可以是单层PCB的设计文件。由于对于多层PCB而言肉眼进行走线检测更为困难,所以本发明实施例对于这种情况而言效果更为显著,因而下面实施例内容将对PCB设计文件是多层PCB的设计文件展开描述,但不是作为限制。
在PCB设计文件是多层PCB的设计文件的情况下,可以确定出PCB设计文件中的多个走线层。在PCB设计文件,无论是走线还是其他对象,都有各自的属性,这里的其他对象比如包括平面等,平面可以为地平面和电源平面等,本发明实施例可不关注平面。比如,走线可以为“Conductor”属性,平面可以为“Plane”属性,具体可视设计软件而定。因而,可以根据走线属性确定出相应的走线层。
每个走线层都可以包含多条走线,一条走线可以位于同一走线层(即该条走线全部位于一个走线层),也可以位于至少两个走线层(即该走线分多个部分位于多个走线层)。当然,这多条走线中,可以有一些走线是位于同一走线层,一些走线位于多个走线层;或者,也可以全部都位于多个走线层,具体不做限定。
在设计PCB设计文件时,可以设置好每条走线的起点与终点,走线方向即为从走线的起点到终点的沿线方向,该方向随走线的走势而相应变化。走线的起点和终点即走线的两端,可以分别连接不同的引脚,或者也可以连接地平面、电源平面等,具体连接对象不限。
可选的,在确定出走线层之后,可以显示上述的走线层,显示方式具体不限,比如可以是展开显示、或层叠显示,可供用户查看。当然,此处只是举例,并不作为限制。
步骤S200中,针对每一条走线,将该走线划分成若干线条,所述线条的长度小于或等于第一设定长度,基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条,并在所述拐角的角度小于或等于设定角度时,确定所述候选线条为被检测出的异常线条。
走线具有一定长度,可以在走线绘制完成之后,获得走线的长度。
在将该走线分成若干线条时,可以将该走线划分成等长的线条或不等长的线条。可选的,可以沿着走线方向进行划分,每次划分出指定长度的线条,该指定长度比如可以等于第一设定长度,到最后只剩一段小于或等于该第一设定长度的线条为止。如此,一个走线被划分成的多个线条中,前几个线条的长度均为第一设定长度,最后一个线条的长度小于或等于第一设定长度。
这里的第一设定长度可以根据需要而定,可以为小于或等于1cm,比如5mm、0.1mm、0.01mm、0.001mm等,具体不做限定。
如果两个相邻线条上不存在拐角,则这两个相邻线条应该是共线的,也就是说,两个相邻线条从起点到终点的方向是一致的。如果两个相邻线条上存在拐角,则两个相邻线条之间不是共线的,两个相邻线条从起点到终点的方向是不一致的。因此,可以根据相邻线条之间的方向关系,来确定这两个相邻线条上是否存在拐角,并确定拐角所在的候选线条。
相邻线条是指具有交点的两个线条,即一个线条的终点是另一个线条的起点,则这两个线条为两个相邻的线条。
可选的,参看图4,步骤S200中,所述基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条,可以包括以下步骤:
S201:确定该走线被划分出的每一线条从起点到终点的直线段方向;
S202:从各线条中找出相邻、且从起点到终点的直线段方向之间的夹角大于0度的第一线条和第二线条;
S203:从所述第一线条和第二线条中确定出所述候选线条。
走线被划分出的每一线条都有相应的起点和终点,线条的起点可以是线条上更靠近走线的起点的端点,线条的终点则可以是。在划分时,可以记录每一线条的起点和终点的坐标。
图5示出了PCB10上一走线101的一种划分结果,走线101的起点为P0,终点为P20,该走线101的划分点一共19个,分别为P1-P19,从而被划分成20个线条,分别是,其中,前19个线条的长度都相同均等于第一设定长度,最后一个线条长度则短于第一设定长度。
其中,起点为P2、终点为P3的线条与起点为P3、终点为P4的线条,两者相邻,且直线段方向之间的夹角大于0度,因而可以分别作为第一线条和第二线条。
起点为P6、终点为P7的线条与起点为P7、终点为P8的线条,两者相邻,且直线段方向之间的夹角大于0度,因而也可以分别作为第一线条和第二线条。
起点为P10、终点为P11的线条与起点为P11、终点为P12的线条,两者相邻,且直线段方向之间的夹角大于0度,因而也可以分别作为第一线条和第二线条。
起点为P14、终点为P15的线条与起点为P16、终点为P17的线条,两者相邻,且直线段方向之间的夹角大于0度,因而也可以分别作为第一线条和第二线条。
在确定出第一线条和第二线条之后,便可从中确定出候选线条,候选线条是拐角所在的线条,而拐角有可能处于一个线条上,此时候选线条为1个,拐角也有可能由两个线条形成,此时候选线条为2个。
可以理解,图5只是示出了一种走线划分结果,这种划分结果中,一部分线条是直线段,另一部分则是折线段。实际还可以由其他的走线划分结果,比如,划分出的所有线条都是直线段。
在一个可选的候选线条确定方式中,所述第一设定长度大于可绘制的最小走线长度;所述线条为直线段或折线段,走线划分结果可以如图5所示。
相应的,参看图6,步骤S203中,从所述第一线条和第二线条中确定出所述候选线条,可以包括以下步骤:
S2031:将所述第一线条和所述第二线条分别进行划分,得到多个子线段,每一子线段的长度均小于或等于所述最小走线长度;
S2032:基于相邻子线段之间的角度关系从所述多个子线段中确定出形成所述拐角的两个目标子线段;
S2033:基于所述两个目标子线段从所述第一线条和第二线条中确定出所述候选线条。
相应的,所述拐角的角度为所述两个目标子线段的夹角。
上述的最小走线长度,也就是走线的精度,比如可以为0.01mm,再短的走线就无法绘制出了,那么,以最小走线长度或比最小走线长度更小的长度对第一线条和第二线条进行划分,得到的子线段均为直线段。
可选的,这些子线段的长度可以相同,比如都可以等于0.001mm。对于第一线条划分时,可以从第一线条的起点开始沿着第一线条的走线方向(第一线条的起点到终点的沿线方向)进行划分,每次划分出固定长度比如0.001mm的子线段,直至第一线条的终点。第二线条也是同理,在此不再赘述。
以起点为P2、终点为P3的第一线条与起点为P3、终点为P4的第二线条为例来说明,图7是示出了图6中PCB的局部区域X,该局部区域X中包含这两个线条。对起点为P2、终点为P3的第一线条进行划分,得到图7所示的6个子线段分别为P2Q1、Q1Q2、Q2Q3、Q3Q4、Q4Q5、Q5P3,这些子线段均为直线段。对起点为P3、终点为P4的第二线条进行划分,得到图7所示的6个子线段分别为P3Q6、Q6Q7、Q7Q8、Q8Q9、Q9Q10、Q10P4,这些子线段均为直线段。
由于这些子线段都是直线段,拐角必然由两个相邻、且夹角不为180度的子线段形成,即可以基于相邻子线段之间的角度关系从所述多个子线段中确定出形成所述拐角的两个目标子线段。
优选的,步骤S2032中,基于相邻子线段之间的角度关系从所述多个子线段中确定出形成所述拐角的两个目标子线段,包括:
从各子线段中找出相邻、且夹角小于180度的两个子线段;
将找出的两个子线段确定为形成所述拐角的两个目标子线段。
如图7所示,拐角由子线段Q3Q4与子线段Q4Q5形成,子线段Q3Q4与子线段Q4Q5为形成所述拐角的两个目标子线段。子线段Q3Q4与子线段Q4Q5形成的拐角的角度为90度。同理,可以检测出如图5所示的其他3个拐角以及相应的目标子线段,其他3个拐角的角度同样为90度。
步骤S2033中,基于所述两个目标子线段从所述第一线条和第二线条中确定出所述候选线条,可以包括:
若所述两个目标子线段分别处于所述第一线条和所述第二线条,则将所述第一线条和所述第二线条确定为所述候选线条;
若所述两个目标子线段处于所述第一线条和所述第二线条中的任一线条,则将所述两个目标子线段所处的第一线条或第二线条确定为所述候选线条。
将拐角的角度与设定角度进行比较,在所述拐角的角度小于或等于设定角度时,确定相应的候选线条为被检测出的异常线条。
优选来说,设定角度可以为90度,在拐角的角度小于或等于90度时,即拐角为直角或锐角时,候选线条就会被确定为是异常线条,如此,可以便于用户确认哪些走线有可能形成环形走线或U型走线,从而避免出现这种情况。当然,设定角度也可以设置为大于90度的一个值,具体不做限定。
以设定角度为90度为例,如图7所示的拐角的角度为90度,所以,子线段Q3Q4与子线段Q4Q5所在的线条(即以起点为P2、终点为P3的线条)为候选线条,拐角的角度为90度,因此该候选线条为异常线条。同理,图5中,以起点为P6、终点为P7的线条也为候选线条,以起点为P10、终点为P11的线条与以起点为P11、终点为P12的线条也为候选线条,以起点为P14、终点为P15的线条也为候选线条,相应的拐角的角度均为90度,因而这些候选线条同样为异常线条。
在另一个可选的候选线条确定方式中,所述第一设定长度小于或等于可绘制的最小走线长度;所述线条为直线段。相应的,步骤S203中,从所述第一线条和第二线条中确定出所述候选线条,包括:将所述第一线条和第二线条确定为所述候选线条。
相应的,所述拐角的角度为所述第一线条和第二线条之间的夹角。
本方式中,仅需对走线进行一次划分,但是划分的粒度较细,每个线条都小于或等于可绘制的最小走线长度,比如都为0.001mm,所以,得到的线条都是直线段,这种情况下,拐角必然形成在两个线条之间,所以可以直接将第一线条和第二线条确定为所述候选线条。
两个候选线条确定方式比较而言,前一个候选线条确定方式是更优选的,可以先以较大的线条长度对线条进行划分,定位出第一线条和第二线条之后,再以较小的线条长度仅对第一线条和第二线条进行划分,进而定位出拐角所在的两个目标子线段,从而确定候选线条,该方式中,划分点更少,划分出的线条数量就更少,那么两两判断线条之间的角度所需的处理量就更少,处理效率更高,对用户来说更友好。
在一个实施例中,步骤S200中,确定所述候选线条为被检测出的异常线条进一步为:
判断所述候选线条是否为高速信号走线,若是,则确定所述候选线条为被检测出的异常线条。
高速信号是指信号上升时间小于6倍的传输延时的信号,通常信号的上升时间取电平幅度值从10%上升到90%的时间范围。比如,高速信号可以为时钟信号等。
一般来说,其他走线形成环形或者U型问题不大,所以可以优选在候选线条为高速信号走线时,才确定候选线条为异常线条,以便于用户可以快速地确定出哪些高速信号走线可能形成了环形或U型走线,从而快速地进行调整。
在一个实施例中,确定所述候选线条为被检测出的异常线条之后,该方法进一步包括:
对异常线条设置标记,并在显示所述多个走线层时显示所述标记。
这里的标记比如可以为高亮标记,可以在显示走线层时,将其中的异常线条进行高亮显示,以便于用户区分。
综上,本发明实施例提供的走线检测方法中,可以先确定出PCB设计文件中的走线层,可以包括多个走线层,其中的走线可以位于同一走线层或位于不同走线层,对于本发明实施例的走线检测方法来说均适用,对于每一条走线而言,可以对走线进行划分得到若干线条,再根据相邻线条之间的方向关系确定出走线的拐角所在的候选线条,如果拐角的角度小于或等于设定角度比如90度,则说明候选线条上的拐角是极有可能导致走线形成U型走线或环形走线的,此时可以确定候选线条为异常线条,可便于用户后续对PCB设计文件中的异常线条进行角度调整,从而可避免环形或U型的异常走线,这种方式相比于肉眼观察检测来说,检出效率更高,且不易遗漏,检出的准确率也更高。
本发明还提供一种走线检测装置,参看图8,该走线检测装置200包括:
走线层确定模块201,用于确定待检测的PCB设计文件中的走线层,所述走线层包含多条走线,其中,所述走线位于同一走线层或位于至少两个走线层;
异常线条检测模块202,用于针对每一条走线,将该走线划分成若干线条,所述线条的长度小于或等于第一设定长度,基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条,并在所述拐角的角度小于或等于设定角度时,确定所述候选线条为被检测出的异常线条。
在一个实施例中,所述异常线条检测模块基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条时,具体用于:
确定该走线被划分出的每一线条从起点到终点的直线段方向;
从各线条中找出相邻、且从起点到终点的直线段方向之间的夹角大于0度的第一线条和第二线条;
从所述第一线条和第二线条中确定出所述候选线条。
在一个实施例中,所述第一设定长度大于可绘制的最小走线长度;所述线条为直线段或折线段;
所述异常线条检测模块从所述第一线条和第二线条中确定出所述候选线条时,具体用于:
将所述第一线条和所述第二线条分别进行划分,得到多个子线段,每一子线段的长度均小于或等于所述最小走线长度;
基于相邻子线段之间的角度关系从所述多个子线段中确定出形成所述拐角的两个目标子线段;
基于所述两个目标子线段从所述第一线条和第二线条中确定出所述候选线条;
所述拐角的角度为所述两个目标子线段的夹角。
在一个实施例中,所述异常线条检测模块基于相邻子线段之间的角度关系从所述多个子线段中确定出形成所述拐角的两个目标子线段时,具体用于:
从各子线段中找出相邻、且夹角小于180度的两个子线段;
将找出的两个子线段确定为形成所述拐角的两个目标子线段。
在一个实施例中,基于所述两个目标子线段从所述第一线条和第二线条中确定出所述候选线条,包括:
若所述两个目标子线段分别处于所述第一线条和所述第二线条,则将所述第一线条和所述第二线条确定为所述候选线条;
若所述两个目标子线段处于所述第一线条和所述第二线条中的任一线条,则将所述两个目标子线段所处的第一线条或第二线条确定为所述候选线条。
在一个实施例中,
所述第一设定长度小于或等于可绘制的最小走线长度;所述线条为直线段;
所述异常线条检测模块从所述第一线条和第二线条中确定出所述候选线条时,具体用于:将所述第一线条和第二线条确定为所述候选线条;
所述拐角的角度为所述第一线条和第二线条之间的夹角。
在一个实施例中,所述异常线条检测模块确定所述候选线条为被检测出的异常线条进一步用于:
判断所述候选线条是否为高速信号走线,若是,则确定所述候选线条为被检测出的异常线条。
在一个实施例中,所述异常线条检测模块确定所述候选线条为被检测出的异常线条之后,进一步用于:
对异常线条设置标记,并在显示所述多个走线层时显示所述标记。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。
本发明还提供一种电子设备,包括处理器及存储器;存储器存储有可被处理器调用的程序;其中,处理器执行程序时,实现如前述实施例中的走线检测方法。
本发明走线检测装置的实施例可以应用在电子设备上。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图9所示,图9是本发明根据一示例性实施例示出的走线检测装置200所在电子设备的一种硬件结构图,除了图9所示的处理器510、内存530、网络接口520、以及非易失性存储器540之外,实施例中走线检测装置200所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
本发明还提供一种机器可读存储介质,其上存储有程序,该程序被处理器执行时,实现如前述实施例中的走线检测方法。
本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。机器可读存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。机器可读存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种走线检测方法,其特征在于,包括:
确定待检测的PCB设计文件中的走线层,所述走线层包含多条走线,其中,所述走线位于同一走线层或位于至少两个走线层;
针对每一条走线,将该走线划分成若干线条,所述线条的长度小于或等于第一设定长度,基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条,并在所述拐角的角度小于或等于设定角度时,确定所述候选线条为被检测出的异常线条;
其中,所述基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条,包括:
确定该走线被划分出的每一线条从起点到终点的直线段方向;
从各线条中找出相邻、且从起点到终点的直线段方向之间的夹角大于0度的第一线条和第二线条;
从所述第一线条和第二线条中确定出所述候选线条;
其中,所述第一设定长度大于可绘制的最小走线长度;所述线条为直线段或折线段;
从所述第一线条和第二线条中确定出所述候选线条,包括:
将所述第一线条和所述第二线条分别进行划分,得到多个子线段,每一子线段的长度均小于或等于所述最小走线长度;
基于相邻子线段之间的角度关系从所述多个子线段中确定出形成所述拐角的两个目标子线段;
基于所述两个目标子线段从所述第一线条和第二线条中确定出所述候选线条;
所述拐角的角度为所述两个目标子线段的夹角。
2.如权利要求1所述的走线检测方法,其特征在于,基于相邻子线段之间的角度关系从所述多个子线段中确定出形成所述拐角的两个目标子线段,包括:
从各子线段中找出相邻、且夹角小于180度的两个子线段;
将找出的两个子线段确定为形成所述拐角的两个目标子线段。
3.如权利要求1所述的走线检测方法,其特征在于,基于所述两个目标子线段从所述第一线条和第二线条中确定出所述候选线条,包括:
若所述两个目标子线段分别处于所述第一线条和所述第二线条,则将所述第一线条和所述第二线条确定为所述候选线条;
若所述两个目标子线段处于所述第一线条和所述第二线条中的任一线条,则将所述两个目标子线段所处的第一线条或第二线条确定为所述候选线条。
4.如权利要求1所述的走线检测方法,其特征在于,
所述第一设定长度小于或等于可绘制的最小走线长度;所述线条为直线段;
从所述第一线条和第二线条中确定出所述候选线条,包括:将所述第一线条和第二线条确定为所述候选线条;
所述拐角的角度为所述第一线条和第二线条之间的夹角。
5.如权利要求1所述的走线检测方法,其特征在于,确定所述候选线条为被检测出的异常线条进一步为:
判断所述候选线条是否为高速信号走线,若是,则确定所述候选线条为被检测出的异常线条。
6.如权利要求1或5所述的走线检测方法,其特征在于,确定所述候选线条为被检测出的异常线条之后,该方法进一步包括:
对异常线条设置标记,并在显示多个走线层时显示所述标记。
7.一种走线检测装置,其特征在于,包括:
走线层确定模块,用于确定待检测的PCB设计文件中的走线层,所述走线层包含多条走线,其中,所述走线位于同一走线层或位于至少两个走线层;
异常线条检测模块,用于针对每一条走线,将该走线划分成若干线条,所述线条的长度小于或等于第一设定长度,基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条,并在所述拐角的角度小于或等于设定角度时,确定所述候选线条为被检测出的异常线条;
其中,所述异常线条检测模块基于相邻线条之间的方向关系从被划分出的线条中确定出该走线的拐角所在的候选线条时,具体用于:
确定该走线被划分出的每一线条从起点到终点的直线段方向;
从各线条中找出相邻、且从起点到终点的直线段方向之间的夹角大于0度的第一线条和第二线条;
从所述第一线条和第二线条中确定出所述候选线条;
其中,所述第一设定长度大于可绘制的最小走线长度;所述线条为直线段或折线段;
所述异常线条检测模块从所述第一线条和第二线条中确定出所述候选线条时,具体用于:
将所述第一线条和所述第二线条分别进行划分,得到多个子线段,每一子线段的长度均小于或等于所述最小走线长度;
基于相邻子线段之间的角度关系从所述多个子线段中确定出形成所述拐角的两个目标子线段;
基于所述两个目标子线段从所述第一线条和第二线条中确定出所述候选线条;
所述拐角的角度为所述两个目标子线段的夹角。
8.一种电子设备,其特征在于,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如权利要求1-6中任一项所述的走线检测方法。
9.一种机器可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现如权利要求1-6中任一项所述的走线检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011354338.9A CN112395824B (zh) | 2020-11-26 | 2020-11-26 | 走线检测方法、装置及设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011354338.9A CN112395824B (zh) | 2020-11-26 | 2020-11-26 | 走线检测方法、装置及设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112395824A CN112395824A (zh) | 2021-02-23 |
CN112395824B true CN112395824B (zh) | 2023-07-28 |
Family
ID=74604601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011354338.9A Active CN112395824B (zh) | 2020-11-26 | 2020-11-26 | 走线检测方法、装置及设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395824B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751482A (zh) * | 2008-12-01 | 2010-06-23 | 英业达股份有限公司 | 电路布局的线迹检查方法 |
CN101751485A (zh) * | 2008-12-16 | 2010-06-23 | 英业达股份有限公司 | 辅助编辑装置和方法 |
CN102855337A (zh) * | 2011-06-27 | 2013-01-02 | 鸿富锦精密工业(深圳)有限公司 | 自动化布线检查系统及方法 |
CN111310106A (zh) * | 2020-01-19 | 2020-06-19 | 浙江工业大学 | 一种基于逐步逼近原始轮廓的b样条拟合优化方法 |
CN111353270A (zh) * | 2020-02-26 | 2020-06-30 | 上海柏楚数控科技有限公司 | 自动检查走线的处理方法、装置、电子设备与存储介质 |
CN111553966A (zh) * | 2020-04-24 | 2020-08-18 | 泰华智慧产业集团股份有限公司 | 基于ArcGIS API for JavaScript实现动画回放历史轨迹的方法 |
CN111859847A (zh) * | 2020-06-29 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 印制电路板的走线检测方法、装置及计算机可读存储介质 |
-
2020
- 2020-11-26 CN CN202011354338.9A patent/CN112395824B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751482A (zh) * | 2008-12-01 | 2010-06-23 | 英业达股份有限公司 | 电路布局的线迹检查方法 |
CN101751485A (zh) * | 2008-12-16 | 2010-06-23 | 英业达股份有限公司 | 辅助编辑装置和方法 |
CN102855337A (zh) * | 2011-06-27 | 2013-01-02 | 鸿富锦精密工业(深圳)有限公司 | 自动化布线检查系统及方法 |
CN111310106A (zh) * | 2020-01-19 | 2020-06-19 | 浙江工业大学 | 一种基于逐步逼近原始轮廓的b样条拟合优化方法 |
CN111353270A (zh) * | 2020-02-26 | 2020-06-30 | 上海柏楚数控科技有限公司 | 自动检查走线的处理方法、装置、电子设备与存储介质 |
CN111553966A (zh) * | 2020-04-24 | 2020-08-18 | 泰华智慧产业集团股份有限公司 | 基于ArcGIS API for JavaScript实现动画回放历史轨迹的方法 |
CN111859847A (zh) * | 2020-06-29 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 印制电路板的走线检测方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112395824A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8458645B2 (en) | Electronic device and method for checking layout of printed circuit board | |
US7409665B2 (en) | Method for checking return path of printed and CAD apparatus for designing patterns of printed board | |
CN111880076B (zh) | 一种信号测试点检测方法、系统及相关组件 | |
CN108846176B (zh) | 一种印刷电路板布线的检查方法、装置及电子设备 | |
US20110047524A1 (en) | System and method for inspecting layout of a printed circuit board | |
CN109685764B (zh) | 产品定位方法、装置及终端设备 | |
CN102799853A (zh) | 电路板的测试点图形化辨识系统及方法 | |
CN107608737B (zh) | 动画播放方法及装置 | |
CN112395824B (zh) | 走线检测方法、装置及设备、存储介质 | |
JP2016156648A (ja) | パターン検査装置およびパターン検査方法 | |
US8781783B2 (en) | System and method for checking ground vias of a controller chip of a printed circuit board | |
JPWO2015012002A1 (ja) | 配線長測定装置及びプログラム | |
US20100269080A1 (en) | Computer-aided design system and method for simulating pcb specifications | |
JP6433159B2 (ja) | 情報処理装置、方法及びプログラム | |
CN116598219B (zh) | 一种可视化晶圆图的生成方法、装置及电子设备 | |
CN116070576B (zh) | 差分信号线线间距修改方法、装置、电子设备及存储介质 | |
JP6029493B2 (ja) | データ生成装置およびデータ生成方法 | |
CN115620254A (zh) | 车道线检测的评估方法、装置、设备和存储介质 | |
CN113673198A (zh) | 一种pcb中走线检查方法、系统、设备以及介质 | |
CN113642281B (zh) | Pcb设计图的检测方法、装置、设备及介质 | |
CN111542175B (zh) | 一种元件封装比较方法和相关装置 | |
CN111880078A (zh) | 一种自动化指令测试的方法及设备 | |
CN104933705A (zh) | 一种时空环数据结构进行槽孔检测的方法及装置 | |
US20130246994A1 (en) | Wiring check device and wiring check system | |
CN110736911A (zh) | 飞针测试方法、飞针测试装置、飞针测试设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |