本文作者:kaifamei

一种PCB差分对自动布线方法、装置、设备、存储介质与流程

更新时间:2025-01-08 15:25:22 0条评论

一种PCB差分对自动布线方法、装置、设备、存储介质与流程


一种pcb差分对自动布线方法、装置、设备、存储介质
技术领域
1.本发明涉及pcb自动布线技术领域,具体涉及一种pcb差分对自动布线方法、装置、设备、存储介质。


背景技术:



2.布线是pcb设计中的一个关键且重要的步骤及过程,pcb布线的好坏将直接影响到后续pcb板的可用性,因此,pcb的布线结果也十分重要。在一般的布线任务中,采用导线将器件的pin脚,按照一定的规则约束连接起来即可。但是在高速电路中,也存在一种差分布线的情况,所谓差分布线,就是两根信号完全一致的线,在进行布线时要保存平行,线宽、线间距保持不变,同时需要注意的是,在布线的过程中,两条线的长度要尽量保持一样长,线间距不能变,要保持平行。
3.因为差分布线有以上的特点,在工程师进行差分布线时,需要通过软件来进行一些规则的设置等,从而尽可能获取到更好的差分布线结果,如专利cn202010108082.7中提出的一种pcb设计中差分布线的方法及系统,该方法通过第一布线模块、粗线生成模块、移动模块和第二布线模块,提高了pcb设计中差分布线的效率和准确性。
4.但是专利cn202010108082.7也是在人工布线的基础,辅助进行的差分布线。如何通过自动布线的方式,根据线宽、间隙宽度等约束情况实现自动的差分布线,也是当前自动布线领域需要思考和解决的问题。


技术实现要素:



5.针对如何通过自动布线的方式,根据线宽、间隙宽度等约束情况实现自动的差分布线的问题,本发明提供一种pcb差分对自动布线方法、装置、设备、存储介质。
6.第一方面,本发明技术方案提供一种pcb差分对自动布线方法,包括如下步骤:
7.确定需要进行差分布线的网络对,并对每个网络上的pin脚按照最短连接路径原则进行排序;
8.按照排序对两个网络上的pin脚进行配对;
9.获取配对pin脚的合并点;
10.对获取的合并点依次进行自动布线;
11.对自动布线结果进行解耦操作,得到解耦后的两条平行的差分对布线。
12.进一步的,确定需要进行差分布线的网络对,并对每个网络上的pin脚按照最短连接路径原则进行排序的步骤包括:
13.从导出的dsn文件中获取需要进行差分走线的网络对;成对的网络中每个网络包含的pin脚的数量相同,均为m;
14.分别对网络对中的第一个网络中的pin脚以第一个网络连接的总长度最小为原则,获得第一个网络的最小连接的pin脚排序,生成第一个网络的排序集合;
15.在对应网络对中的第二个网络的pin脚中分别获取与第一个网络的pin脚排序集
合中的pin脚最近的pin脚,生成第二个网络的排序集合。
16.进一步的,按照排序对两个网络上的pin脚进行配对的步骤包括:
17.对第一个网络的排序集合中的pin脚和第二个网络的排序集合中的pin脚依次进行组对,即将第一个网络的排序集合中的第一个pin脚与第二个网络的排序集合中的第一个pin脚组对,依次将第一个网络的排序集合中的第m个pin脚与第二个网络的排序集合中的第m个pin脚组对。
18.进一步的,获取配对pin脚的合并点的步骤包括:
19.计算第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴和y轴上的差分点;
20.计算第一个配对中第一个网络的pin脚和第二个网络的pin脚的中心点;
21.计算第一个配对中pin脚的候选合并点;
22.同样方式计算出所有配对的pin脚的候选合并点;
23.计算当前pin脚与下一个pin脚所有候选合并点曼哈顿距离最近的合并点,作为最终的合并点。
24.进一步的,计算第一个配对中pin脚的候选合并点的步骤包括:
25.将计算出的第一个配对中pin脚的中心点的x坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在y轴上的差分点求和得到第一个pin脚第一候选合并点的x坐标;将计算出的第一个配对中pin脚的中心点的y坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴上的差分点求和得到第一个pin脚第一候选合并点的y坐标;
26.将计算出的第一个配对中pin脚的中心点的x坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在y轴上的差分点求差得到第一个pin脚第二候选合并点的x坐标;将计算出的第一个配对中pin脚的中心点的y坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴上的差分点求差得到第一个pin脚第二候选合并点y坐标;
27.根据第一个pin脚第一候选合并点的x坐标和第一个pin脚第一候选合并点的y坐标得到第一个pin脚第一候选合并点;根据第一个pin脚第二候选合并点的x坐标和第一个pin脚第二候选合并点的y坐标得到第一个pin脚第二候选合并点。
28.进一步的,对获取的合并点依次进行自动布线的步骤包括:
29.对计算得到的合并点从第一个合并点开始,依次与下一个合并点进行自动布线,其中,设置线宽为r,差分对的间隙为g,自动布线需要在2*r+g的空间进行路径搜索,搜索到的路径为path。
30.进一步的,对自动布线结果进行解耦操作,得到解耦后的两条平行的差分对布线的步骤包括:
31.确定布线的两个合并点的相对位置是水平的还是垂直的;
32.若是水平,将得到的路径path,分别向上和向下平移(2*r+g)/2,分别将上移/下移的左端点记为pin_start,右端点记为pin_end;
33.若是垂直,将得到的路径path,分别向左和向右平移(2*r+g)/2,分别将左移/右移的下端点记为pin_start,上端点记为pin_end;
34.将pin_start和pin_end与实际的pin脚进行自动连接,完成了差分对的自动布线。
35.第二方面,本发明技术方案提供一种pcb差分对自动布线装置,包括数据预处理模块、自动布线模块、后处理模块;
36.数据预处理模块,用于确定需要进行差分布线的网络对,并对每个网络上的pin脚按照最短连接路径原则进行排序;按照排序对两个网络上的pin脚进行配对;获取配对pin脚的合并点;
37.自动布线模块,用于对获取的合并点依次进行自动布线;
38.后处理模块,用于对自动布线结果进行解耦操作,得到解耦后的两条平行的差分对布线。
39.进一步的,数据预处理模块包括差分网络对获取单元、排序处理单元;
40.差分网络对获取单元,用于从导出的dsn文件中获取需要进行差分走线的网络对;成对的网络中每个网络包含的pin脚的数量相同,均为m;
41.排序处理单元,用于分别对网络对中的第一个网络中的pin脚以第一个网络连接的总长度最小为原则,获得第一个网络的最小连接的pin脚排序,生成第一个网络的排序集合;在对应网络对中的第二个网络的pin脚中分别获取与第一个网络的pin脚排序集合中的pin脚最近的pin脚,生成第二个网络的排序集合。
42.进一步的,数据预处理模块包括配对处理单元,用于对第一个网络的排序集合中的pin脚和第二个网络的排序集合中的pin脚依次进行组对,即将第一个网络的排序集合中的第一个pin脚与第二个网络的排序集合中的第一个pin脚组对,依次将第一个网络的排序集合中的第m个pin脚与第二个网络的排序集合中的第m个pin脚组对。
43.进一步的,数据预处理模块还包括合并点计算单元,用于计算第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴和y轴上的差分点;计算第一个配对中第一个网络的pin脚和第二个网络的pin脚的中心点;计算第一个配对中pin脚的候选合并点;同样方式计算出所有配对的pin脚的候选合并点;计算当前pin脚与下一个pin脚所有候选合并点曼哈顿距离最近的合并点,作为最终的合并点。
44.进一步的,合并点计算单元,还用于将计算出的第一个配对中pin脚的中心点的x坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在y轴上的差分点求和得到第一个pin脚第一候选合并点的x坐标;将计算出的第一个配对中pin脚的中心点的y坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴上的差分点求和得到第一个pin脚第一候选合并点的y坐标;将计算出的第一个配对中pin脚的中心点的x坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在y轴上的差分点求差得到第一个pin脚第二候选合并点的x坐标;将计算出的第一个配对中pin脚的中心点的y坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴上的差分点求差得到第一个pin脚第二候选合并点y坐标;根据第一个pin脚第一候选合并点的x坐标和第一个pin脚第一候选合并点的y坐标得到第一个pin脚第一候选合并点;根据第一个pin脚第二候选合并点的x坐标和第一个pin脚第二候选合并点的y坐标得到第一个pin脚第二候选合并点。
45.进一步的,自动布线模块,用于对计算得到的合并点从第一个合并点开始,依次与下一个合并点进行自动布线,其中,设置线宽为r,差分对的间隙为g,自动布线需要在2*r+g
的空间进行路径搜索,搜索到的路径为path。
46.进一步的,后处理模块包括pin脚位置关系确定单元、解耦设置单元、连接布线单元;
47.pin脚位置关系确定单元,用于确定布线的两个合并点的相对位置是水平的还是垂直的;
48.解耦设置单元,用于若是水平,将得到的路径path,分别向上和向下平移(2*r+g)/2,分别将上移/下移的左端点记为pin_start,右端点记为pin_end;若是垂直,将得到的路径path,分别向左和向右平移(2*r+g)/2,分别将左移/右移的下端点记为pin_start,上端点记为pin_end;
49.连接布线单元,用于将pin_start和pin_end与实际的pin脚进行自动连接,完成了差分对的自动布线。
50.第三方面,本发明技术方案还提供一种电子设备,所述电子设备包括:
51.至少一个处理器;以及,
52.与所述至少一个处理器通信连接的存储器;其中,
53.存储器存储有可被至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的pcb差分对自动布线方法。
54.第四方面,本发明技术方案还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面所述的pcb差分对自动布线方法。
55.从以上技术方案可以看出,本发明具有以下优点:根据差分对布线的特定,将差分对布线的点进行合并,采用自动布线的方式进行自动布线,然后对得到的结果信息解耦得到两条平行的布线,最后再与真实的管脚连接,从而完成了差分对的自动布线过程。整个布线过程无需人工参与便可自动完成,从而节省了工程的时间,同时,布线的结果也是可用、可靠的。
56.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
57.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
58.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
59.图1是本发明一个实施例的方法的示意性流程图。
60.图2是本发明一个实施例的装置的示意性框图。
61.图3是本发明一个实施例装置的后处理模块的具体处理流程示意图。
具体实施方式
62.在进行pcb布线时,会存在差分对布线的情况,即两条网络需要等长、平行,根据差
分对布线的特点,将每个网络的pin脚进行排序,组对,然后进行合并,对合并点进行自动布线操作,得到合并点之间的路径,然后再根据网络的线宽、间距等参数,对得到的合并点之间的路径进行移动,得到差分对布线,最后将实际的pin点再与解耦后的合并点进行连接,从而完成差分对自动布线任务。整个布线过程无需人工参与便可自动完成,从而节省了工程的时间,同时,布线的结果也是可用、可靠的。为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
63.如图1所示,本发明实施例提供一种pcb差分对自动布线方法,包括如下步骤:
64.步骤1:确定需要进行差分布线的网络对,并对每个网络上的pin脚按照最短连接路径原则进行排序;
65.步骤2:按照排序对两个网络上的pin脚进行配对;
66.步骤3:获取配对pin脚的合并点;
67.步骤4:对获取的合并点依次进行自动布线;
68.步骤5:对自动布线结果进行解耦操作,得到解耦后的两条平行的差分对布线。
69.需要说明的是,在有些实施例中,确定需要进行差分布线的网络对,并对每个网络上的pin脚按照最短连接路径原则进行排序的步骤包括:
70.步骤11:从导出的dsn文件中获取需要进行差分走线的网络对;成对的网络中每个网络包含的pin脚的数量相同,均为m;得到一对需要进行差分对走线的网络对,分别记为net1,net2,其中net1中所包含的pin脚有m个,net2中所包含的pin脚也有m个;
71.步骤12:分别对网络对中的第一个网络中的pin脚以第一个网络连接的总长度最小为原则,获得第一个网络的最小连接的pin脚排序,生成第一个网络的排序集合;分别对net1中的m个pin以net1连接的总长度最小为原则,获得最小连接的排序,将其记为{n1_pin1,n1_pin2,

,n1_pinm};
72.步骤13:在对应网络对中的第二个网络的pin脚中分别获取与第一个网络的pin脚排序集合中的pin脚最近的pin脚,生成第二个网络的排序集合;在net2的m个pin中,分别获取n1_pin1,n1_pin2,

,n1_pinm最近的pin脚,即为net2的最小连接排序,将其记为{n2_pin1,n2_pin2,

,n2_pinm}。
73.对第一个网络的排序集合中的pin脚和第二个网络的排序集合中的pin脚依次进行组对,即将第一个网络的排序集合中的第一个pin脚与第二个网络的排序集合中的第一个pin脚组对,依次将第一个网络的排序集合中的第m个pin脚与第二个网络的排序集合中的第m个pin脚组对;也就是,对步骤12获得的net1的pin和步骤13获得的net2的pin依次进行组对,即(n1_pin1,n2_pin1),(n1_pin2,n2_pin2),

,(n1_pinm,n2_pinm);
74.相应的,pin脚x坐标表示为pin.x,pin脚的y坐标表示为pin.y,获取配对pin脚的合并点的步骤包括:
75.步骤31:计算第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴和y轴上的差分点;
76.计算n1_pin1和n2_pin1在x轴和y轴上的差分点,diff_x=|n1_pin1.x

n2_pin1.x
|/2,diff_y=|n1_pin1.y

n2_pin1.y|/2;
77.步骤32:计算第一个配对中第一个网络的pin脚和第二个网络的pin脚的中心点;
78.计算n1_pin1和n2_pin1的中心点,median_x=(n1_pin1.x+n2_pin1.x)/2,median_y=(n1_pin1.y+n2_pin1.y)/2;
79.步骤33:计算第一个配对中pin脚的候选合并点;具体包括:将计算出的第一个配对中pin脚的中心点的x坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在y轴上的差分点求和得到第一个pin脚第一候选合并点的x坐标;将计算出的第一个配对中pin脚的中心点的y坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴上的差分点求和得到第一个pin脚第一候选合并点的y坐标;
80.将计算出的第一个配对中pin脚的中心点的x坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在y轴上的差分点求差得到第一个pin脚第二候选合并点的x坐标;将计算出的第一个配对中pin脚的中心点的y坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴上的差分点求差得到第一个pin脚第二候选合并点y坐标;
81.根据第一个pin脚第一候选合并点的x坐标和第一个pin脚第一候选合并点的y坐标得到第一个pin脚第一候选合并点;根据第一个pin脚第二候选合并点的x坐标和第一个pin脚第二候选合并点的y坐标得到第一个pin脚第二候选合并点;
82.具体的,pin1_meg1_x=median_x+diff_y,pin1_meg1_y=median_y+diff_x,pin1_meg2_x=median_x

diff_y,pin1_meg2_y=median_y

diff_x,则候选合并点有[pin1_meg1,pin1_meg2];
[0083]
步骤34:同样方式计算出所有配对的pin脚的候选合并点;
[0084]
步骤35:计算当前pin脚与下一个pin脚所有候选合并点曼哈顿距离最近的合并点,作为最终的合并点;记为pin_meg,对于有m个组对的情况,即有m个合并点,分别记为pin1_meg,pin2_meg,

,pinm_meg。
[0085]
进一步的,对获取的合并点依次进行自动布线的步骤包括:
[0086]
对计算得到的合并点从第一个合并点开始,依次与下一个合并点进行自动布线,其中,设置线宽为r,差分对的间隙为g,自动布线需要在2*r+g的空间进行路径搜索,搜索到的路径为path。
[0087]
相应的,对自动布线结果进行解耦操作,得到解耦后的两条平行的差分对布线的步骤包括:
[0088]
步骤51:确定布线的两个合并点的相对位置是水平的还是垂直的;
[0089]
若是水平,执行步骤52,若是垂直,执行步骤53;
[0090]
步骤52:将得到的路径path,分别向上和向下平移(2*r+g)/2,分别将上移/下移的左端点记为pin_start,右端点记为pin_end;执行步骤54;
[0091]
步骤53:将得到的路径path,分别向左和向右平移(2*r+g)/2,分别将左移/右移的下端点记为pin_start,上端点记为pin_end;执行步骤54;
[0092]
步骤54:将pin_start和pin_end与实际的pin脚进行自动连接,完成了差分对的自动布线。
[0093]
本发明根据差分对布线的特定,将差分对布线的点进行合并,采用自动布线的方
式进行自动布线,然后对得到的结果信息解耦得到两条平行的布线,最后再与真实的管脚连接,从而完成了差分对的自动布线过程。整个布线过程无需人工参与便可自动完成,从而节省了工程的时间,同时,布线的结果也是可用、可靠的。
[0094]
如图2所示,本发明实施例提供一种pcb差分对自动布线装置,包括数据预处理模块、自动布线模块、后处理模块;
[0095]
数据预处理模块,用于确定需要进行差分布线的网络对,并对每个网络上的pin脚按照最短连接路径原则进行排序;按照排序对两个网络上的pin脚进行配对;获取配对pin脚的合并点;
[0096]
自动布线模块,用于对获取的合并点依次进行自动布线;
[0097]
后处理模块,用于对自动布线结果进行解耦操作,得到解耦后的两条平行的差分对布线。
[0098]
需要说明的是,数据预处理模块包括差分网络对获取单元、排序处理单元;
[0099]
差分网络对获取单元,用于从导出的dsn文件中获取需要进行差分走线的网络对;成对的网络中每个网络包含的pin脚的数量相同,均为m;
[0100]
排序处理单元,用于分别对网络对中的第一个网络中的pin脚以第一个网络连接的总长度最小为原则,获得第一个网络的最小连接的pin脚排序,生成第一个网络的排序集合;在对应网络对中的第二个网络的pin脚中分别获取与第一个网络的pin脚排序集合中的pin脚最近的pin脚,生成第二个网络的排序集合。
[0101]
数据预处理模块包括配对处理单元,用于对第一个网络的排序集合中的pin脚和第二个网络的排序集合中的pin脚依次进行组对,即将第一个网络的排序集合中的第一个pin脚与第二个网络的排序集合中的第一个pin脚组对,依次将第一个网络的排序集合中的第m个pin脚与第二个网络的排序集合中的第m个pin脚组对。
[0102]
数据预处理模块还包括合并点计算单元,用于计算第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴和y轴上的差分点;计算第一个配对中第一个网络的pin脚和第二个网络的pin脚的中心点;计算第一个配对中pin脚的候选合并点;同样方式计算出所有配对的pin脚的候选合并点;计算当前pin脚与下一个pin脚所有候选合并点曼哈顿距离最近的合并点,作为最终的合并点。
[0103]
合并点计算单元,还用于将计算出的第一个配对中pin脚的中心点的x坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在y轴上的差分点求和得到第一个pin脚第一候选合并点的x坐标;将计算出的第一个配对中pin脚的中心点的y坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴上的差分点求和得到第一个pin脚第一候选合并点的y坐标;将计算出的第一个配对中pin脚的中心点的x坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在y轴上的差分点求差得到第一个pin脚第二候选合并点的x坐标;将计算出的第一个配对中pin脚的中心点的y坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴上的差分点求差得到第一个pin脚第二候选合并点y坐标;根据第一个pin脚第一候选合并点的x坐标和第一个pin脚第一候选合并点的y坐标得到第一个pin脚第一候选合并点;根据第一个pin脚第二候选合并点的x坐标和第一个pin脚第二候选合并点的y坐标得到第一个pin脚第二候选合并点。
[0104]
自动布线模块,用于对计算得到的合并点从第一个合并点开始,依次与下一个合并点进行自动布线,其中,设置线宽为r,差分对的间隙为g,自动布线需要在2*r+g的空间进行路径搜索,搜索到的路径为path。
[0105]
后处理模块的具体处理流程如图3所示,具体包括:确定布线的两个合并点的相对位置是水平的还是垂直的;若是水平,将得到的路径path,分别向上和向下平移(2*r+g)/2,分别将上移/下移的左端点记为pin_start,右端点记为pin_end;若是垂直,将得到的路径path,分别向左和向右平移(2*r+g)/2,分别将左移/右移的下端点记为pin_start,上端点记为pin_end;将pin_start和pin_end与实际的pin脚进行自动连接,完成了差分对的自动布线。
[0106]
本装置的具体实现步骤如下:
[0107]
s1:从allegro软件导出的dsn文件中,获取到需要进行差分走线的网络对,这里以一对网络作为说明示例,分别将其记为net1,net2,为了说明清楚,这里以每个网络均有3个pin为例,其中net1中所包含的pin有3个,net2中所包含的pin也有3个;
[0108]
s2:分别对net1中的3个pin以net1连接的总长度最小为原则,获得最小连接的排序,将其记为n1_pin1,n1_pin2,n1_pin3;
[0109]
s3:根据步骤s2的排序,获取每个pin最近的net2的pin的排序,得到n2_pin1,n2_pin2,n2_pin3;
[0110]
s4:对步骤s2获得的net1的pin和步骤s3获得的net2的pin依次进行组对,即(n1_pin1,n2_pin1),(n1_pin2,n2_pin2),(n1_pin3,n2_pin3);
[0111]
s5:对步骤s4的组对获取其对应的合并点,合并点的获取步骤为:分别计算每个组对的候选合并点,具体步骤为:a.计算n1_pin和n2_pin在x轴和y轴上的差分点,diff_x=|n1_pin.x

n2_pin.x|/2,diff_y=|n1_pin.y

n2_pin.y|/2;b.计算n1_pin和n2_pin的中心点,median_x=(n1_pin.x+n2_pin.x)/2,median_y=(n1_pin.y+n2_pin.y)/2;c.计算候选合并点:pin_meg1_x=median_x+diff_y,pin_meg1_y=median_y+diff_x,pin_meg2_x=median_x

diff_y,pin_meg2_y=median_y

diff_x,得到候选合并点[pin_meg1,pin_meg2],分别得到三个组对的候选合并点后,计算每个组对的候选合并点与下一个组对的候选合并点曼哈顿距离最短的候选合并点作为最终的合并点,即计算第一组对与第二组对的候选合并点曼哈顿距离最短的候选合并点,得到第一组对的合并点和第二组对的合并点,计算第二组对与第三组对的候选合并点曼哈顿距离最短的候选合并点,得到第二组对的合并点和第三组对的合并点,分别记为meg1,meg2,meg3;
[0112]
s6:对步骤s5得到的合并点进行自动布线,meg1与meg2的布线结果为path1,meg2与meg3的布线结果为path2,其中需要考虑差分对的线宽和间隙,记线宽为r,间隙为g,则自动布线需要在2*r+g的空间进行路径搜索。
[0113]
s7:判断meg1与meg2相对位置是水平的还是垂直的,如果为水平的,则解耦操作为,将s6得到的path1路径,分别向上和向下平移(2*r+g)/2,分别将上移的左端点记为n1_pin1_meg,右端点记为n1_pin2_meg,下移的左端点记为n2_pin1_meg,右端点记为n2_pin2_meg,如果是垂直的,则解耦操作为,将s6得到的path1路径,分别向左和向有平移(2*r+g)/2,分别将左移的下端的记为n1_pin1_meg,上端点记为n1_pin2_meg,右移的下端点记为n2_pin1_meg,上端点记为n2_pin2_meg;将每个网络解耦之后的合并点与实际的pin脚进行自
动连接,即n1_pin1_meg与n1_pin1,n1_pin2_meg与n1_pin2,n2_pin1_meg与n2_pin1,n2_pin2_meg与n2_pin2进行自动连接;后面的meg2与meg3的操作与上述步骤相同,即可完成该差分对的自动布线任务。
[0114]
这样一来,即可实施完成pcb差分对自动布线。
[0115]
本发明实施例还提供一种电子设备,所述电子设备包括:处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信。总线可以用于电子设备与传感器之间的信息传输。处理器可以调用存储器中的逻辑指令,以执行如下方法:步骤1:确定需要进行差分布线的网络对,并对每个网络上的pin脚按照最短连接路径原则进行排序;步骤2:按照排序对两个网络上的pin脚进行配对;步骤3:获取配对pin脚的合并点;具体包括计算第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴和y轴上的差分点;计算第一个配对中第一个网络的pin脚和第二个网络的pin脚的中心点;计算第一个配对中pin脚的候选合并点;同样方式计算出所有配对的pin脚的候选合并点;计算当前pin脚与下一个pin脚所有候选合并点曼哈顿距离最近的合并点,作为最终的合并点;步骤4:对获取的合并点依次进行自动布线;步骤5:对自动布线结果进行解耦操作,得到解耦后的两条平行的差分对布线;具体包括:步骤51:确定布线的两个合并点的相对位置是水平的还是垂直的;若是水平,执行步骤52,若是垂直,执行步骤53;步骤52:将得到的路径path,分别向上和向下平移(2*r+g)/2,分别将上移/下移的左端点记为pin_start,右端点记为pin_end;执行步骤54;步骤53:将得到的路径path,分别向左和向右平移(2*r+g)/2,分别将左移/右移的下端点记为pin_start,上端点记为pin_end;执行步骤54;步骤54:将pin_start和pin_end与实际的pin脚进行自动连接,完成了差分对的自动布线。
[0116]
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0117]
本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述方法实施例所提供的方法,例如包括:步骤1:确定需要进行差分布线的网络对,并对每个网络上的pin脚按照最短连接路径原则进行排序;步骤2:按照排序对两个网络上的pin脚进行配对;步骤3:获取配对pin脚的合并点;具体包括计算第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴和y轴上的差分点;计算第一个配对中第一个网络的pin脚和第二个网络的pin脚的中心点;计算第一个配对中pin脚的候选合并点;同样方式计算出所有配对的pin脚的候选合并点;计算当前pin脚与下一个pin脚所有候选合并点曼哈顿距离最近的合并点,作为最终的合并点;步骤4:对获取的合并点依次进行自动布线;步骤5:对自动布线结果进行解耦操作,得到解耦后的两条平行的差分对布线;具体包括:步骤51:确定布线的两个合并点的相对位置是水平的还是垂直的;若是水平,执行步骤52,若是垂直,执行步骤53;步骤52:将得到的路径path,分
别向上和向下平移(2*r+g)/2,分别将上移/下移的左端点记为pin_start,右端点记为pin_end;执行步骤54;步骤53:将得到的路径path,分别向左和向右平移(2*r+g)/2,分别将左移/右移的下端点记为pin_start,上端点记为pin_end;执行步骤54;步骤54:将pin_start和pin_end与实际的pin脚进行自动连接,完成了差分对的自动布线。
[0118]
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

技术特征:


1.一种pcb差分对自动布线方法,其特征在于,包括如下步骤:确定需要进行差分布线的网络对,并对每个网络上的pin脚按照最短连接路径原则进行排序;按照排序对两个网络上的pin脚进行配对;获取配对pin脚的合并点;对获取的合并点依次进行自动布线;对自动布线结果进行解耦操作,得到解耦后的两条平行的差分对布线。2.根据权利要求1所述的pcb差分对自动布线方法,其特征在于,确定需要进行差分布线的网络对,并对每个网络上的pin脚按照最短连接路径原则进行排序的步骤包括:从导出的dsn文件中获取需要进行差分走线的网络对;成对的网络中每个网络包含的pin脚的数量相同,均为m;分别对网络对中的第一个网络中的pin脚以第一个网络连接的总长度最小为原则,获得第一个网络的最小连接的pin脚排序,生成第一个网络的排序集合;在对应网络对中的第二个网络的pin脚中分别获取与第一个网络的pin脚排序集合中的pin脚最近的pin脚,生成第二个网络的排序集合。3.根据权利要求2所述的pcb差分对自动布线方法,其特征在于,按照排序对两个网络上的pin脚进行配对的步骤包括:对第一个网络的排序集合中的pin脚和第二个网络的排序集合中的pin脚依次进行组对,即将第一个网络的排序集合中的第一个pin脚与第二个网络的排序集合中的第一个pin脚组对,依次将第一个网络的排序集合中的第m个pin脚与第二个网络的排序集合中的第m个pin脚组对。4.根据权利要求3所述的pcb差分对自动布线方法,其特征在于,获取配对pin脚的合并点的步骤包括:计算第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴和y轴上的差分点;计算第一个配对中第一个网络的pin脚和第二个网络的pin脚的中心点;计算第一个配对中pin脚的候选合并点;同样方式计算出所有配对的pin脚的候选合并点;计算当前pin脚与下一个pin脚所有候选合并点曼哈顿距离最近的合并点,作为最终的合并点。5.根据权利要求4所述的pcb差分对自动布线方法,其特征在于,计算第一个配对中pin脚的候选合并点的步骤包括:将计算出的第一个配对中pin脚的中心点的x坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在y轴上的差分点求和得到第一个pin脚第一候选合并点的x坐标;将计算出的第一个配对中pin脚的中心点的y坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在x轴上的差分点求和得到第一个pin脚第一候选合并点的y坐标;将计算出的第一个配对中pin脚的中心点的x坐标与计算出的第一个配对中第一个网络的pin脚和第二个网络的pin脚在y轴上的差分点求差得到第一个pin脚第二候选合并点的x坐标;将计算出的第一个配对中pin脚的中心点的y坐标与计算出的第一个配对中第一
个网络的pin脚和第二个网络的pin脚在x轴上的差分点求差得到第一个pin脚第二候选合并点y坐标;根据第一个pin脚第一候选合并点的x坐标和第一个pin脚第一候选合并点的y坐标得到第一个pin脚第一候选合并点;根据第一个pin脚第二候选合并点的x坐标和第一个pin脚第二候选合并点的y坐标得到第一个pin脚第二候选合并点。6.根据权利要求5所述的pcb差分对自动布线方法,其特征在于,对获取的合并点依次进行自动布线的步骤包括:对计算得到的合并点从第一个合并点开始,依次与下一个合并点进行自动布线,其中,设置线宽为r,差分对的间隙为g,自动布线需要在2*r+g的空间进行路径搜索,搜索到的路径为path。7.根据权利要求6所述的pcb差分对自动布线方法,其特征在于,对自动布线结果进行解耦操作,得到解耦后的两条平行的差分对布线的步骤包括:确定布线的两个合并点的相对位置是水平的还是垂直的;若是水平,将得到的路径path,分别向上和向下平移(2*r+g)/2,分别将上移/下移的左端点记为pin_start,右端点记为pin_end;若是垂直,将得到的路径path,分别向左和向右平移(2*r+g)/2,分别将左移/右移的下端点记为pin_start,上端点记为pin_end;将pin_start和pin_end与实际的pin脚进行自动连接,完成了差分对的自动布线。8.一种pcb差分对自动布线装置,其特征在于,包括数据预处理模块、自动布线模块、后处理模块;数据预处理模块,用于确定需要进行差分布线的网络对,并对每个网络上的pin脚按照最短连接路径原则进行排序;按照排序对两个网络上的pin脚进行配对;获取配对pin脚的合并点;自动布线模块,用于对获取的合并点依次进行自动布线;后处理模块,用于对自动布线结果进行解耦操作,得到解耦后的两条平行的差分对布线。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项权利要求所述的pcb差分对自动布线方法。10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一项权利要求所述的pcb差分对自动布线方法。

技术总结


本发明属于PCB自动布线技术领域,具体提供一种PCB差分对自动布线方法、装置、设备、存储介质,所述方法包括如下步骤:确定需要进行差分布线的网络对,并对每个网络上的pin脚按照最短连接路径原则进行排序;按照排序对两个网络上的pin脚进行配对;获取配对pin脚的合并点;对获取的合并点依次进行自动布线;对自动布线结果进行解耦操作,得到解耦后的两条平行的差分对布线。将差分对布线的点进行合并,采用自动布线的方式进行自动布线,对得到的结果信息解耦得到两条平行的布线,最后再与真实的管脚连接,从而完成了差分对的自动布线过程。整个布线过程无需人工参与便可自动完成,从而节省了工程的时间。节省了工程的时间。节省了工程的时间。


技术研发人员:

范琳琳

受保护的技术使用者:

苏州浪潮智能科技有限公司

技术研发日:

2022.10.26

技术公布日:

2023/1/17


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-75837-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-01-24 23:32:10

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论