CN115130424A - 一种多层pcb板自动布线方法、装置、设备及介质 - Google Patents
一种多层pcb板自动布线方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115130424A CN115130424A CN202210764716.3A CN202210764716A CN115130424A CN 115130424 A CN115130424 A CN 115130424A CN 202210764716 A CN202210764716 A CN 202210764716A CN 115130424 A CN115130424 A CN 115130424A
- Authority
- CN
- China
- Prior art keywords
- point coordinate
- path
- pcb
- starting point
- wiring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004590 computer program Methods 0.000 claims description 17
- 238000010845 search algorithm Methods 0.000 claims description 9
- 238000004080 punching Methods 0.000 claims description 6
- 229910000679 solder Inorganic materials 0.000 claims description 6
- 239000010410 layer Substances 0.000 description 113
- 239000002356 single layer Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001052 transient effect Effects 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/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/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]
Abstract
本申请公开了一种多层PCB板自动布线方法、装置、设备及介质,涉及集成电路设计及应用领域,包括:获取第一起始点坐标和第一终止点坐标,以确定出第一路径;判断第一起始点通过第一路径是否能到达第一终止点坐标;若不能,则将第一路径的结束点坐标作为目标起始点坐标,将第一起始点坐标和第一终止点坐标对调;基于第二起始点坐标和第二终止点坐标确定出第二路径,判断第二起始点通过第二路径是否能到达第二终止点坐标,若不能,则将第二路径的结束点坐标作为目标终止点坐标,以便将目标起始点坐标和目标终止点坐标作为下一布线层的第一起始点坐标和第一终止点坐标,直至完成。本申请能够增加自动布线的准确率,并提高多层PCB的布线效率和布通率。
Description
技术领域
本发明涉及集成电路设计及应用领域,特别涉及一种多层PCB板自动布线方法、装置、设备及介质。
背景技术
目前,在PCB(Printed Circuit Board,印刷电路板)设计中,布线是至关重要的一步,布线的好坏直接会影响到PCB板是否可用。但是布线却是一个需要耗费大量人力、时间的问题,通常一个稍微复杂的PCB板,也需要工程师数周或者数月的时间来完成布线。为了解决PCB布线耗时耗力的问题,PCB自动布线算法也应用而生,其对一些简单的单层板或者双层板来说,效果还不错,但是对于复杂的多层板,通常效果不尽如人意,现有技术中均没有介绍在PCB多层板的情况下,过孔如何选择问题,除了当前层以外的其它层,在布线时的起始点和终止点的选择问题。这些方法也仅适用于在当前层进行布线,但是,现在的PCB板,多层板的情况占绝大多数,单层板在实际工业应用中已经相当少了
由上可见,在多层PCB板自动布线的过程中,如何解决多层PCB板的布线问题,从而能够增加自动布线的准确率,并且提高多层PCB的布线效率和布通率是本领域有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种多层PCB板自动布线方法、装置、设备及介质,能够有效解决多层PCB板的布线问题,从而能够增加自动布线的准确率,并且提高多层PCB的布线效率和布通率。其具体方案如下:
第一方面,本申请公开了一种多层PCB板自动布线方法,包括:
获取PCB起始布线层的第一起始点坐标和第一终止点坐标,并基于所述第一起始点坐标和所述第一终止点坐标确定出第一路径;
判断所述第一起始点通过所述第一路径是否能到达所述第一终止点坐标;若所述第一起始点通过所述第一路径不能到达所述第一终止点坐标,则将第一路径的结束点坐标作为目标起始点坐标,并将所述第一起始点坐标和所述第一终止点坐标进行对调,以得到第二起始点坐标和第二终止点坐标;
基于所述第二起始点坐标和所述第二终止点坐标确定出第二路径,并判断所述第二起始点通过所述第二路径是否能到达所述第二终止点坐标,若所述第二起始点通过所述第二路径不能到达所述第二终止点坐标,则将所述第二路径的结束点坐标作为目标终止点坐标,以便将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标,直至布线完成。
可选的,确定出PCB板的起始布线层和待布线层;所述起始布线层包括顶层助焊层或底层阻焊层;
获取PCB板起始布线层的待布线对;所述待布线对包括第一起始点坐标和第一终止点坐标。
可选的,所述基于所述第一起始点坐标和所述第一终止点坐标确定出第一路径,包括:
利用启发式搜索算法对所述第一起始点坐标与所述第一终止点坐标之间的所有路径进行搜索,以得到第一路径。
可选的,所述将所述第一起始点坐标和所述第一终止点坐标进行对调,以得到第二起始点坐标和第二终止点坐标,包括:
将所述第一起始点坐标作为所述第二终止点坐标,并将所述第一终止点坐标作为所述第二起始点坐标,以便利用所述启发式搜索算法确定出所述第二起始点坐标与所述第二终止点坐标之间的第二路径。
可选的,所述判断所述第一起始点通过所述第一路径是否能到达所述第一终止点坐标,包括:
若所述第一起始点通过所述第一路径能到达所述第一终止点坐标,则PCB板布线结束,将所述第一路径保存并设置为所述第一起始点坐标与所述第一终止点坐标之间的最终布线路径;
相应的,所述判断所述第二起始点通过所述第二路径是否能到达所述第二终止点坐标之后,还包括:
若所述第二起始点通过所述第二路径能到达所述第二终止点坐标,则PCB板布线结束,将所述第二路径保存并设置为所述第二起始点坐标与所述第二终止点坐标之间的最终布线路径。
可选的,所述将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标,包括:
将所述目标起始点坐标和所述目标终止点坐标作为PCB起始布线层的过孔位置,并进行打孔;
将过孔位置作为PCB下一布线层的第一起始点坐标和第一终止点坐标。
可选的,所述将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标之后,还包括:
若所述PCB下一布线层的第一起始点坐标和第一终止点坐标之间没有最终布线路径,则根据PCB板的待布线层重复进行上述操作,以得到多层PCB板的最终布线路径。
第二方面,本申请公开了一种多层PCB板自动布线装置,包括:
第一路径确定模块,用于获取PCB起始布线层的第一起始点坐标和第一终止点坐标,并基于所述第一起始点坐标和所述第一终止点坐标确定出第一路径;
坐标对调模块,用于判断所述第一起始点通过所述第一路径是否能到达所述第一终止点坐标;若所述第一起始点通过所述第一路径不能到达所述第一终止点坐标,则将第一路径的结束点坐标作为目标起始点坐标,并将所述第一起始点坐标和所述第一终止点坐标进行对调,以得到第二起始点坐标和第二终止点坐标;
布线模块,用于基于所述第二起始点坐标和所述第二终止点坐标确定出第二路径,并判断所述第二起始点通过所述第二路径是否能到达所述第二终止点坐标,若所述第二起始点通过所述第二路径不能到达所述第二终止点坐标,则将所述第二路径的结束点坐标作为目标终止点坐标,以便将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标,直至布线完成。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的多层PCB板自动布线方法。
第四方面,本申请公开了一种计算机存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的多层PCB板自动布线方法的步骤。
可见,本申请提供了一种多层PCB板自动布线方法,包括获取PCB起始布线层的第一起始点坐标和第一终止点坐标,并基于所述第一起始点坐标和所述第一终止点坐标确定出第一路径;判断所述第一起始点通过所述第一路径是否能到达所述第一终止点坐标;若所述第一起始点通过所述第一路径不能到达所述第一终止点坐标,则将第一路径的结束点坐标作为目标起始点坐标,并将所述第一起始点坐标和所述第一终止点坐标进行对调,以得到第二起始点坐标和第二终止点坐标;基于所述第二起始点坐标和所述第二终止点坐标确定出第二路径,并判断所述第二起始点通过所述第二路径是否能到达所述第二终止点坐标,若所述第二起始点通过所述第二路径不能到达所述第二终止点坐标,则将所述第二路径的结束点坐标作为目标终止点坐标,以便将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标,直至布线完成。本申请采用Astar(启发式搜索)算法进行路径寻优,当无法获取到当前布线层的最优路径时,当在当前布线层无法布通线路时,通过确定当前层的过孔位置,并将过孔位置作为下一布线层的起始点和终止点进行布线,从而实现了多层PCB板的自动布线,能够有效解决多层PCB板的布线问题,从而能够增加自动布线的准确率,并且提高多层PCB的布线效率和布通率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种多层PCB板自动布线方法流程图;
图2为本申请公开的一种多层PCB板自动布线方法流程图;
图3为本申请公开的一种多层PCB板自动布线方法具体流程示意图;
图4为本申请公开的一种多层PCB板自动布线装置结构示意图;
图5为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在PCB设计中,布线是至关重要的一步,布线的好坏直接会影响到PCB板是否可用。但是布线却是一个需要耗费大量人力、时间的问题,通常一个稍微复杂的PCB板,也需要工程师数周或者数月的时间来完成布线。为了解决PCB布线耗时耗力的问题,PCB自动布线算法也应用而生,其对一些简单的单层板或者双层板来说,效果还不错,但是对于复杂的多层板,通常效果不尽如人意,现有技术中均没有介绍在PCB多层板的情况下,过孔如何选择问题,除了当前层以外的其它层,在布线时的起始点和终止点的选择问题。这些方法也仅适用于在当前层进行布线,但是,现在的PCB板,多层板的情况占绝大多数,单层板在实际工业应用中已经相当少了。由上可见,在多层PCB板自动布线的过程中,如何解决多层PCB板的布线问题,从而能够增加自动布线的准确率,并且提高多层PCB的布线效率和布通率是本领域有待解决的问题。
参见图1所示,本发明实施例公开了一种多层PCB板自动布线方法,具体可以包括:
步骤S11:获取PCB起始布线层的第一起始点坐标和第一终止点坐标,并基于所述第一起始点坐标和所述第一终止点坐标确定出第一路径。
本实施例中,确定出PCB板的起始布线层和待布线层;所述起始布线层包括顶层助焊层或底层阻焊层,然后获取PCB板起始布线层的待布线对;所述待布线对包括第一起始点坐标和第一终止点坐标,然后利用Astar算法对所述第一起始点坐标与所述第一终止点坐标之间的所有路径进行搜索,以得到第一路径。
Astar算法是一种启发式搜索算法,也是最佳优先搜索,其在每次决策时,首先搜索最优可能通向目标的路线。该算法也是路径搜索算法中使用较多,效果较好,搜索耗时较短的一种路径搜索算法,且近些年来,也被大量应用于PCB布线问题中。
步骤S12:判断所述第一起始点通过所述第一路径是否能到达所述第一终止点坐标;若所述第一起始点通过所述第一路径不能到达所述第一终止点坐标,则将第一路径的结束点坐标作为目标起始点坐标,并将所述第一起始点坐标和所述第一终止点坐标进行对调,以得到第二起始点坐标和第二终止点坐标。
本实施例中,将第一路径的结束点坐标作为目标起始点坐标之后,将所述第一起始点坐标作为所述第二终止点坐标,并将所述第一终止点坐标作为所述第二起始点坐标,以便利用所述Astar算法确定出所述第二起始点坐标与所述第二终止点坐标之间的第二路径。
步骤S13:基于所述第二起始点坐标和所述第二终止点坐标确定出第二路径,并判断所述第二起始点通过所述第二路径是否能到达所述第二终止点坐标,若所述第二起始点通过所述第二路径不能到达所述第二终止点坐标,则将所述第二路径的结束点坐标作为目标终止点坐标,以便将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标,直至布线完成。
本实施例中,获取PCB起始布线层的第一起始点坐标和第一终止点坐标,并基于所述第一起始点坐标和所述第一终止点坐标确定出第一路径;判断所述第一起始点通过所述第一路径是否能到达所述第一终止点坐标;若所述第一起始点通过所述第一路径不能到达所述第一终止点坐标,则将第一路径的结束点坐标作为目标起始点坐标,并将所述第一起始点坐标和所述第一终止点坐标进行对调,以得到第二起始点坐标和第二终止点坐标;基于所述第二起始点坐标和所述第二终止点坐标确定出第二路径,并判断所述第二起始点通过所述第二路径是否能到达所述第二终止点坐标,若所述第二起始点通过所述第二路径不能到达所述第二终止点坐标,则将所述第二路径的结束点坐标作为目标终止点坐标,以便将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标,直至布线完成。本申请采用Astar(启发式搜索)算法进行路径寻优,当无法获取到当前布线层的最优路径时,当在当前布线层无法布通线路时,通过确定当前层的过孔位置,并将过孔位置作为下一布线层的起始点和终止点进行布线,从而实现了多层PCB板的自动布线,能够有效解决多层PCB板的布线问题,从而能够增加自动布线的准确率,并且提高多层PCB的布线效率和布通率。
参见图2所示,本发明实施例公开了一种多层PCB板自动布线方法,具体可以包括:
步骤S21:获取PCB起始布线层的第一起始点坐标和第一终止点坐标,并基于所述第一起始点坐标和所述第一终止点坐标确定出第一路径。
步骤S22:判断所述第一起始点通过所述第一路径是否能到达所述第一终止点坐标;若所述第一起始点通过所述第一路径不能到达所述第一终止点坐标,则将第一路径的结束点坐标作为目标起始点坐标,并将所述第一起始点坐标和所述第一终止点坐标进行对调,以得到第二起始点坐标和第二终止点坐标。
本实施例中,若所述第一起始点通过所述第一路径能到达所述第一终止点坐标,则PCB板布线结束,将所述第一路径保存并设置为所述第一起始点坐标与所述第一终止点坐标之间的最终布线路径。
步骤S23:基于所述第二起始点坐标和所述第二终止点坐标确定出第二路径,并判断所述第二起始点通过所述第二路径是否能到达所述第二终止点坐标,若所述第二起始点通过所述第二路径不能到达所述第二终止点坐标,则将所述第二路径的结束点坐标作为目标终止点坐标,以便将所述目标起始点坐标和所述目标终止点坐标作为PCB起始布线层的过孔位置,并进行打孔,然后将过孔位置作为PCB下一布线层的第一起始点坐标和第一终止点坐标,直至布线完成。
本实施例中,若所述第二起始点通过所述第二路径能到达所述第二终止点坐标,则PCB板布线结束,将所述第二路径保存并设置为所述第二起始点坐标与所述第二终止点坐标之间的最终布线路径。
本实施例中,将过孔位置作为PCB下一布线层的第一起始点坐标和第一终止点坐标之后,若所述PCB下一布线层的第一起始点坐标和第一终止点坐标之间没有最终布线路径,则根据PCB板的待布线层重复进行上述操作,以得到多层PCB板的最终布线路径。
本实施例中,具体过程如图3所示,获取PCB起始布线层的第一起始点坐标和第一终止点坐标,并采用Astar算法,将从第一起始点开始搜索到第一终止点的最优路径作为出第一路径path1,然后判断第一路径path1是否到达终止点,如果到达终止点,则搜索完成,结束布线,第一路径path1即为最终路径;如果没有到达终止点,将第一路径path1结束点的坐标标记为A,然后将所述第一起始点坐标和所述第一终止点坐标进行对调,即将第一起始点坐标作为第二终止点坐标,并将第一终止点坐标作为第二起始点坐标,采用Astar算法进行最优路径搜索,获得第二路径path2,然后判断第二路径path2是否到达终止点,如果到达终止点,则搜索完成,结束布线,第二路径path2即为最终路径;如果没有到达终止点,将第二路径path2结束点的坐标标记为B,将A、B作为当前PCB层的过孔位置,进行打孔,然后将A、B的坐标确定为下一布线层的第一起始点坐标和第一终止点坐标,对以上步骤进行重复,直到所有的待布线对布完为止。
本申请目的在于解决多层复杂PCB电路板布线的难点以及需要消耗大量人力及时间的问题,本申请在Astar搜索算法的基础上,通过不断的寻找最优路径,选择过孔的最佳位置,最终实现对多层PCB板的最优布线。现有技术提出过一种基于联合蒙特卡洛搜索树的PCB板自动布线方法,提出将自动布线问题建模为序贯决策问题,并引入蒙特卡洛树对布线动作搜索,采用神经网络对节点先验预测等,实现PCB的布线;还提出过一种PCB线路自动布线方法、装置及存储介质,该方法面向对象进行主动避障,不同于传统的图论方法和机器学习的方法,通过不断获取第一目标障碍物及绕障边缘点,最终实现PCB的自动布线。但是这两种发明在单层板上或者较为简单的PCB板上效果不错,但是应用于多层板的情况并不理想,且这些方法均没有介绍在PCB多层板的情况下,过孔如何选择问题,除了当前层以外的其它层,在布线时的起始点和终止点的选择问题。这些方法也仅适用于在当前层进行布线,但是,现在的PCB板,多层板的情况占绝大多数,单层板在实际工业应用中已经相当少了。针对多层PCB板的自动布线问题,仍旧是当前PCB自动布线需要解决的重要问题。本发明在在当前层布不通时,通过起始点和终止点对调,获取正向布线和反向布线的最优布线结束点,并将正向和反向的结束点作为当前层的过孔位置,以及下一可布线层的起始点和终止点的位置进行最优布线。
本申请的关键在于:1、将多层PCB布线问题转化为多个单层PCB布线问题总和,当在当前层布不通的时候,则在下一层进行布线,从而实现了复杂多层板的自动布线。2、在当前层布线,布不通的时候,针对过孔的选择问题,采用最优路径的思路,先按照最优路径搜索寻找到当前可布的终止点,再对当前布线对的起始点和终止点进行对调,获取到反方向的最优路径搜索寻找到的可布终止点,将这两个终止点作为当前层的过孔位置,及下一层布线的起始位置和终止位置进行布线,从而获得的布线路径始终为最优路径,同时解决了过孔位置的选择问题。本发明为了解决PCB多层布线的问题,将其看成为多个单层布线问题,在单层布线时,采用Astar进行最优布线,当在单层布线无法布通时,通过Astar算法,确定当前布线层的过孔位置,在下一布线层,以过孔位置为起始点和终止点,采用Astar算法进行最优路径搜索,获得最优布线结果。该算法针对多层复杂的PCB布线问题,可实现其自动布线,并且获得的布线结果为最优布线。
本实施例中,获取PCB起始布线层的第一起始点坐标和第一终止点坐标,并基于所述第一起始点坐标和所述第一终止点坐标确定出第一路径;判断所述第一起始点通过所述第一路径是否能到达所述第一终止点坐标;若所述第一起始点通过所述第一路径不能到达所述第一终止点坐标,则将第一路径的结束点坐标作为目标起始点坐标,并将所述第一起始点坐标和所述第一终止点坐标进行对调,以得到第二起始点坐标和第二终止点坐标;基于所述第二起始点坐标和所述第二终止点坐标确定出第二路径,并判断所述第二起始点通过所述第二路径是否能到达所述第二终止点坐标,若所述第二起始点通过所述第二路径不能到达所述第二终止点坐标,则将所述第二路径的结束点坐标作为目标终止点坐标,以便将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标,直至布线完成。本申请采用Astar(启发式搜索)算法进行路径寻优,当无法获取到当前布线层的最优路径时,当在当前布线层无法布通线路时,通过确定当前层的过孔位置,并将过孔位置作为下一布线层的起始点和终止点进行布线,从而实现了多层PCB板的自动布线,能够有效解决多层PCB板的布线问题,从而能够增加自动布线的准确率,并且提高多层PCB的布线效率和布通率。此外,本申请的技术方案还可用在超大规模集成电路的布线设计中。
参见图4所示,本发明实施例公开了一种多层PCB板自动布线装置,具体可以包括:
第一路径确定模块11,用于获取PCB起始布线层的第一起始点坐标和第一终止点坐标,并基于所述第一起始点坐标和所述第一终止点坐标确定出第一路径;
坐标对调模块12,用于判断所述第一起始点通过所述第一路径是否能到达所述第一终止点坐标;若所述第一起始点通过所述第一路径不能到达所述第一终止点坐标,则将第一路径的结束点坐标作为目标起始点坐标,并将所述第一起始点坐标和所述第一终止点坐标进行对调,以得到第二起始点坐标和第二终止点坐标;
布线模块13,用于基于所述第二起始点坐标和所述第二终止点坐标确定出第二路径,并判断所述第二起始点通过所述第二路径是否能到达所述第二终止点坐标,若所述第二起始点通过所述第二路径不能到达所述第二终止点坐标,则将所述第二路径的结束点坐标作为目标终止点坐标,以便将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标,直至布线完成。
本实施例中,获取PCB起始布线层的第一起始点坐标和第一终止点坐标,并基于所述第一起始点坐标和所述第一终止点坐标确定出第一路径;判断所述第一起始点通过所述第一路径是否能到达所述第一终止点坐标;若所述第一起始点通过所述第一路径不能到达所述第一终止点坐标,则将第一路径的结束点坐标作为目标起始点坐标,并将所述第一起始点坐标和所述第一终止点坐标进行对调,以得到第二起始点坐标和第二终止点坐标;基于所述第二起始点坐标和所述第二终止点坐标确定出第二路径,并判断所述第二起始点通过所述第二路径是否能到达所述第二终止点坐标,若所述第二起始点通过所述第二路径不能到达所述第二终止点坐标,则将所述第二路径的结束点坐标作为目标终止点坐标,以便将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标,直至布线完成。本申请采用Astar(启发式搜索)算法进行路径寻优,当无法获取到当前布线层的最优路径时,当在当前布线层无法布通线路时,通过确定当前层的过孔位置,并将过孔位置作为下一布线层的起始点和终止点进行布线,从而实现了多层PCB板的自动布线,能够有效解决多层PCB板的布线问题,从而能够增加自动布线的准确率,并且提高多层PCB的布线效率和布通率。
在一些具体实施例中,所述第一路径确定模块11,具体可以包括:
确定起始布线层模块,用于确定出PCB板的起始布线层和待布线层;所述起始布线层包括顶层助焊层或底层阻焊层;
获取待布线对模块,用于获取PCB板起始布线层的待布线对;所述待布线对包括第一起始点坐标和第一终止点坐标。
在一些具体实施例中,所述第一路径确定模块11,具体可以包括:
第一路径确定模块,用于利用启发式搜索算法对所述第一起始点坐标与所述第一终止点坐标之间的所有路径进行搜索,以得到第一路径。
在一些具体实施例中,所述坐标对调模块12,具体可以包括:
第二路径确定模块,用于将所述第一起始点坐标作为所述第二终止点坐标,并将所述第一终止点坐标作为所述第二起始点坐标,以便利用所述启发式搜索算法确定出所述第二起始点坐标与所述第二终止点坐标之间的第二路径。
在一些具体实施例中,所述坐标对调模块12,具体可以包括:
第一最终布线路径确定模块,用于若所述第一起始点通过所述第一路径能到达所述第一终止点坐标,则PCB板布线结束,将所述第一路径保存并设置为所述第一起始点坐标与所述第一终止点坐标之间的最终布线路径;
第二最终布线路径确定模块,用于若所述第二起始点通过所述第二路径能到达所述第二终止点坐标,则PCB板布线结束,将所述第二路径保存并设置为所述第二起始点坐标与所述第二终止点坐标之间的最终布线路径。
在一些具体实施例中,所述布线模块13,具体可以包括:
打孔位置确定模块,用于将所述目标起始点坐标和所述目标终止点坐标作为PCB起始布线层的过孔位置,并进行打孔;
下一层坐标确定模块,用于将过孔位置作为PCB下一布线层的第一起始点坐标和第一终止点坐标。
在一些具体实施例中,所述布线模块13,具体可以包括:
布线模块,用于若所述PCB下一布线层的第一起始点坐标和第一终止点坐标之间没有最终布线路径,则根据PCB板的待布线层重复进行上述操作,以得到多层PCB板的最终布线路径。
图5为本申请实施例提供的一种电子设备的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的多层PCB板自动布线方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的多层PCB板自动布线方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括多层PCB板自动布线设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
进一步的,本申请实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的多层PCB板自动布线方法步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种多层PCB板自动布线方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种多层PCB板自动布线方法,其特征在于,包括:
获取PCB起始布线层的第一起始点坐标和第一终止点坐标,并基于所述第一起始点坐标和所述第一终止点坐标确定出第一路径;
判断所述第一起始点通过所述第一路径是否能到达所述第一终止点坐标;若所述第一起始点通过所述第一路径不能到达所述第一终止点坐标,则将第一路径的结束点坐标作为目标起始点坐标,并将所述第一起始点坐标和所述第一终止点坐标进行对调,以得到第二起始点坐标和第二终止点坐标;
基于所述第二起始点坐标和所述第二终止点坐标确定出第二路径,并判断所述第二起始点通过所述第二路径是否能到达所述第二终止点坐标,若所述第二起始点通过所述第二路径不能到达所述第二终止点坐标,则将所述第二路径的结束点坐标作为目标终止点坐标,以便将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标,直至布线完成。
2.根据权利要求1所述的多层PCB板自动布线方法,其特征在于,所述获取PCB起始布线层的第一起始点坐标和第一终止点坐标,包括:
确定出PCB板的起始布线层和待布线层;所述起始布线层包括顶层助焊层或底层阻焊层;
获取PCB板起始布线层的待布线对;所述待布线对包括第一起始点坐标和第一终止点坐标。
3.根据权利要求1所述的多层PCB板自动布线方法,其特征在于,所述基于所述第一起始点坐标和所述第一终止点坐标确定出第一路径,包括:
利用启发式搜索算法对所述第一起始点坐标与所述第一终止点坐标之间的所有路径进行搜索,以得到第一路径。
4.根据权利要求3所述的多层PCB板自动布线方法,其特征在于,所述将所述第一起始点坐标和所述第一终止点坐标进行对调,以得到第二起始点坐标和第二终止点坐标,包括:
将所述第一起始点坐标作为所述第二终止点坐标,并将所述第一终止点坐标作为所述第二起始点坐标,以便利用所述启发式搜索算法确定出所述第二起始点坐标与所述第二终止点坐标之间的第二路径。
5.根据权利要求1所述的多层PCB板自动布线方法,其特征在于,所述判断所述第一起始点通过所述第一路径是否能到达所述第一终止点坐标,包括:
若所述第一起始点通过所述第一路径能到达所述第一终止点坐标,则PCB板布线结束,将所述第一路径保存并设置为所述第一起始点坐标与所述第一终止点坐标之间的最终布线路径;
相应的,所述判断所述第二起始点通过所述第二路径是否能到达所述第二终止点坐标之后,还包括:
若所述第二起始点通过所述第二路径能到达所述第二终止点坐标,则PCB板布线结束,将所述第二路径保存并设置为所述第二起始点坐标与所述第二终止点坐标之间的最终布线路径。
6.根据权利要求1至5任一项所述的多层PCB板自动布线方法,其特征在于,所述将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标,包括:
将所述目标起始点坐标和所述目标终止点坐标作为PCB起始布线层的过孔位置,并进行打孔;
将过孔位置作为PCB下一布线层的第一起始点坐标和第一终止点坐标。
7.根据权利要求2所述的多层PCB板自动布线方法,其特征在于,所述将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标之后,还包括:
若所述PCB下一布线层的第一起始点坐标和第一终止点坐标之间没有最终布线路径,则根据PCB板的待布线层重复进行上述操作,以得到多层PCB板的最终布线路径。
8.一种多层PCB板自动布线装置,其特征在于,包括:
第一路径确定模块,用于获取PCB起始布线层的第一起始点坐标和第一终止点坐标,并基于所述第一起始点坐标和所述第一终止点坐标确定出第一路径;
坐标对调模块,用于判断所述第一起始点通过所述第一路径是否能到达所述第一终止点坐标;若所述第一起始点通过所述第一路径不能到达所述第一终止点坐标,则将第一路径的结束点坐标作为目标起始点坐标,并将所述第一起始点坐标和所述第一终止点坐标进行对调,以得到第二起始点坐标和第二终止点坐标;
布线模块,用于基于所述第二起始点坐标和所述第二终止点坐标确定出第二路径,并判断所述第二起始点通过所述第二路径是否能到达所述第二终止点坐标,若所述第二起始点通过所述第二路径不能到达所述第二终止点坐标,则将所述第二路径的结束点坐标作为目标终止点坐标,以便将所述目标起始点坐标和所述目标终止点坐标作为PCB下一布线层的第一起始点坐标和第一终止点坐标,直至布线完成。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的多层PCB板自动布线方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的多层PCB板自动布线方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210764716.3A CN115130424B (zh) | 2022-07-01 | 2022-07-01 | 一种多层pcb板自动布线方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210764716.3A CN115130424B (zh) | 2022-07-01 | 2022-07-01 | 一种多层pcb板自动布线方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115130424A true CN115130424A (zh) | 2022-09-30 |
CN115130424B CN115130424B (zh) | 2024-01-23 |
Family
ID=83381400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210764716.3A Active CN115130424B (zh) | 2022-07-01 | 2022-07-01 | 一种多层pcb板自动布线方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115130424B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070064534A1 (en) * | 2005-09-12 | 2007-03-22 | Tamotsu Kitamura | Automatic trace determination method |
CN101916317A (zh) * | 2010-08-23 | 2010-12-15 | 清华大学 | 基于无网格模型的集成电路模块到模块的布线方法 |
CN112528591A (zh) * | 2020-12-11 | 2021-03-19 | 电子科技大学 | 一种基于联合蒙特卡洛树搜索的pcb板自动布线方法 |
CN114091400A (zh) * | 2021-12-01 | 2022-02-25 | 苏州浪潮智能科技有限公司 | 一种pcb线路自动布线方法、装置及存储介质 |
CN114386356A (zh) * | 2020-10-16 | 2022-04-22 | Oppo广东移动通信有限公司 | 芯片设计的布线方法及装置、设备、存储介质 |
-
2022
- 2022-07-01 CN CN202210764716.3A patent/CN115130424B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070064534A1 (en) * | 2005-09-12 | 2007-03-22 | Tamotsu Kitamura | Automatic trace determination method |
CN101916317A (zh) * | 2010-08-23 | 2010-12-15 | 清华大学 | 基于无网格模型的集成电路模块到模块的布线方法 |
CN114386356A (zh) * | 2020-10-16 | 2022-04-22 | Oppo广东移动通信有限公司 | 芯片设计的布线方法及装置、设备、存储介质 |
CN112528591A (zh) * | 2020-12-11 | 2021-03-19 | 电子科技大学 | 一种基于联合蒙特卡洛树搜索的pcb板自动布线方法 |
CN114091400A (zh) * | 2021-12-01 | 2022-02-25 | 苏州浪潮智能科技有限公司 | 一种pcb线路自动布线方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115130424B (zh) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104504003B (zh) | 图数据的搜索方法和装置 | |
JP7156385B2 (ja) | 2つのノード間の到達可能なパスを決定するための方法、装置及びシステム | |
CN108508893A (zh) | 一种基于改进a算法的机器人能效最优路径规划方法 | |
CN104002048B (zh) | 一种pcb板的钻孔路径设定方法 | |
EP3172007B1 (en) | Method of determining a sequence of drilling holes using a two level traveling salesman problem (tsp) | |
CN112528591B (zh) | 一种基于联合蒙特卡洛树搜索的pcb板自动布线方法 | |
CN104613976A (zh) | 确定路径的方法及装置 | |
CN112464611B (zh) | 一种基于云端协同智能处理的pcb自动布线系统 | |
CN112583620B (zh) | 网络拓扑图生成方法、装置、电子设备和存储介质 | |
CN116166405A (zh) | 异构场景下的神经网络任务调度策略确定方法及装置 | |
CN109753736A (zh) | 一种高速线系统的损耗评估方法及相关装置 | |
CN112560389A (zh) | 一种基于轨道分配的实用详细布线方法 | |
CN111360463A (zh) | 基于混合离散教与学优化算法的焊接路径规划方法和系统 | |
US8327196B2 (en) | Identifying an optimized test bit pattern for analyzing electrical communications channel topologies | |
CN115130424A (zh) | 一种多层pcb板自动布线方法、装置、设备及介质 | |
CN115495248B (zh) | 一种推理卡的内存分配方法、装置、电子设备及存储介质 | |
CN111531632B (zh) | 一种添加毛刺孔的方法、装置、计算机设备和存储介质 | |
CN117422041A (zh) | 模拟芯片自动化布线模型训练方法及自动化布线方法 | |
CN111881642A (zh) | 电路板上gnd属性铜皮的绘制方法、系统及相关装置 | |
CN113347268B (zh) | 基于分布式网络组网方法、装置、存储介质及计算机设备 | |
CN116545856A (zh) | 基于强化学习的服务功能链部署方法、系统及装置 | |
CN114091400A (zh) | 一种pcb线路自动布线方法、装置及存储介质 | |
CN105760584A (zh) | 一种芯片的内部走线方法及系统 | |
CN116067385A (zh) | 路径规划方法及系统 | |
CN115221833B (zh) | 一种pcb板布线排序方法、系统、装置及可读存储介质 |
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 |