CN117910423B - Pcb自动布线方法、装置、设备及介质 - Google Patents
Pcb自动布线方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117910423B CN117910423B CN202410311267.6A CN202410311267A CN117910423B CN 117910423 B CN117910423 B CN 117910423B CN 202410311267 A CN202410311267 A CN 202410311267A CN 117910423 B CN117910423 B CN 117910423B
- Authority
- CN
- China
- Prior art keywords
- line segments
- line segment
- nodes
- original
- node
- 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 38
- 238000010586 diagram Methods 0.000 claims abstract description 39
- 238000013461 design Methods 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000013519 translation Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 8
- 238000001914 filtration Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Abstract
本发明提供了一种PCB自动布线方法、装置、设备及介质,涉及电路领域,包括:获取电路设计原理图,所述电路设计原理图包括原始线段和节点;依次对所述电路设计原理图中不同节点上的原始线段进行合并操作,分别使平行于x轴方向和平行于y轴方向重复的原始线段进行合并得到有效线段;依次对节点上的有效线段进行拆分操作,以节点为界限将有效线段进行拆分,得到拆分线段。本发明的有益效果在于:当绘制原理图时,能够自动的去除多余的线段,并自动判断线段和线段之间的关系,进行添加交叉点和处理重复的线段,能够适应于复杂的场景下的线段处理,进行处理更加的高效且准确率高。
Description
技术领域
本发明涉及电路领域,尤其涉及PCB自动布线方法、装置、设备及介质。
背景技术
随着大规模集成电路技术的发展,集成电路工艺进入纳米技术时代,在一个芯片上集成的组件与引脚连线越来越多。而在不久的将来,每个芯片上的晶体管数量仍将大幅增长,这种日益增加的复杂性给电子设计带来了实质性的挑战。为了满足和达到这电子设计的需求,业界迫切需要电子设计自动化(Electronics Design Automation,EDA)软件作为强有力的支撑。
EDA是在电子计算机辅助设计(Computer Aided Design,CAD)技术基础上发展起来的计算机辅助设计软件系统,融合了应用电子技术、计算机技术、信息处理及智能化技术进行电子产品的自动设计。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,并可以将电子产品从电路设计、性能分析到设计出PCB版图的整个过程,在计算机上自动处理完成。EDA技术可以广泛应用于电子、通信、航空航天、机械等多个领域。
然而,EDA软件的开发存在着极大的技术难度,针对诸如自动布线等关键环节,国内研究比较缺乏,相关的研究工作在本世纪进展缓慢。EDA中一项极为重要的技术就是印刷电路板(Printed Circuit Board,PCB)自动布线,所谓PCB自动布线就是依据一定的程序算法,让设计软件程序根据用户设定的相关参数和布线规则,自动的在各个元件之间进行连线,实现元器件之间的电气连接关系,进而快速完成PCB的布线工作。不同于芯片布局布线布通率更多考量元器件位置的放置,PCB设计成功与否更加注重PCB引脚间布线的合理性,并且具体布线算法的选择会对PCB布线的布通率有很大的影响。
当前,市面已有PCB自动布线算法存在很多问题,原理图在绘制时会出现大量的线段和节点,还需要很多的人工参与,手动的进行添加交叉点和处理线段,导致效率和准确率较低。
发明内容
本发明的目的在于自动的对绘制的导线进行去重和添加交叉点的一种原理图布线的节点和线段处理方法、装置、设备及介质。
第一方面,一种PCB自动布线方法,包括:
S101、获取电路设计原理图,所述电路设计原理图包括原始线段和节点;
S102、依次对所述电路设计原理图中不同节点上的原始线段进行合并操作,分别使平行于x轴方向和平行于y轴方向重复的原始线段进行合并得到有效线段;
S103、依次对节点上的有效线段进行拆分操作,以节点为界限将有效线段进行拆分,得到拆分线段;
S104、将节点上的拆分线段和其他元素构成元素集,判断节点上元素集的数量,当元素集中的元素数量符合要求时,在节点上形成交叉点,并将元素和交叉点连接;
S105、显示处理后的PCB设计版图。
优选的,所述原始线段为原有的线段和新绘制的线段,或,新绘制的线段,所述新绘制的线段包括直接绘制的线段,或,原有的线段经过旋转、平移和复制中的至少一种方式形成的线段。
优选的,在依次对原理图不同节点上的原始线段进行合并操作,使平行于x轴方向和平行于y轴方向重复的原始线段进行合并得到有效线段之前,还包括:去重操作,删除同一个坐标上的重复节点,仅保留一个节点,以减少重复计算。
优选的,在绘制线段时,当对线段进行删除,线段的两端依然保留节点。
优选的,所述节点包括原始线段的端点、一个线段在绘制过程中与另一线段交叉时停顿产生的交点、一个斜线原始线段与另一平行于x轴方向或平行于y轴方向原始线段非端点的交点、原始线段删除之后两端保留的端点,以及器件引脚与原始线段非端点相交点。
优选的,依次对原理图不同节点上的原始线段进行合并操作,使平行于x轴方向重复的原始线段进行合并得到有效线段,包括:如果该节点上平行于x轴方向包含2个或2个以上的原始线段,将取这些原始线段的最大x_max和最小x_min,y值不变,然后删除所有的原始线段,最后以(x_max,y)和(x_min,y)两点连线生成新的有效线段。
优选的,依次对原理图不同节点上的原始线段进行合并操作,使平行于y轴方向重复的原始线段进行合并得到有效线段,包括:如果该节点上平行于y轴方向包含2个或2个以上的原始线段,将取这些原始线段的最大y_max和最小y_min,x值不变,然后删除所有的原始线段,最后以(x,y_max)和(x,y_min)两点生成新的有效线段。
优选的,依次对节点上的有效线段进行拆分操作,以节点为界限将有效线段进行拆分,得到拆分线段,包括:如果当前节点上有垂直十字相交的2个有效线段,则以交叉的节点分别拆分2个线段,形成4个拆分线段;如果当前节点上有2个有效线段相交在非端点处,其中一个为平行于x轴方向或平行于y轴方向,另一个是斜线或平行于x轴方向或平行于y轴方向有效线段,则以交叉的节点拆分平行于x轴方向或平行于y轴方向的有效线段,形成3个拆分线段;如果当前节点上有一个平行x轴或y轴的有效线段,且与一个器件引脚相交于该有效线段的非端点处,将以相交的节点拆分该线段,形成2个拆分线段。
优选的,节点上的拆分线段和其他元素构成元素集,判断节点上元素集的数量,当元素集中的元素数量符合要求时,在节点上形成交叉点,并将元素和交叉点连接,包括:如果节点上的元素集个数为1,则不处理;如果节点上的元素集个数为2,则直接连接这2个元素,不形成交叉点,若本来具有交叉点,则删除交叉点;如果节点上的元素集个数大于2,则在该点上添加一个交叉点,然后将所有的元素与该交叉点连接。
优选的,通过设置过滤条件,以调节对节点上元素处理的范围,查询当前节点上符合条件的元素集。
元素集内的元素包括:拆分线段、总线、管脚、端口和电源等。
第二方面,一种PCB自动布线装置,包括:
获取单元,用于获取电路设计原理图,所述电路设计原理图包括多个原始线段和节点;
合并单元,用于依次对所述电路设计原理图中不同节点上的原始线段进行合并操作,分别使平行于x轴方向和平行于y轴方向重复的原始线段进行合并得到有效线段;
拆分单元,用于依次对节点上的有效线段进行拆分操作,以节点为界限将有效线段进行拆分,得到拆分线段;
连接单元,用于将节点上的拆分线段和其他元素构成元素集,判断节点上元素集的数量,当元素集中的元素数量符合要求时,在节点上形成交叉点,并将元素和交叉点连接;
显示单元,用于显示处理后的PCB设计版图。
第三方面,本发明实施例提供一种电子设备,包括处理器和存储器。其中,存储器用于存储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得该电子设备能够实现上述第一方面的任意一种可能的设计的方法。
第四方面,本发明提供一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,实现如上述实施例中任一项该的方法。
第五方面,本发明实施例另提供一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行上述任一方面的任意一种可能的设计的方法。
本发明的有益效果在于:当绘制原理图时,能够自动的去除多余的线段,并自动判断线段和线段之间的关系,进行添加交叉点和处理重复的线段,能够适应于复杂的场景下的线段处理,进行处理更加的高效且准确率高,当导线和芯片的多个引脚进行连接时,自动添加交叉点。
附图说明
图1为本发明系统结构框图;
图2为本发明一实施例线段B内容示意图;
图3为本发明一实施例线段E和线段F内容示意图;
图4为本发明一实施例线段G和线段H内容示意图;
图5为本发明一实施例线段J内容示意图;
图6为本发明一实施例线段N和线段P内容示意图;
图7是本发明一实施例提供的装置结构示意图;
图8是本发明一实施例提供的一种电子设备结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
作为进一步具体的实施例,结合图1,一种PCB自动布线方法,包括:
步骤S101、获取电路设计原理图,所述电路设计原理图包括原始线段和节点;
步骤S102、依次对所述电路设计原理图中不同节点上的原始线段进行合并操作,分别使平行于x轴方向和平行于y轴方向重复的原始线段进行合并得到有效线段;
步骤S103、依次对节点上的有效线段进行拆分操作,以节点为界限将有效线段进行拆分,得到拆分线段;
步骤S104、将节点上的拆分线段和其他元素构成元素集,判断节点上元素集的数量,当元素集中的元素数量符合要求时,在节点上形成交叉点,并将元素和交叉点连接;
步骤S105、显示处理后的PCB设计版图。
具体的,当进行绘制原理图操作之后,对原理图中的线段(此时的线段为原始线段)和节点进行处理,对原理图绘制,首先对节点上重复的原始线段进行处理,包括平行于x轴方向和平行于y轴方向的多个原始线段,使平行于x轴方向原始线段重合为一个线段,使平行于y轴方向原始线段重合为一个线段,在经过上述操作之后得到有效线段,将节点位置的有效线段断开,并根据节点上的元素个数添加交叉点,此处的节点为虚拟的节点,仅仅用作计算,不作显示,此处的交叉点为两个线段相连接的节点,若两导线交叉不具有交叉点,则两导线不连接,原始线段为绘制完成的线段,有效线段为去重合并操作之后获得的所有线段,拆分线段为有效线段拆分操作之后的所有线段,最后在处理好节点和线段之后显示处理后的原理图。
作为进一步具体的实施例,所述原始线段为原有的线段和新绘制的线段,或,新绘制的线段,所述新绘制的线段包括直接绘制的线段,或,原有的线段经过旋转、平移和复制中的至少一种方式形成的线段。
具体的,在进行处理的线段可以是原有的线段和新绘制的线段,也可以是新绘制的线段,新绘制的线段可以为直接绘制的线段,也可以为原有的线段经过旋转、平移和复制中的至少一种方式形成的线段。
作为进一步具体的实施例,所述节点包括原始线段的端点、一个线段在绘制过程中与另一线段交叉时停顿产生的交点、一个斜线原始线段与另一平行于x轴方向或平行于y轴方向原始线段非端点的交点、原始线段删除之后两端保留的端点,以及器件引脚与原始线段非端点相交点。
具体的,在绘制的时候,当一个线段穿越另一个线段时,若直接穿过,则代表两个线段不连接,若在已存在线段上进行了停顿,则在停顿处添加节点,器件的引脚和线段非端点相交时交点自动添加节点。
示例性的,图4所示,在绘制的过程中如线段H在绘制的过程中直接十字交叉穿过线段G不停顿,则表示线段H和线段G不连接,十字交叉的位置不产生节点,如图3所示,若线段F在绘制中穿过线段E,在交叉的位置停顿,在停顿的位置添加节点Q。
作为进一步具体的实施例,一个交叉点上能够连接多个线段,使形成星型状结果。
具体的,当多个线段交叉时,能够在交叉的位置添加交叉点,使多个线端在交叉点连接。
作为进一步具体的实施例,在绘制线段时,当对线段进行删除,线段的两端依然保留节点。
具体的,当线段进行删除时,仍然保留两个节点进行计算。
示例性的,在图2中,若删除线段B,则线段B两端的端点依然存在两个节点,线段B上端的端点由于不存在线段经过,则接下来的处理过程中不进行实质处理,而线段B下端的端点与交叉点重合,仅保留交叉点分别和线段C和线段D连接,则继续进行处理。
作为进一步具体的实施例,在依次对原理图不同节点上的原始线段进行合并操作,使平行于x轴方向和平行于y轴方向重复的原始线段进行合并得到有效线段之前,还包括:
去重操作,删除同一个坐标上的重复节点,仅保留一个节点,以减少重复计算。
具体的,由于电路图上的线段会出现删除、移动、复制和绘制等不同情况,在同一坐标会产生多个节点,而本申请是以节点和节点上的线段进行计算,为了避免重复计算,则删除同一位置的多余节点,仅保留其一进行计算。
作为进一步具体的实施例,若节点上无任何元素,也将删除该节点。
作为进一步具体的实施例,依次对原理图不同节点上的原始线段进行合并操作,使平行于x轴方向重复的原始线段进行合并得到有效线段,包括:
如果该节点上平行于x轴方向包含2个或2个以上的原始线段,将取这些原始线段的最大x_max和最小x_min,y值不变,然后删除所有的原始线段,最后以(x_max,y)和(x_min,y)两点连线生成新的有效线段。
具体的,原理图上的设置坐标系为现有技术,由于在绘制时,对于经过同一节点平行于x轴方向的多个原始线段,将多个原始线段坐标的x坐标取最大值x_max和最小值x_min,y坐标不变,将(x_max,y)和(x_min,y)连接生成新的有效线段,此外,斜线原始线段经过此操作之后不变化,不对斜线原始线段进行实质操作是本领域约定俗成的,斜线原始线段经过上述步骤之后产生的有效线段不做变化。
作为进一步具体的实施例,依次对原理图不同节点上的原始线段进行合并操作,使平行于y轴方向重复的原始线段进行合并得到有效线段,包括:
如果该节点上平行于y轴方向包含2个或2个以上的原始线段,将取这些原始线段的最大y_max和最小y_min,x值不变,然后删除所有的原始线段,最后以(x,y_max)和(x,y_min)两点生成新的有效线段。
具体的,对于经过同一节点平行于y轴方向的多个线段,将多个线段坐标的y坐标取最大值y_max和最小值y_min,y坐标不变,将(x,y_max)和(x,y_min)连接生成新线段,此外,斜线原始线段经过此操作之后不变化,不对斜线原始线段进行实质操作是本领域约定俗成的,斜线原始线段经过上述步骤之后产生的有效线段不做变化。
作为进一步具体的实施例,依次对节点上的有效线段进行拆分操作,以节点为界限将有效线段进行拆分,得到拆分线段,包括:
如果当前节点上有垂直十字相交的2个有效线段,则以交叉的节点分别拆分2个线段,形成4个拆分线段;
如果当前节点上有2个有效线段相交在非端点处,其中一个为平行于x轴方向或平行于y轴方向,另一个是斜线或平行于x轴方向或平行于y轴方向有效线段,则以交叉的节点拆分平行于x轴方向或平行于y轴方向的线段,形成3个拆分线段;
如果当前节点上有一个平行x轴或y轴的有效线段,且与一个器件引脚相交于该有效线段的非端点处,将以相交的节点拆分该线段,形成2个拆分线段。
示例性的,结合图2线段CD(假使线段C和线段D为同一线段CD)和线段B,通过线段B下端的节点将线段CD分割为两个线段,即线段C和线段D,即产生的3个拆分线段,即线段B、线段C和线段D,本实施例中,线段CD为原始线段,线段B以及拆分的线段C和线段D为拆分线段;
结合图3线段E和线段F,当线段E和线段F以交叉位置停顿形成节点Q,交叉的节点分别拆分2个线段,形成4个线段,本实施例中,线段E和线段F为原始线段,拆分成的4个线段为拆分线段;
如图5所示(器件和线段连接仅做演示),若线段J在绘制时经过器件的引脚,比如12脚即节点K,12脚将线段J进行以12脚为界拆分为两端,形成2个线段,本实施例中,线段J为原始线段,拆分成的2个线段为拆分线段;
如图3所示,若线段L为斜线,则将线段E以节点M为基准拆分为2个线段,本实施例中,线段L和线段E为原始线段,拆分成的2个线段和线段L为拆分线段,即3个拆分线段;
此外,拆分线段还包括一些有效线段在拆分操作中未进行拆分操作,例如不与其他有效线段相交的端点位置不进行线段拆分。
作为进一步具体的实施例,节点上的拆分线段和其他元素构成元素集,判断节点上元素集的数量,当元素集中的元素数量符合要求时,在节点上形成交叉点,并将元素和交叉点连接,包括:
如果节点上的元素集个数为1,则不处理;
如果节点上的元素集个数为2,则直接连接这2个元素,不形成交叉点,若本来具有交叉点,则删除交叉点;
如果节点上的元素集个数大于2,则在该点上添加一个交叉点,然后将所有的元素与该交叉点连接。
具体的,在将原始线段拆分之后得到拆分线段,对节点上元素的个数进行判断;
若节点上的元素个数为1个,比如图2所示的拆分线段B上端端点的节点,此位置只有一个元素,即线段B,则不处理;
若节点上的元素个数为2个,如图6,节点O的位置仅有拆分线段N和拆分线段P两个元素时,将拆分线段N和拆分线段P连接,不添加交叉点,在一些实施例中,如图2所示,如果绘图时将线段B删除,线段B在删除之前,线段的底端设有与线段C和线段D连接的交叉点,在线段B删除之后,经历合并和拆分操作(实际上没有实质操作),节点A位置上只有两个拆分线段,即拆分线段C和拆分线段D,因此将拆分线段C和拆分线段D连接成线段CD,同时删除拆分线段C和拆分线段D交界位置的交叉点;
若节点上的元素个数大于2个,如图3所示,当有效线段E和有效线段F被分为四个拆分线段时,节点Q位置具有4个元素,即四个拆分线段,则在该点上添加一个交叉点,然后将所有的元素与该交叉点连接,当斜线线段L将线段E分割为两个线段时,节点M位置具有3个元素,即三个拆分线段,则在该点上添加一个交叉点,然后将所有的元素与该交叉点连接。
本申请在一些实施例中,通过设置过滤条件,以调节对节点上元素处理的范围,查询当前节点上符合条件的元素集。
具体的,在对节点和线段处理之前,能够提前设置需要进行处理元素的范围,查询节点上的符合要求的元素,进而进行处理;
当进行步骤S102、步骤S103和步骤S104之前,需要设置过滤条件,以选择需要处理的元素。例如,wire(导线),还是bus(总线),还是pin(管脚),通过设置过滤调件,可以设置在处理时不处理总线,或者不处理管脚,根据人的意愿设置处理的数据,当设置完成过滤条件,在进行处理元素时,能够查询该节点所有符合条件的元素之后进行对符合条件的元素进行处理,在步骤S102中,由于线段为很多种,比如导线线段和总线线段,在合并线段时可以设置只对导线线段进行合并,在步骤S103中,对线段进行拆分时,可以设置只对导线线段进行拆分,不拆分总线线段,在步骤104中,在查询节点上的元素进行连接时,可以设置不连接管脚、端口或者电源等。
作为进一步具体的实施例,元素集内的元素包括:拆分线段、总线、管脚、端口和电源等。
本申请在一些实施例中,如图7所示,还提出了一种PCB自动布线装置,包括:
获取单元301,用于获取电路设计原理图,所述电路设计原理图包括多个原始线段和节点;
合并单元302,用于依次对所述电路设计原理图中不同节点上的原始线段进行合并操作,分别使平行于x轴方向和平行于y轴方向重复的原始线段进行合并得到有效线段;
拆分单元303,用于依次对节点上的有效线段进行拆分操作,以节点为界限将有效线段进行拆分,得到拆分线段;
连接单元304,用于将节点上的拆分线段和其他元素构成元素集,判断节点上元素集的数量,当元素集中的元素数量符合要求时,在节点上形成交叉点,并将元素和交叉点连接;
显示单元305,显示处理后的PCB设计版图。
上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在本发明的另一些实施例中,本发明实施例公开了一种电子设备,如图8所示,该电子设备可以包括:一个或多个处理器401;存储器402;显示器403;一个或多个应用程序(未示出);以及一个或多个计算机程序404,上述各器件可以通过一个或多个通信总线405连接。其中该一个或多个计算机程序404被存储在上述存储器402中并被配置为被该一个或多个处理器401执行,该一个或多个计算机程序404包括指令,上述指令可以用于执行如图1至图2及相应实施例中的各个步骤。
为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
虽然在上文中详细说明了本发明的实施方式,但是对于本领域的技术人员来说显而易见的是,能够对这些实施方式进行各种修改和变化。但是,应理解,这种修改和变化都属于权利要求书中所述的本发明的范围和精神之内。而且,在此说明的本发明可有其它的实施方式,并且可通过多种方式实施或实现。
Claims (12)
1.一种PCB自动布线方法,其特征在于,包括:
获取电路设计原理图,所述电路设计原理图包括原始线段和节点;
依次对所述电路设计原理图中不同节点上的原始线段进行合并操作,分别使平行于x轴方向和平行于y轴方向重复的原始线段进行合并得到有效线段;
依次对节点上的有效线段进行拆分操作,以节点为界限将有效线段进行拆分,得到拆分线段,包括:
如果当前节点上有垂直十字相交的2个有效线段,则以交叉的节点分别拆分2个线段,形成4个拆分线段;
如果当前节点上有2个有效线段相交在非端点处,其中一个为平行于x轴方向或平行于y轴方向,另一个是斜线或平行于x轴方向或平行于y轴方向有效线段,则以交叉的节点拆分平行于x轴方向或平行于y轴方向的线段,形成3个拆分线段;
如果当前节点上有一个平行x轴或y轴的有效线段,且与一个器件引脚相交于该有效线段的非端点处,将以相交的节点拆分该线段,形成2个拆分线段;
将节点上的拆分线段和其他元素构成元素集,判断节点上元素集的数量,当元素集中的元素数量符合要求时,在节点上形成交叉点,并将元素和交叉点连接,包括:
如果节点上的元素集个数为1,则不处理;
如果节点上的元素集个数为2,则直接连接这2个元素,不形成交叉点,若本来具有交叉点,则删除交叉点;
如果节点上的元素集个数大于2,则在该节点上添加一个交叉点,然后将所有的元素与该交叉点连接;
所述其他元素包括总线、管脚、端口和电源;
显示处理后的PCB设计版图。
2.根据权利要求1所述的方法,其特征在于,所述原始线段为原有的线段和新绘制的线段,或,新绘制的线段,所述新绘制的线段包括直接绘制的线段,或,原有的线段经过旋转、平移和复制中的至少一种方式形成的线段。
3.根据权利要求1所述的方法,其特征在于,在依次对原理图不同节点上的原始线段进行合并操作,使平行于x轴方向和平行于y轴方向重复的原始线段进行合并得到有效线段之前,还包括:
去重操作,删除同一个坐标上的重复节点,仅保留一个节点,以减少重复计算。
4.根据权利要求2所述的方法,其特征在于,在绘制线段时,当对线段进行删除,线段的两端依然保留节点。
5.根据权利要求4所述的方法,其特征在于,所述节点包括原始线段的端点、一个线段在绘制过程中与另一线段交叉时停顿产生的交点、一个斜线原始线段与另一平行于x轴方向或平行于y轴方向原始线段非端点的交点、原始线段删除之后两端保留的端点,以及器件引脚与原始线段非端点相交点。
6.根据权利要求1所述的方法,其特征在于,依次对原理图不同节点上的原始线段进行合并操作,使平行于x轴方向重复的原始线段进行合并得到有效线段,包括:
如果该节点上平行于x轴方向包含2个或2个以上的原始线段,将取这些原始线段的最大x_max和最小x_min,y值不变,然后删除所有的原始线段,最后以(x_max,y)和(x_min,y)两点连线生成新的有效线段。
7.根据权利要求1所述的方法,其特征在于,依次对原理图不同节点上的原始线段进行合并操作,使平行于y轴方向重复的原始线段进行合并得到有效线段,包括:
如果该节点上平行于y轴方向包含2个或2个以上的原始线段,将取这些原始线段的最大y_max和最小y_min,x值不变,然后删除所有的原始线段,最后以(x,y_max)和(x,y_min)两点生成新的有效线段。
8.根据权利要求1所述的方法,其特征在于,通过设置过滤条件,以调节对节点上元素处理的范围,查询当前节点上符合条件的元素集。
9.根据权利要求1所述的方法,其特征在于,元素集内的元素包括:拆分线段、总线、管脚、端口和电源。
10.一种PCB自动布线装置,其特征在于,包括:
获取单元,用于获取电路设计原理图,所述电路设计原理图包括多个原始线段和节点;
合并单元,用于依次对所述电路设计原理图中不同节点上的原始线段进行合并操作,分别使平行于x轴方向和平行于y轴方向重复的原始线段进行合并得到有效线段;
拆分单元,用于依次对节点上的有效线段进行拆分操作,以节点为界限将有效线段进行拆分,得到拆分线段,包括:如果当前节点上有垂直十字相交的2个有效线段,则以交叉的节点分别拆分2个线段,形成4个拆分线段;
如果当前节点上有2个有效线段相交在非端点处,其中一个为平行于x轴方向或平行于y轴方向,另一个是斜线或平行于x轴方向或平行于y轴方向有效线段,则以交叉的节点拆分平行于x轴方向或平行于y轴方向的线段,形成3个拆分线段;
如果当前节点上有一个平行x轴或y轴的有效线段,且与一个器件引脚相交于该有效线段的非端点处,将以相交的节点拆分该线段,形成2个拆分线段;
连接单元,用于将节点上的拆分线段和其他元素构成元素集,判断节点上元素集的数量,当元素集中的元素数量符合要求时,在节点上形成交叉点,并将元素和交叉点连接,包括:如果节点上的元素集个数为1,则不处理;
如果节点上的元素集个数为2,则直接连接这2个元素,不形成交叉点,若本来具有交叉点,则删除交叉点;
如果节点上的元素集个数大于2,则在该节点上添加一个交叉点,然后将所有的元素与该交叉点连接;
所述其他元素包括总线、管脚、端口和电源;
显示单元,用于显示处理后的PCB设计版图。
11.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现如权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410311267.6A CN117910423B (zh) | 2024-03-19 | Pcb自动布线方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410311267.6A CN117910423B (zh) | 2024-03-19 | Pcb自动布线方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117910423A CN117910423A (zh) | 2024-04-19 |
CN117910423B true CN117910423B (zh) | 2024-06-07 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990042071A (ko) * | 1997-11-25 | 1999-06-15 | 정선종 | 스키메틱 편집기의 신호선 연결도 검사방법 |
KR20040054440A (ko) * | 2002-12-18 | 2004-06-25 | 한국전자통신연구원 | 스키메틱 편집기에서의 버스 신호선 연결도 추출 방법 |
CN102222122A (zh) * | 2010-04-19 | 2011-10-19 | 英业达股份有限公司 | 电路布局的合并与评分方法及应用其的可读取记录媒体 |
CN114861593A (zh) * | 2022-05-31 | 2022-08-05 | 苏州浪潮智能科技有限公司 | 基于电路拓扑检查原理图网络的方法、装置、设备、介质 |
CN117113472A (zh) * | 2023-06-07 | 2023-11-24 | 常州市自然资源和规划服务中心(常州市历史文化名城保护管理中心) | 一种合并拆分基础地理面要素的方法和系统 |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990042071A (ko) * | 1997-11-25 | 1999-06-15 | 정선종 | 스키메틱 편집기의 신호선 연결도 검사방법 |
KR20040054440A (ko) * | 2002-12-18 | 2004-06-25 | 한국전자통신연구원 | 스키메틱 편집기에서의 버스 신호선 연결도 추출 방법 |
CN102222122A (zh) * | 2010-04-19 | 2011-10-19 | 英业达股份有限公司 | 电路布局的合并与评分方法及应用其的可读取记录媒体 |
CN114861593A (zh) * | 2022-05-31 | 2022-08-05 | 苏州浪潮智能科技有限公司 | 基于电路拓扑检查原理图网络的方法、装置、设备、介质 |
CN117113472A (zh) * | 2023-06-07 | 2023-11-24 | 常州市自然资源和规划服务中心(常州市历史文化名城保护管理中心) | 一种合并拆分基础地理面要素的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS63225869A (ja) | 配線経路探索方式 | |
EP0612023A2 (en) | Net diagram routing method | |
CN114202027B (zh) | 执行配置信息的生成方法、模型训练方法和装置 | |
CN117910423B (zh) | Pcb自动布线方法、装置、设备及介质 | |
CN117910423A (zh) | Pcb自动布线方法、装置、设备及介质 | |
CN114091400A (zh) | 一种pcb线路自动布线方法、装置及存储介质 | |
US5394337A (en) | Method for wire routing of a semiconductor integrated circuit and apparatus for implementing the same | |
CN1940908A (zh) | 合并零件图档中同类孔的系统及方法 | |
JP2765691B2 (ja) | シミュレーション方法 | |
CN112380611B (zh) | 船舶舾装平台通道的花钢板设计方法、装置、设备和介质 | |
CN112380612B (zh) | 适用于船舶舾装平台的快速设计方法、装置、介质及终端 | |
CN113255283B (zh) | 快速拆除闭合环路和冗余节点的全局布线方法 | |
JP2536189B2 (ja) | 自動配線方法 | |
CN113191405B (zh) | 一种基于集成电路的带权超图的多级聚类方法及存储介质 | |
CN112560386B (zh) | 一种大规模复杂版图电阻提取加速方法 | |
JP2829072B2 (ja) | Lsi配線変更方法 | |
JP3172846B2 (ja) | 形状処理装置 | |
JP4047190B2 (ja) | 自動配線方法及びそれをコンピュータに実行させる自動配線プログラム | |
CN112435339A (zh) | 一种连线避障方法、装置及电子设备 | |
CN116720298A (zh) | 变电二次设备信息流cad图生成方法、装置、设备及介质 | |
CN115952761A (zh) | 一种对多组平行端口间的布线进行电阻补偿的方法、装置及存储介质 | |
CN113468848A (zh) | 走线辅助修复方法及系统 | |
CN117371388A (zh) | 一种两组引脚的快速布线方法 | |
CN116011387A (zh) | 集成电路版图的走线连接方法、装置、存储介质及设备 | |
JP2874289B2 (ja) | 基板cad装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |