CN116011386A - 版图自动布线方法、装置、存储介质及电子设备 - Google Patents

版图自动布线方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN116011386A
CN116011386A CN202310086178.1A CN202310086178A CN116011386A CN 116011386 A CN116011386 A CN 116011386A CN 202310086178 A CN202310086178 A CN 202310086178A CN 116011386 A CN116011386 A CN 116011386A
Authority
CN
China
Prior art keywords
path
wiring
point
grid
points
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
Application number
CN202310086178.1A
Other languages
English (en)
Other versions
CN116011386B (zh
Inventor
李舒啸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Benyuan Scientific Instrument Chengdu Technology Co ltd
Original Assignee
Benyuan Scientific Instrument Chengdu Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Benyuan Scientific Instrument Chengdu Technology Co ltd filed Critical Benyuan Scientific Instrument Chengdu Technology Co ltd
Priority to CN202310086178.1A priority Critical patent/CN116011386B/zh
Publication of CN116011386A publication Critical patent/CN116011386A/zh
Application granted granted Critical
Publication of CN116011386B publication Critical patent/CN116011386B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种版图自动布线方法、装置、存储介质及电子设备。该方法包括:获取版图中布线区域内的至少一对布线起点和布线终点;根据预设网格边长和所述布图区域的边界构建以网格划分的网格地图;将每对布线起点和布线终点转换为网格地图中的寻路起点和寻路终点;确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径;将每条寻路路径包括寻路起点和寻路终点在内的路经点转换为版图中的布线点,生成顺次连接每条寻路路径对应的布线点的走线。通过上述方式,本发明能够自动生成走线,提高布线效率,可以大幅节省版图绘制时间。

Description

版图自动布线方法、装置、存储介质及电子设备
技术领域
本发明涉及集成电路布图设计领域,特别是涉及一种版图自动布线方法、装置、存储介质及电子设备。
背景技术
在集成电路版图的设计中,在绘制元器件、焊盘等电路实体的版图图形后,需要在各版图图形的连线点之间进行布线,用来表示电路连接关系。现有的布线方式是在待布线的两个图形的连线点之间手动连线,这种方式在处理大批量版图图形时,操作十分繁琐,耗时较长,所以布线效率极低。
发明内容
本发明的目的是提供一种版图自动布线方法、装置、存储介质及电子设备,以解决现有技术中手动布线效率极低的问题,能够自动生成走线,提高布线效率。
为解决上述技术问题,本发明提供一种版图自动布线方法,包括:
获取版图中布线区域内的至少一对布线起点和布线终点;
根据预设网格边长和所述布图区域的边界构建以网格划分的网格地图;
将每对布线起点和布线终点转换为网格地图中的寻路起点和寻路终点;
确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径;
将每条寻路路径包括寻路起点和寻路终点在内的路经点转换为所述版图中的布线点,生成顺次连接每条寻路路径对应的布线点的走线。
优选的,所述根据预设网格边长和所述布图区域的边界构建以网格划分的网格地图,包括:
确定所述布线区域的边界的最小外接矩形框;
根据预设网格边长、所述最小外接矩形框的高度和宽度构建由网格划分的网格地图。
优选的,所述根据预设网格边长、所述最小外接矩形框的高度和宽度构建以网格划分的网格地图,包括:
计算所述最小外接矩形框的高度与预设网格边长的高度比值以及宽度与预设网格边长的宽度比值;
将大于所述高度比值的一个整数作为高度方向网格数,将大于所述宽度比值的一个整数作为宽度方向网格数;
根据预设网格边长、高度方向网格数和宽度方向网格数构建以网格划分的网格地图。
优选的,所述布线区域边界上横坐标和纵坐标均最小的点在所述网格地图中对应的点为网格中心点。
优选的,所述寻路起点和寻路终点均为网格中心点。
优选的,所述版图到所述网格地图的坐标转换公式为:
i=round((x-min_x)/step);
j=round((y-min_y)/step);
所述网格地图到所述版图的坐标转换公式为:
x=i*step+min_x;
y=j*step+min_y;
其中,x表示所述布线区域内任一点的横坐标,y表示所述布线区域内任一点的纵坐标,i表示所述网格地图中对应点的横坐标,j表示所述网格地图中对应点的纵坐标,min_x表示所述布线区域边界的横坐标最小值,min_y表示所述布线区域边界的纵坐标最小值,step表示所述预设网格边长,round表示四舍五入运算。
优选的,不同的寻路路径的路经点相互不重合。
优选的,所述确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径,包括:
选择一个没有寻路路径的寻路起点作为路经点;
判断所述路经点所在网格的相邻网格是否包含对应寻路终点所在的网格;
如果包含对应寻路终点所在的网格,将所述寻路终点作为新的路经点;
依次连接每个路经点得到寻路路径,并将每个路经点所在网格设为障碍物,并重复所述选择一个没有寻路路径的寻路起点作为路经点的步骤。
优选的,所述确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径,还包括:
如果不包含对应寻路终点所在的网格,从所述路经点所在网格的相邻网格中找出不是障碍物、没有路经点以及没有其它寻路起点或寻路终点的网格作为备选网格;
计算所选寻路起点到每一备选网格的网格中心点的实际代价以及每一备选网格的网格中心点到寻路终点的估计代价;
选择所述实际代价与估计代价之和最小的网格中心点作为新的路经点,并重复所述判断所述路经点所在网格的相邻网格是否包含对应寻路终点所在的网格的步骤。
优选的,所述实际代价为曼哈顿距离、切比雪夫距离和欧几里得距离中之一,所述估计代价为曼哈顿距离、切比雪夫距离和欧几里得距离中之一。
优选的,所述确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径之前,所述方法还包括:
计算预设走线间距与预设网格边长的比值作为路径间距;
所述依次连接每个路经点得到寻路路径,并将每个路经点所在网格设为障碍物,还包括:
以所述路径间距为半径、以每个路经点为圆心构建圆形区域;
将所述圆形区域覆盖到的网格设为障碍物。
优选的,所述计算预设走线间距与预设网格边长的比值作为路径间距,还包括:
对所述路径间距进行向上取整。
优选的,所述确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径之前,所述方法还包括:
获取所述布线区域内的布线避让区域;
将每一所述布线避让区域转换为所述网格地图中的障碍区域;
所述选择一个没有寻路路径的寻路起点作为路经点之前,还包括:
将所述障碍区域覆盖到的网格设为障碍物。
优选的,所述方法还包括:
在每条走线两端存在不是布线起点或布线终点的布线点时,将所述布线点移动至布线起点或布线终点;
判断所述走线是否为折线;
如果所述走线为折线,保持所述布线点所在线段的斜率不变,同时调整所述布线点所在线段及其相邻线段的长度,使得两条线段相交但不交叉。
为解决上述技术问题,本发明还提供一种版图自动布线装置,包括:
点位获取模块,用于获取版图中布线区域内的至少一对布线起点和布线终点;
地图构建模块,用于根据预设网格边长和所述布图区域的边界构建以网格划分的网格地图;
点位转换模块,用于将每对布线起点和布线终点转换为网格地图中的寻路起点和寻路终点;
路径确定模块,用于确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径;
走线生成模块,用于将每条寻路路径包括寻路起点和寻路终点在内的路经点转换为所述版图中的布线点,生成顺次连接每条寻路路径对应的布线点的走线。
为解决上述技术问题,本发明还提供一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被设置为运行时执行前述任一项所述的版图自动布线方法。
为解决上述技术问题,本发明还提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行前述任一项所述的版图自动布线方法。
区别于现有技术的情况,本发明提供的版图自动布线方法首先获取布线区域内的布线起点和布线终点,然后根据预设网格边长和布线区域的边界构建网格地图,将布线起点和布线终点转换为网格地图中的寻路起点和寻路终点,再确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径,最后将每条寻路路径的路经点转换为版图中的布线点,生成顺次连接每个布线点的走线,由于走线的绘制利用地图寻路的方式实现,从而能够自动生成走线,提高布线效率,可以大幅节省版图绘制时间。
本发明提供的版图自动布线装置、存储介质及电子设备,与版图自动布线方法属于同一发明构思,因此具有相同的有益效果,在此不再赘述。
附图说明
图1为本发明实施例提供的版图自动布线方法的流程示意图。
图2a为布线区域的示意图。
图2b为以较小预设网格边长构建的网格地图的示意图。
图2c为布线区域内由路径点转换而来的布线点的示意图。
图2d为以较大预设网格边长构建的网格地图的示意图。
图3为图1所示的流程中步骤S2的具体流程示意图。
图4为图3所示的流程中步骤S22的具体流程示意图。
图5为图1所示的流程中步骤S4的具体流程示意图。
图6a为一个具体实例中三对寻路起点和寻路终点在网格地图中的示意图。
图6b为第一对寻路起点和寻路终点之间的寻路路径确定后的示意图。
图6c为第二对寻路起点和寻路终点之间的寻路路径确定后的示意图。
图6d为第三对寻路起点和寻路终点之间的寻路路径确定后的示意图。
图7为本发明另一实施例提供的版图自动布线方法的流程示意图。
图8a为走线为折线时,布线点的分布示意图。
图8b为走线为折线时,生成的走线的示意图。
图8c为走线为折线时,走线经过调整后的示意图。
图9a为走线为线段时,布线点的分布示意图。
图9b为走线为线段时,生成的走线的示意图。
图9c为走线为线段时,走线经过调整后的示意图。
图10为一个具体应用中,量子比特电路版图的示意图。
图11为图10中D1部分的放大示意图。
图12为图10中D2部分的放大示意图。
图13为在量子比特电路版图中生成走线后的示意图。
图14为本发明实施例提供的版图自动布线装置的原理框图。
具体实施方式
下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列描述和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
在本发明的描述中,需要理解的是,术语“中心”、“上”、“下”、“左”、“右”等指示的方位或者位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
实施例1
请参考图1,本发明实施例提供了一种版图自动布线方法,该方法包括以下步骤:
S1:获取版图中布线区域内的至少一对布线起点和布线终点。
其中,布线区域是允许布线的区域,布线起点和布线终点可以是布图区域内单独存在的点,也可以是一些已有器件或走线上的点。布线起点和布线终点可以通过识别获取,例如布线起点和布线终点带有特定的标识信息,通过标识信息识别出布线起点和布线终点,也可以根据外部输入确定,例如用户输入布线起点和布线终点的坐标信息,根据坐标信息获取布线起点和布线终点。
S2:根据预设网格边长和布图区域的边界构建以网格划分的网格地图。
其中,根据预设网格边长的大小,网格地图的网格密度会发生变化,预设网格边长越大,网格地图的网格密度越低,反之亦然。如图2a所示,图中矩形框内的不规则图形表示布图区域的边界,图2b和图2d表示根据预设网格边长和布图区域的边界构建的网格地图,图2d所示的网格地图的网格边长大于图2b所示的网格地图的网格边长。
S3:将每对布线起点和布线终点转换为网格地图中的寻路起点和寻路终点。
其中,由于网格地图的坐标原点并非版图的坐标原点,因此,版图中布线起点和布线终点的坐标需要转换到网格地图的坐标中,从而确定网格地图中的寻路起点和寻路终点。如图2a所示,图中有三对布线起点和布线终点,分别是A1和B1、A2和B2、A3和B3,这三对布线起点和布线终点在网格地图中的寻路起点和寻路终点分别为图2b中的M1和N1、M2和N2、M3和N3。
S4:确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径。
其中,在网格地图中,寻路起点和寻路终点确定后,寻路起点和寻路终点之间必然存在一条路经网格中心点最少的寻路路径,相邻两个路径点之间的路径为直线。如图2b所示,图中的三对寻路起点和寻路终点M1和N1、M2和N2、M3和N3之间分别确定了三条寻路路径,三条寻路路径在寻路起点和寻路终点之间的路经点均为网格中心点。
S5:将每条寻路路径包括寻路起点和寻路终点在内的路经点转换为版图中的布线点,生成顺次连接每条寻路路径对应的布线点的走线。
其中,路经点是寻路路径经过的点,且相邻两个路经点之间的路径为直线。本实施例中的路经点包括寻路起点、寻路终点和网格中心点。寻路路径确定后,寻路路径上路径点的坐标需要转换到版图的坐标中,从而确定寻路路径上路径点在版图中的布线点,依次连接这些布线点就生成了每对布线起点和布线终点之间的走线。如图2b所示,图中的三条寻路路径上的路经点包含了寻路起点、寻路终点和网格中心点。三条寻路路径上的路经点转换到版图后,在版图中的布线点分别为图2c中的点K1、K2、K3,多个布线点K1顺次连接生成走线,多个布线点K2顺次连接生成走线,多个布线点K3顺次连接生成走线。
需要说明的是,在实现本实施例的版图自动布线方法的过程中,网格地图、寻路路径的确定以及走线的生成可以在计算机或服务器后台进行,最终只呈现给用户生成的走线即可。
在本申请的一些实施例中,参考图3,根据预设网格边长和布图区域的边界构建以网格划分的网格地图的步骤,即步骤S2包括:
S21:确定布线区域的边界的最小外接矩形框。
其中,最小外接矩形框可以根据布线区域边界的横坐标最小值、纵坐标最小值、横坐标最大值和纵坐标最大值确定。将横坐标最小值和纵坐标最小值组成一个点,将横坐标最大值和纵坐标最大值组成一个点,从这两个点分别在横轴和纵轴方向上作射线,四条射线两两交汇就构成最小外接矩形框。如图2a所示,图中最***的矩形框为布线区域的边界的最小外接矩形框。
S22:根据预设网格边长、最小外接矩形框的高度和宽度构建由网格划分的网格地图。
其中,根据最小外接矩形框的高度和宽度可以确定网格地图的高度和宽度,然后根据预设网格边长可以确定网格地图的高度和宽度方向上的网格数。
进一步的,参考图4,根据预设网格边长、最小外接矩形框的高度和宽度构建以网格划分的网格地图的步骤,即步骤S22具体包括:
S221:计算最小外接矩形框的高度与预设网格边长的高度比值以及宽度与预设网格边长的宽度比值。
其中,最小外接矩形框的高度为最小外接矩形框的最大纵坐标和最小纵坐标之差,最小外接矩形框的宽度为最小外接矩形框的最大横坐标和最小横坐标之差。举例而言,最小外接矩形框的高度为34、宽度为41,预设网格边长为1.2,那么高度比值为28.3(保留一位小数点),宽度比值为34.2。
S222:将大于高度比值的一个整数作为高度方向网格数,将大于宽度比值的一个整数作为宽度方向网格数。
其中,按照上述举例,大于高度比值的一个整数为29及以上整数中的一个,大于宽度比值的一个整数为35及以上整数中的一个,为了尽量减小网格地图的大小,本实施例中,高度方向网格数优选为大于高度比值的最小整数,宽度方向网格数优选为大于宽度比值的最小整数,即高度方向网格数为29,宽度方向网格数为35。
S223:根据预设网格边长、高度方向网格数和宽度方向网格数构建以网格划分的网格地图。
通过上述方式,本发明提供的版图自动布线方法首先获取布线区域内的布线起点和布线终点,然后根据预设网格边长和布线区域的边界构建网格地图,将布线起点和布线终点转换为网格地图中的寻路起点和寻路终点,再确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径,最后将每条寻路路径的路经点转换为版图中的布线点,生成顺次连接每个布线点的走线,由于走线的绘制利用地图寻路的方式实现,从而能够自动生成走线,提高布线效率,可以大幅节省版图绘制时间。
实施例2
本实施例提供了一种版图自动布线方法,包括实施例1的全部技术特征。在实施例1的基础上,布线区域边界上横坐标和纵坐标均最小的点在网格地图中对应的点为网格中心点。如图2a所示,图中布线区域边界上横坐标和纵坐标均最小的点为S点,其在图2b所示的网格地图中对应的点为O点,O点是网格中心点。
在本实施例中,寻路起点和寻路终点均为网格中心点。本实施例提供了版图和网格地图之间的坐标转换公式,通过该坐标转换公式可以使得寻路起点和寻路终点始终为网格中心点。本实施例的坐标转换公式分为版图到网格地图的坐标转换公式和网格地图到版图的坐标转换公式。
版图到网格地图的坐标转换公式为:
i=round((x-min_x)/step);
j=round((y-min_y)/step);
网格地图到版图的坐标转换公式为:
x=i*step+min_x;
y=j*step+min_y;
其中,x表示布线区域内任一点的横坐标,y表示布线区域内任一点的纵坐标,i表示网格地图中对应点的横坐标,j表示网格地图中对应点的纵坐标,min_x表示布线区域边界的横坐标最小值,min_y表示布线区域边界的纵坐标最小值,step表示预设网格边长,round表示四舍五入运算。
如图2a和图2d所示,图2d中寻路起点M1、M2、M3和寻路终点N1、N2、N3所在的网格中包含不在网格中心点的其他点,这些点是进行四舍五入运算之前的图2a中布线起点A1、A2、A3和布线终点B1、B2、B3实际对应的点,在经过四舍五入运算后,布线起点和布线终点实际对应的点变为所在网格的网格中心点,也就是寻路起点M1、M2、M3和寻路终点N1、N2、N3。举例来说,如图2d所示,寻路终点N1的地图坐标为(5,2),布图终点B1的版图坐标为(4.9,2.4),预设网格边长为1,布图终点B1在网格地图中实际对应的点的地图坐标也是(4.9,2.4),也就是寻路终点N1所在网格内的另一个点,对该点的横坐标和纵坐标进行四舍五入运算后,该点就变为寻路终点N1。
实施例3
本实施例提供了一种版图自动布线方法,包括实施例2的全部技术特征。在实施例2的基础上,不同的寻路路径的路经点相互不重合。路经点不重合可以避免走线交叉,而版图上的走线在电路板中对应的是导线,走线不交叉就可以使得电路板中的导线不交叉。
具体而言,请参考图5,确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径的步骤,即步骤S4包括:
S41:选择一个没有寻路路径的寻路起点作为路经点。
其中,寻路起点的选择顺序可以由用户确定,也可以与布图起点的顺序保持一致。例如图2a的布图起点的序号依次为A1、A2、A3,那么图2b中的寻路起点的选择顺序依次为M1、M2、M3。
S42:判断路经点所在网格的相邻网格是否包含对应寻路终点所在的网格;
S43:如果包含对应寻路终点所在的网格,将寻路终点作为新的路经点;
S44:依次连接每个路经点得到寻路路径,并将每个路经点所在网格设为障碍物,并重复选择一个没有寻路路径的寻路起点作为路经点的步骤。
如果一个寻路起点及其对应的寻路终点所在的网格刚好相邻,那么经过上述步骤就可以确定寻路路径,此时寻路路径只有两个路经点,也就是寻路起点和寻路终点,两个路经点直接连接。两个路经点所在的网格被设为障碍物。
进一步的,在本实施例中,步骤S4还包括:
S45:如果不包含对应寻路终点所在的网格,从路经点所在网格的相邻网格中找出不是障碍物、没有路经点以及没有其它寻路起点或寻路终点的网格作为备选网格;
S46:计算所选寻路起点到每一备选网格的网格中心点的实际代价以及每一备选网格的网格中心点到寻路终点的估计代价;
S47:选择实际代价与估计代价之和最小的网格中心点作为新的路经点,并重复判断路经点所在网格的相邻网格是否包含对应寻路终点所在的网格的步骤。
如果一个寻路起点和寻路终点所在网格并不相邻,两者之间存在其他的网格,就需要从这些网格的网格中心点中选择出路经点,并且在选择路经点时,会避开属于障碍物的网格。
在地图寻路领域,代价就是距离,实际代价是两点之间确定路径的距离,估计代价是两点之间估计路径的距离。在本实施例中,实际代价为曼哈顿距离、切比雪夫距离和欧几里得距离中之一,估计代价为曼哈顿距离、切比雪夫距离和欧几里得距离中之一。
在一些版图设计要求中,除了规定走线不能交叉之外,还规定了走线之间的间距。为了满足走线间距要求,在本实施例中,确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径的步骤,即步骤S4之前,该方法还包括:
计算预设走线间距与预设网格边长的比值作为路径间距;
依次连接每个路经点得到寻路路径,并将每个路经点所在网格设为障碍物的步骤,即步骤S44还包括:
以路径间距为半径、以每个路经点为圆心构建圆形区域;
将圆形区域覆盖到的网格设为障碍物。
其中,计算预设走线间距与预设网格边长比值,就是将预设走线间距转换到网格地图中,从而得到路径间距。例如预设走线间距为6.2,预设网格边长为2,那么路径间距为3.1。
进一步的,计算预设走线间距与预设网格边长的比值作为路径间距,还包括:对路径间距进行向上取整。向上取整可以更严格地保证走线之间的间距。例如路径间距向上取整之前为3.1,向上取整后变为4,那么圆形区域就有可能覆盖到更多的网格,从而增加走线之间的间距。
在本申请一些实施例中,确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径的步骤,即步骤S4之前,方法还包括:
S6:获取布线区域内的布线避让区域。
其中,步骤S6的执行顺序可以在步骤S1到S3的任一步骤之前或之后。布线避让区域可以是版图中的元器件等覆盖的区域。
S7:将每一布线避让区域转换为网格地图中的障碍区域。
其中,步骤S7需要在步骤S2执行之后执行。
从所有寻路起点中选择一个没有寻路径路的寻路起点作为路经点的步骤,即步骤S41之前,步骤S4还包括:
S40:将障碍区域覆盖到的网格设为障碍物。
下面结合具体实例来对本实施例的方法进行详细说明。在该具体实例中,实际代价为切比雪夫距离,估计代价为欧几里得距离。
切比雪夫距离的计算公式:
g(n)=(dx1+dy1)-min(dx1,dy1)+g(n′);
dx1=abs(n_x-n′_x);
dy1=abs(n_y-n′_y);
欧几里得距离的计算公式为:
h(n)=sqrt(dx2*dx2+dy2*dy2);
dx2=abs(n_x-goal_x);
dy2=abs(n_y-goal_y);
其中,g(n′)表示所选寻路起点到上一个路径点n′的切比雪夫距离,n_x表示备选网格的网格中心点n的横坐标,n_y表示备选网格的网格中心点n的纵坐标,n′_x表示上一个路径点n′的横坐标,n′_y表示上一个路径点n′的纵坐标,goal_x表示对应寻路终点的横坐标,goal_y表示对应寻路终点的纵坐标,min表示取最小值运算,abs表示绝对值运算,sqrt表示开根运算。
请参考图6a至6d,图6a中三个寻路起点分别为M1、M2、M3,分别对应的寻路终点是N1、N2、N3。O点的坐标为(0,0),预设网格边长为1,预设走线间距为1,路径间距为1。每个网格的相邻网格分别以正上、正下、正左、正右、左上、左下、右上、右下网格命名。
首先,确定障碍区域后,将障碍区域覆盖到的网格设为障碍物。图中,阴影填充的网格表示障碍物。
设置第一个被选择的寻路起点是M1。
选择寻路起点M1作为路经点,其所在网格的相邻网格不包含寻路终点N1所在的网格,相邻的八个网格除了右下网格都作为备选网格。根据切比雪夫距离的计算公式,寻路起点M1到备选网格的网格中心点的切比雪夫距离都为1,根据欧几里得距离的计算公式,正下网格的网格中心点到寻路终点N1的欧几里得距离最小,约为12.04,切比雪夫距离与欧几里得距离之和也最小,因此将正下网格的网格中心点作为新的路经点。
新的路经点所在网格的相邻网格不包含寻路终点N1所在的网格,相邻的八个网格除了正右网格都作为备选网格。根据切比雪夫距离的计算公式,寻路起点M1到备选网格的网格中心点的切比雪夫距离都为2,根据欧几里得距离的计算公式,右下网格的网格中心点到寻路终点N1的欧几里得距离最小,为11,切比雪夫距离与欧几里得距离之和也最小,因此将右下网格的网格中心点作为新的路经点。
新的路经点所在网格的相邻网格不包含寻路终点N1所在的网格,相邻的八个网格除了正上网格都作为备选网格。根据切比雪夫距离的计算公式,寻路起点M1到备选网格的网格中心点的切比雪夫距离都为3,根据欧几里得距离的计算公式,正下网格的网格中心点到寻路终点N1的欧几里得距离最小,为10,切比雪夫距离与欧几里得距离之和也最小,因此将正下网格的网格中心点作为新的路经点。
新的路经点所在网格的相邻网格不包含寻路终点N1所在的网格,相邻的八个网格都作为备选网格。根据切比雪夫距离的计算公式,寻路起点M1到备选网格的网格中心点的切比雪夫距离都为4,根据欧几里得距离的计算公式,正下网格的网格中心点到寻路终点N1的欧几里得距离最小,为9,切比雪夫距离与欧几里得距离之和也最小,因此继续将正下网格的网格中心点作为新的路经点。
不断重复寻找新的路经点的过程,直到找到坐标为(4,10)的路经点。将寻路终点作为新的路经点;
新的路经点(4,10)所在网格的相邻网格不包含寻路终点N1所在的网格,相邻的八个网格除了正下、左下、右下网格都作为备选网格。根据切比雪夫距离的计算公式,寻路起点M1到备选网格的网格中心点的切比雪夫距离都为9,根据欧几里得距离的计算公式,正左和正右网格的网格中心点到寻路终点N1的欧几里得距离最小,约为5.10,切比雪夫距离与欧几里得距离之和也最小,因此正左和正右网格的网格中心点都可以作为新的路经点。在该具体实例中,需要按照相邻网格的遍历顺序来确定新的路经点。比如路经点所在网格的相邻网格的遍历顺序是从右上网格顺时针遍历,那么正右网格的网格中心点被选择作为新的路经点。
继续重复寻找新的路经点的过程,直到找到坐标为(5,5)的路经点。
新的路经点(5,5)所在网格的相邻网格包含寻路终点N1所在的网格,将寻路终点作为新的路经点,依次连接每个路经点得到寻路路径,并将每个路经点所在网格设为障碍物。以1为半径、以每个路经点为圆心构建圆形区域,将圆形区域覆盖到的网格设为障碍物,每个圆形区域覆盖9个网格。最终寻路起点M1和寻路终点N1之间的寻路路径图如6b所示。
接下来,设置第二个被选择的寻路起点是M2。
选择寻路起点M2作为路经点,按照上述相同的过程,最终寻路起点M2和寻路终点N2之间的寻路路径如图6c所示。
接下来,设置第二个被选择的寻路起点是M3。
选择寻路起点M3作为路经点,按照上述相同的过程,最终寻路起点M3和寻路终点N3之间的寻路路径如图6d所示。
实施例4
本实施例提供了一种版图自动布线方法,包括实施例2的全部技术特征。在实施例2的基础上,请参考图7,该方法还包括步骤:
S8A:在每条走线两端存在不是布线起点或布线终点的布线点时,将布线点移动至布线起点或布线终点。
其中,由于版图到网格地图的坐标转换公式中存在四舍五入运算,而网格地图到版图的坐标转换公式没有进行坐标补偿,虽然每条走线两端的布线点是寻路起点或寻路终点转换到版图的点,但是可能并不是布线起点或布线终点。例如某个布线起点的版图坐标为(5.3,7.8),(min_x,min_y)为(1,1),预设网格边长为1,转换到地图坐标后寻路起点的坐标为(4,7)。确定寻路路径后,寻路起点(4,7)再转换到版图中的布线点的坐标为(5,8),与实际的布线起点(5.3,7.8)存在坐标偏移。
S8B:判断走线是否为折线。
S8C:如果走线为折线,保持布线点所在线段的斜率不变,同时调整布线点所在线段及其相邻线段的长度,使得两条线段相交但不交叉。
其中,对于折线的走线,只需要调整两条线段就可以与实际的布线起点实现连接。如图8a至8c所示,图8a中的多个点K1为寻路路径的路经点转换到版图的布线点,最上方的布线点K1与布线起点A1存在坐标偏移。图8b中的多个布线点K1顺次连接生成走线,将最上方的布线点K1移动至布线起点A1,保持布线点K1所在线段的斜率不变,同时缩短布线点K1所在线段的长度以及延长其相邻线段的长度,使得两条线段相交但不交叉,得到新的走线如图8c所示。
对于线段的走线,只移动布线点的位置就可以与实际的布线起点实现连接。如图9a至9c所示,图9a中的多个点K1为寻路路径的路经点转换到版图的布线点,最上方的布线点K1与布线起点A1存在坐标偏移,最下方的布线点K1与布线终点B1存在坐标偏移。图9b中的多个布线点K1顺次连接生成走线,将最上方的布线点K1移动至布线起点A1,将最下方的布线点K1移动至布线终点B1,得到新的走线如图9c所示。
本实施例的版图自动布线方法特别适用于复杂电路版图的布线,请参考图10至图13,在一个具体应用中,采用本实施例的版图自动布线方法对一个量子比特电路版图进行布线。如图10所示,量子比特电路版图全部位于布线区域内,版图中心是已经绘制好的比特阵列,比特阵列的***呈矩形分布的是比特阵列需要连线的PAD,每个PAD上有一个连线点,将PAD的连线点设为布线起点,比特阵列的边缘分布有连线点,将比特阵列的连线点设为布线终点。如图11所示,图中布线起点为PAD的连线点,布线起点的序号从0开始排序。如图12所示,布线终点为比特阵列的连线点,布线终点的序号也从0开始排序,并且与布线起点的序号一一对应。按照本实施例的版图自动布线方法对量子比特电路版图进行处理后,最终生成的走线如图13所示。从图13可见,比特阵列和***的PAD之间生成了很多走线,这些走线相互不交叉,并且保持一定间距。
实施例5
请参考图14,本实施例提供了一种版图自动布线装置,该装置包括:
点位获取模块1,用于获取版图中布线区域内的至少一对布线起点和布线终点。其中,布线区域是允许布线的区域,布线起点和布线终点可以是布图区域内单独存在的点,也可以是一些已有器件或走线上的点。布线起点和布线终点可以通过识别获取,例如布线起点和布线终点带有特定的标识信息,通过标识信息识别出布线起点和布线终点,也可以根据外部输入确定,例如用户输入布线起点和布线终点的坐标信息,根据坐标信息获取布线起点和布线终点。
地图构建模块2,用于根据预设网格边长和布图区域的边界构建以网格划分的网格地图。其中,根据预设网格边长的大小,网格地图的网格密度会发生变化,预设网格边长越大,网格地图的网格密度越低,反之亦然。
点位转换模块3,用于将每对布线起点和布线终点转换为网格地图中的寻路起点和寻路终点。其中,由于网格地图的坐标原点并非版图的坐标原点,因此,版图中布线起点和布线终点的坐标需要转换到网格地图的坐标中,从而确定网格地图中的寻路起点和寻路终点。
路径确定模块4,用于确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径。其中,在网格地图中,寻路起点和寻路终点确定后,寻路起点和寻路终点之间必然存在一条路经网格中心点最少的寻路路径,相邻两个路径点之间的路径为直线。
走线生成模块5,用于将每条寻路路径包括寻路起点和寻路终点在内的路经点转换为版图中的布线点,生成顺次连接每条寻路路径对应的布线点的走线。其中,路经点是寻路路径经过的点,且相邻两个路经点之间的路径为直线。本实施例中的路经点包括寻路起点、寻路终点和网格中心点。寻路路径确定后,寻路路径上路径点的坐标需要转换到版图的坐标中,从而确定寻路路径上路径点在版图中的布线点,依次连接这些布线点就生成了每对布线起点和布线终点之间的走线。
本实施例的版图自动布线装置还可以具有与前述各实施例的版图自动布线方法相同的其它技术特征,实现上述各实施例中的步骤,具有相同的技术效果,此处不再赘述。
本发明还提供一种存储介质,存储介质中存储有计算机程序,计算机程序被设置为运行时执行前述任一实施例的版图自动布线方法。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明还提供一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行任一实施例的版图自动布线方法。
具体的,存储器和处理器可以通过数据总线连接。此外,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”或“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
上述仅为本发明的优选实施例而已,并不对本发明起到任何限制作用。任何所属技术领域的技术人员,在不脱离本发明的技术方案的范围内,对本发明揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离本发明的技术方案的内容,仍属于本发明的保护范围之内。

Claims (17)

1.一种版图自动布线方法,其特征在于,包括:
获取版图中布线区域内的至少一对布线起点和布线终点;
根据预设网格边长和所述布图区域的边界构建以网格划分的网格地图;
将每对布线起点和布线终点转换为网格地图中的寻路起点和寻路终点;
确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径;
将每条寻路路径包括寻路起点和寻路终点在内的路经点转换为所述版图中的布线点,生成顺次连接每条寻路路径对应的布线点的走线。
2.根据权利要求1所述的方法,其特征在于,所述根据预设网格边长和所述布图区域的边界构建以网格划分的网格地图,包括:
确定所述布线区域的边界的最小外接矩形框;
根据预设网格边长、所述最小外接矩形框的高度和宽度构建由网格划分的网格地图。
3.根据权利要求2所述的方法,其特征在于,所述根据预设网格边长、所述最小外接矩形框的高度和宽度构建以网格划分的网格地图,包括:
计算所述最小外接矩形框的高度与预设网格边长的高度比值以及宽度与预设网格边长的宽度比值;
将大于所述高度比值的一个整数作为高度方向网格数,将大于所述宽度比值的一个整数作为宽度方向网格数;
根据预设网格边长、高度方向网格数和宽度方向网格数构建以网格划分的网格地图。
4.根据权利要求1所述的方法,其特征在于,所述布线区域边界上横坐标和纵坐标均最小的点在所述网格地图中对应的点为网格中心点。
5.根据权利要求4所述的方法,其特征在于,所述寻路起点和寻路终点均为网格中心点。
6.根据权利要求5所述的方法,其特征在于,所述版图到所述网格地图的坐标转换公式为:
i=round((x-min_x)/step);
j=round((y-min_y)/step);
所述网格地图到所述版图的坐标转换公式为:
x=i*step+min_x;
y=j*step+min_y;
其中,x表示所述布线区域内任一点的横坐标,y表示所述布线区域内任一点的纵坐标,i表示所述网格地图中对应点的横坐标,j表示所述网格地图中对应点的纵坐标,min_x表示所述布线区域边界的横坐标最小值,min_y表示所述布线区域边界的纵坐标最小值,step表示所述预设网格边长,round表示四舍五入运算。
7.根据权利要求5所述的方法,其特征在于,不同的寻路路径的路经点相互不重合。
8.根据权利要求7所述的方法,其特征在于,所述确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径,包括:
选择一个没有寻路路径的寻路起点作为路经点;
判断所述路经点所在网格的相邻网格是否包含对应寻路终点所在的网格;
如果包含对应寻路终点所在的网格,将所述寻路终点作为新的路经点;
依次连接每个路经点得到寻路路径,并将每个路经点所在网格设为障碍物,并重复所述选择一个没有寻路路径的寻路起点作为路经点的步骤。
9.根据权利要求8所述的方法,其特征在于,所述确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径,还包括:
如果不包含对应寻路终点所在的网格,从所述路经点所在网格的相邻网格中找出不是障碍物、没有路经点以及没有其它寻路起点或寻路终点的网格作为备选网格;
计算所选寻路起点到每一备选网格的网格中心点的实际代价以及每一备选网格的网格中心点到寻路终点的估计代价;
选择所述实际代价与估计代价之和最小的网格中心点作为新的路经点,并重复所述判断所述路经点所在网格的相邻网格是否包含对应寻路终点所在的网格的步骤。
10.根据权利要求9所述的方法,其特征在于,所述实际代价为曼哈顿距离、切比雪夫距离和欧几里得距离中之一,所述估计代价为曼哈顿距离、切比雪夫距离和欧几里得距离中之一。
11.根据权利要求9所述的方法,其特征在于,所述确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径之前,所述方法还包括:
计算预设走线间距与预设网格边长的比值作为路径间距;
所述依次连接每个路经点得到寻路路径,并将每个路经点所在网格设为障碍物,还包括:
以所述路径间距为半径、以每个路经点为圆心构建圆形区域;
将所述圆形区域覆盖到的网格设为障碍物。
12.根据权利要求11所述的方法,其特征在于,所述计算预设走线间距与预设网格边长的比值作为路径间距,还包括:
对所述路径间距进行向上取整。
13.根据权利要求9所述的方法,其特征在于,所述确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径之前,所述方法还包括:
获取所述布线区域内的布线避让区域;
将每一所述布线避让区域转换为所述网格地图中的障碍区域;
所述选择一个没有寻路路径的寻路起点作为路经点之前,还包括:
将所述障碍区域覆盖到的网格设为障碍物。
14.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在每条走线两端存在不是布线起点或布线终点的布线点时,将所述布线点移动至布线起点或布线终点;
判断所述走线是否为折线;
如果所述走线为折线,保持所述布线点所在线段的斜率不变,同时调整所述布线点所在线段及其相邻线段的长度,使得两条线段相交但不交叉。
15.一种版图自动布线装置,其特征在于,包括:
点位获取模块,用于获取版图中布线区域内的至少一对布线起点和布线终点;
地图构建模块,用于根据预设网格边长和所述布图区域的边界构建以网格划分的网格地图;
点位转换模块,用于将每对布线起点和布线终点转换为网格地图中的寻路起点和寻路终点;
路径确定模块,用于确定每对寻路起点和寻路终点之间路经网格中心点最少的寻路路径;
走线生成模块,用于将每条寻路路径包括寻路起点和寻路终点在内的路经点转换为所述版图中的布线点,生成顺次连接每条寻路路径对应的布线点的走线。
16.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序被设置为运行时执行权利要求1至14任一项所述的版图自动布线方法。
17.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至14任一项所述的版图自动布线方法。
CN202310086178.1A 2023-01-31 2023-01-31 版图自动布线方法、装置、存储介质及电子设备 Active CN116011386B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310086178.1A CN116011386B (zh) 2023-01-31 2023-01-31 版图自动布线方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310086178.1A CN116011386B (zh) 2023-01-31 2023-01-31 版图自动布线方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN116011386A true CN116011386A (zh) 2023-04-25
CN116011386B CN116011386B (zh) 2024-07-09

Family

ID=86029953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310086178.1A Active CN116011386B (zh) 2023-01-31 2023-01-31 版图自动布线方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN116011386B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916317A (zh) * 2010-08-23 2010-12-15 清华大学 基于无网格模型的集成电路模块到模块的布线方法
CN101957876A (zh) * 2010-09-15 2011-01-26 清华大学 考虑通孔的基于不均匀网格的多层布线方法
CN102346795A (zh) * 2011-09-16 2012-02-08 华中科技大学 电工电子类虚拟实验快速自动布线方法
US20180165400A1 (en) * 2016-12-12 2018-06-14 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and Computer Program for Determining a Placement of at least one Circuit for a Reconfigurable Logic Device
CN111368493A (zh) * 2018-12-26 2020-07-03 杭州广立微电子有限公司 一种基于稀疏网格的自动版图布线生成方法
CN113730915A (zh) * 2021-09-16 2021-12-03 腾讯科技(深圳)有限公司 目标路径的确定方法、装置和存储介质及电子设备
CN114970439A (zh) * 2021-02-23 2022-08-30 联合微电子中心有限责任公司 自动布线方法、装置、计算机设备、存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916317A (zh) * 2010-08-23 2010-12-15 清华大学 基于无网格模型的集成电路模块到模块的布线方法
CN101957876A (zh) * 2010-09-15 2011-01-26 清华大学 考虑通孔的基于不均匀网格的多层布线方法
CN102346795A (zh) * 2011-09-16 2012-02-08 华中科技大学 电工电子类虚拟实验快速自动布线方法
US20180165400A1 (en) * 2016-12-12 2018-06-14 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and Computer Program for Determining a Placement of at least one Circuit for a Reconfigurable Logic Device
CN111368493A (zh) * 2018-12-26 2020-07-03 杭州广立微电子有限公司 一种基于稀疏网格的自动版图布线生成方法
CN114970439A (zh) * 2021-02-23 2022-08-30 联合微电子中心有限责任公司 自动布线方法、装置、计算机设备、存储介质
CN113730915A (zh) * 2021-09-16 2021-12-03 腾讯科技(深圳)有限公司 目标路径的确定方法、装置和存储介质及电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ROHIT AGRAWAL等: "Parallel FPGA Routers With Lagrange Relaxation", 《 IEEE ACCESS》, vol. 11, 30 October 2023 (2023-10-30), pages 121786 *
李炎等: "Charge noise acting on graphene double quantum dots in circuit quantum electrodynamics architecture", 《CHINESE PHYSICS B》, vol. 27, no. 07, 31 July 2018 (2018-07-31), pages 157 - 162 *
梁红莲等: "弹性自适应二端布线算法研究及实现", 《计算机工程与设计》, no. 20, 28 October 2008 (2008-10-28), pages 5405 - 5407 *

Also Published As

Publication number Publication date
CN116011386B (zh) 2024-07-09

Similar Documents

Publication Publication Date Title
US8112733B2 (en) Method and apparatus for routing with independent goals on different layers
CN111368493B (zh) 一种基于稀疏网格的自动版图布线生成方法
US7080342B2 (en) Method and apparatus for computing capacity of a region for non-Manhattan routing
US6904580B2 (en) Method and apparatus for pre-computing placement costs
US6532572B1 (en) Method for estimating porosity of hardmacs
JP2005506588A5 (zh)
JPH0786883B2 (ja) 網図または諭理回路図自動生成方法およびそのシステム
CN115374747A (zh) 构建空气桥图形的方法、***、存储介质及电子设备
CN116011386B (zh) 版图自动布线方法、装置、存储介质及电子设备
KR100216691B1 (ko) 레이아웃 입력장치 및 방법과 레이아웃 검증장치 및 방법
JP3884901B2 (ja) データ配置方法および2次元図面データ処理システム
US11552067B2 (en) Semiconductor cell blocks having non-integer multiple of cell heights
US6988257B2 (en) Method and apparatus for routing
US7185304B2 (en) System and method for VLSI CAD design
CN114692554B (zh) 量子比特版图的导电盘布图方法、***、介质及设备
US7243328B2 (en) Method and apparatus for representing items in a design layout
JP2002305223A (ja) 半導体装置における座標変換システム、及び座標変換プログラム
JP2021012935A (ja) 半導体集積回路の配線設計装置及び半導体集積回路の配線設計用プログラム
CN116306459B (zh) 量子芯片版图的引脚布置方法、***、介质及设备
JP2530373B2 (ja) 八角形表現を利用した配線方法およびその装置
JP2005339464A (ja) 三次元実装回路の設計システム及び設計方法
JP2596698B2 (ja) 等高線の生成方法
JP2615091B2 (ja) 回路ブロックパターン入力装置
JP2933583B2 (ja) 抵抗素子の自動配置システム
CN117077797A (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