一种集成电路的布线方案确定方法、装置及设备和介质与流程

文档序号:37310716发布日期:2024-03-13 20:59阅读:36来源:国知局
一种集成电路的布线方案确定方法、装置及设备和介质与流程

本技术涉及计算机,更具体地说,涉及一种集成电路的布线方案确定方法、装置及设备和介质。


背景技术:

1、在集成电路的后端设计中,一个关键的步骤是确定布线方案,其基本目标是实现所有线网的电等价互联。由于芯片规模越来越大,确定布线方案被拆分为确定总体布线方案和确定详细布线方案两个阶段。确定总体布线方案为所有线网提供粗粒度的路径分配方案,确定详细布线方案将依据总体布线的结果确定过点、轨道、通孔、和金属线的精确位置。

2、给定器件布局和网表,确定总体布线方案需要在满足布线区域资源约束条件下优化布线目标。确定总体布线方案一般包括三个步骤:多引脚线网拆分、网表布线、拆线重布。

3、多引脚线网拆分旨在将多引脚线网拆分为多个双引脚线网,在相关技术中,采用最小生成树算法进行多引脚线网拆分,该方案会导致输出次优布线长度的方案,且该方案通常只考虑布线长度而忽视了拆分后造成的拥塞,导致布线方案的布通率较低。

4、因此,如何提高布线方案的布通率是本领域技术人员需要解决的技术问题。


技术实现思路

1、本技术的目的在于提供一种集成电路的布线方案确定方法、装置及设备和介质,提高了布线方案的布通率。

2、为实现上述目的,本技术提供了一种集成电路的布线方案确定方法,包括:

3、获取布线区域的器件布局和网表,并根据所述器件布局构造连接图;其中,所述连接图中的节点对应所述布线区域中的矩形区域或器件的引脚,所述节点设置有资源约束,相邻的矩形区域对应的节点之间的边的权重为相邻的矩形区域的中心点之间的距离,所述引脚对应的节点和所述引脚所在的矩形区域对应的节点之间的边的权重为所述引脚与所在的矩形区域的中心点之间的距离;

4、基于所述连接图确定目标辅助节点集合;其中,基于所述目标辅助节点集合对所述网表中的多引脚线网进行布线时,最短布线长度与目标乘积的和最小,所述多引脚线网包含的引脚数量大于二,所述目标乘积为预设调节参数与拥塞节点的数量之间的乘积,所述拥塞节点为资源使用大于资源约束的节点;

5、基于所述目标辅助节点集合将所述网表中的多引脚线网拆分为多个双引脚线网;

6、基于拆分多引脚线网之后的网表确定集成电路的布线方案。

7、其中,所述根据所述器件布局构造连接图,包括:

8、根据所述器件布局延伸器件的边界直至与所述布线区域的边界或其他器件的边界相交,以将所述布线区域划分为多个矩形区域;

9、在连接图中创建所述矩形区域对应的节点,并根据所述矩形区域的邻接关系在相邻的矩形区域对应的节点之间连接边;

10、根据所述矩形区域包含的横向轨道数量和纵向轨道数量确定对应的节点的资源约束,根据相邻的矩形区域的中心点之间的距离确定对应的边的权重;

11、在所述连接图中创建所述器件的引脚对应的节点,并在所述引脚对应的节点和所述引脚所在的矩形区域对应的节点之间连接边;

12、根据所述引脚在对应的器件的横向边界或纵向边界确定对应的节点的资源约束,根据所述引脚与所在的矩形区域的中心点之间的距离确定对应的边的权重。

13、其中,所述根据所述矩形区域包含的横向轨道数量和纵向轨道数量确定对应的节点的资源约束,包括:

14、将所述矩形区域包含的横向轨道数量确定为所述矩形区域对应的节点的横向资源约束,将所述矩形区域包含的纵向轨道数量确定为所述矩形区域对应的节点的纵向资源约束。

15、其中,所述根据所述引脚在对应的器件的横向边界或纵向边界确定对应的节点的资源约束,包括:

16、若所述引脚在对应的器件的横向边界,则将所述引脚对应的节点的横向资源约束确定为零、纵向资源约束确定为一;

17、若所述引脚在对应的器件的纵向边界,则将所述引脚对应的节点的横向资源约束确定为一、纵向资源约束确定为零。

18、其中,所述基于所述连接图确定目标辅助节点集合,包括:

19、基于辅助节点集合对所述网表中的线网进行布线时最短布线长度与目标乘积的和构建目标函数;其中,所述目标乘积为预设调节参数与拥塞节点的数量之间的乘积;

20、根据所述网表中的多引脚线网包含的引脚对应的节点初始化辅助节点集合,确定所述辅助节点集合对应的所述目标函数的值;

21、确定搜索范围,通过删除所述辅助节点集合中的节点,和/或,交换所述辅助节点集合中的节点与候选节点,和/或,在所述辅助节点集合中增加候选节点减小所述目标函数的值,确定目标函数最小值时的辅助节点集合为目标辅助节点集合;其中,所述候选节点为属于所述搜索范围且不属于当前辅助节点集合中的节点。

22、其中,所述目标函数为,x为辅助节点集合,wl(x)为基于辅助节点集合对所述网表中的线网进行布线时最短布线长度,为所述预设调节参数,c(x)为所述拥塞节点的数量,f(x)为所述目标函数的值。

23、其中,;

24、其中,b为所述网表中多引脚线网包含的引脚对应的节点,为所述辅助节点集合中与节点b距离最短的节点,为第k个多引脚线网,1≤k≤k,k为所述网表中多引脚线网的数量,为分配给多引脚线网的辅助节点子集合,为连接中的节点需要的布线长度。

25、其中,所述确定搜索范围,包括:

26、判断所述连接图中包含的节点数量是否小于或等于预设值;

27、若是,则将搜索范围确定为所述连接图中包含的节点的集合;

28、若否,则确定所述网表中的多引脚线网包含的任意两个引脚在所述连接图中的第一最短路径,将所述搜索范围确定为所述第一最短路径中的节点的集合。

29、其中,所述通过删除所述辅助节点集合中的节点,和/或,交换所述辅助节点集合中的节点与候选节点,和/或,在所述辅助节点集合中增加候选节点减小所述目标函数的值,确定目标函数最小值时的辅助节点集合为目标辅助节点集合,包括:

30、将当前辅助节点集合中的第一个节点确定为当前操作节点;

31、通过对所述当前辅助节点集合中的所述当前操作节点执行目标操作构建第一候选辅助节点集合;其中,所述目标操作包括删除所述当前辅助节点集合中的所述当前操作节点,或,交换所述当前操作节点与候选节点;

32、判断所述第一候选辅助节点集合对应的所述目标函数的值是否小于所述当前辅助节点集合对应的所述目标函数的值;

33、若所述第一候选辅助节点集合对应的所述目标函数的值小于所述当前辅助节点集合对应的所述目标函数的值,则对所述当前操作节点执行目标操作以更新所述当前辅助节点集合,并将所述当前辅助节点集合中所述当前操作节点的下一个操作节点重新确定为所述当前操作节点,并重新进入所述通过对所述当前辅助节点集合中的所述当前操作节点执行目标操作构建候选辅助节点集合的步骤;

34、若所述第一候选辅助节点集合对应的所述目标函数的值大于或等于所述当前辅助节点集合对应的所述目标函数的值,则增加累计无提升位置数;

35、判断所述累计无提升位置数是否小于所述当前辅助节点集合包含的节点数量;

36、若所述累计无提升位置数小于所述当前辅助节点集合包含的节点数量,则将所述当前辅助节点集合中所述当前操作节点的下一个操作节点重新确定为所述当前操作节点,并重新进入所述通过对所述当前辅助节点集合中的所述当前操作节点执行目标操作构建候选辅助节点集合的步骤;

37、若所述累计无提升位置数等于所述当前辅助节点集合包含的节点数量,则通过在所述当前辅助节点集合中增加所述候选节点构建第二候选辅助节点集合,确定所述目标函数最小值时对应的目标第二候选辅助节点集合;

38、判断所述目标第二候选辅助节点集合对应的所述目标函数的值是否小于所述当前辅助节点集合对应的所述目标函数的值;

39、若所述目标第二候选辅助节点集合对应的所述目标函数的值小于所述当前辅助节点集合对应的所述目标函数的值,则在所述当前辅助节点集合中增加所述候选节点以更新所述当前辅助节点集合,并重新进入所述将当前辅助节点集合中的第一个节点确定为当前操作节点的步骤;

40、若所述目标第二候选辅助节点集合对应的所述目标函数的值大于或等于所述当前辅助节点集合对应的所述目标函数的值,则将所述当前辅助节点集合确定为目标辅助节点集合。

41、其中,所述通过对所述当前辅助节点集合中的所述当前操作节点执行目标操作构建第一候选辅助节点集合,包括:

42、判断是否存在属于所述搜索范围且不属于当前辅助节点集合中的候选节点;

43、若存在,则交换所述当前辅助节点集合中的所述当前操作节点与所述候选节点,以构建第一候选辅助节点集合;

44、若不存在,则删除所述当前辅助节点集合中的所述当前操作节点,以构建第一候选辅助节点集合。

45、其中,所述确定所述辅助节点集合对应的所述目标函数的值之前,还包括:

46、将所述连接图中的节点的横向资源使用和纵向资源使用初始化为零;

47、确定并存储所述搜索范围中任意一对节点在所述连接图中的第二最短路径和所述第二最短路径的长度;

48、确定任意一对目标引脚对应的节点在所述连接图中的第三最短路径;其中,所述目标引脚属于所述网表中的双引脚线网且不属于所述网表中的多引脚线网;

49、统计所述第三最短路径中的节点的横向资源使用和纵向资源使用,以更新所述第三最短路径中的节点的横向资源使用和纵向资源使用。

50、其中,所述确定所述辅助节点集合对应的所述目标函数的值,包括:

51、根据预先存储的所述第二最短路径确定基于所述目标辅助节点集合对所述网表中的多引脚线网进行布线时的第四最短路径;

52、根据预先存储的所述第二最短路径的长度确定所述第四最短路径的总长度;

53、统计所述第四最短路径中的节点的横向资源使用和纵向资源使用,以更新所述第四最短路径中的节点的横向资源使用和纵向资源使用;

54、将横向资源使用大于横向资源约束或纵向资源使用大于纵向资源使用的节点确定为拥塞节点,统计所述拥塞节点的数量;

55、确定所述拥塞节点的数量与所述预设调节参数之间的目标乘积,将所述第四最短路径的总长度与所述目标乘积的和确定为所述目标函数的值。

56、其中,所述根据预先存储的所述第二最短路径确定基于所述目标辅助节点集合对所述网表中的多引脚线网进行布线时的第四最短路径,包括:

57、根据预先存储的所述第二最短路径确定所述辅助节点集合中与多引脚线网节点距离最短的目标辅助节点;其中,所述多引脚线网节点为所述多引脚线网包含的引脚对应的节点;

58、确定所述多引脚线网对应的辅助节点子集合,确定连接所述辅助节点子集合中辅助节点的最短路径;

59、基于所述多引脚线网节点与对应的目标辅助节点之间的最短路径、连接所述辅助节点子集合中辅助节点的最短路径确定基于所述目标辅助节点集合对所述网表中的多引脚线网进行布线时的第四最短路径。

60、其中,所述根据预先存储的所述第二最短路径的长度确定所述第四最短路径的总长度,包括:

61、根据预先存储的所述第二最短路径的长度确定所述多引脚线网节点与对应的目标辅助节点之间的最短路径的第一总长度;

62、根据预先存储的所述第二最短路径的长度确定连接所述辅助节点子集合中辅助节点的最短路径的第二总长度;

63、根据所述第一总长度和所述第二总长度确定所述第四最短路径的总长度。

64、其中,所述确定连接所述辅助节点子集合中辅助节点的最短路径,包括:

65、基于所述辅助节点子集合中辅助节点建立完全图,并根据预先存储的所述第二最短路径的长度确定所述完全图中的边的权重;其中,所述边的权重为对应的节点在所述连接图中最短路径的长度;

66、在所述完全图中确定最小生成树,根据所述最小生成树中的边确定连接所述辅助节点子集合中辅助节点的最短路径。

67、其中,所述根据预先存储的所述第二最短路径的长度确定连接所述辅助节点子集合中辅助节点的最短路径的第二总长度,包括:

68、将所述最小生成树中的边的权重的总和确定为连接所述辅助节点子集合中辅助节点的最短路径的第二总长度。

69、其中,所述统计所述第四最短路径中的节点的横向资源使用和纵向资源使用,以更新所述第四最短路径中的节点的横向资源使用和纵向资源使用,包括:

70、统计所述多引脚线网节点与对应的目标辅助节点之间的最短路径中的节点的横向资源使用和纵向资源使用,以更新所述多引脚线网节点与对应的目标辅助节点之间的最短路径中的节点的横向资源使用和纵向资源使用;

71、统计连接所述辅助节点子集合中辅助节点的最短路径中的节点的横向资源使用和纵向资源使用,以更新连接所述辅助节点子集合中辅助节点的最短路径中的节点的横向资源使用和纵向资源使用。

72、为实现上述目的,本技术提供了一种集成电路的布线方案确定装置,包括:

73、构造模块,用于获取布线区域的器件布局和网表,并根据所述器件布局构造连接图;其中,所述连接图中的节点对应所述布线区域中的矩形区域或器件的引脚,所述节点设置有资源约束,相邻的矩形区域对应的节点之间的边的权重为相邻的矩形区域的中心点之间的距离,所述引脚对应的节点和所述引脚所在的矩形区域对应的节点之间的边的权重为所述引脚与所在的矩形区域的中心点之间的距离;

74、第一确定模块,用于基于所述连接图确定目标辅助节点集合;其中,基于所述目标辅助节点集合对所述网表中的多引脚线网进行布线时,最短布线长度与目标乘积的和最小,所述多引脚线网包含的引脚数量大于二,所述目标乘积为预设调节参数与拥塞节点的数量之间的乘积,所述拥塞节点为资源使用大于资源约束的节点;

75、拆分模块,用于基于所述目标辅助节点集合将所述网表中的多引脚线网拆分为多个双引脚线网;

76、第二确定模块,用于基于拆分多引脚线网之后的网表确定集成电路的布线方案。

77、为实现上述目的,本技术提供了一种电子设备,包括:

78、存储器,用于存储计算机程序;

79、处理器,用于执行所述计算机程序时实现如上述集成电路的布线方案确定方法的步骤。

80、为实现上述目的,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述集成电路的布线方案确定方法的步骤。

81、通过以上方案可知,本技术提供的一种集成电路的布线方案确定方法,包括:获取布线区域的器件布局和网表,并根据所述器件布局构造连接图;其中,所述连接图中的节点对应所述布线区域中的矩形区域或器件的引脚,所述节点设置有资源约束,相邻的矩形区域对应的节点之间的边的权重为相邻的矩形区域的中心点之间的距离,所述引脚对应的节点和所述引脚所在的矩形区域对应的节点之间的边的权重为所述引脚与所在的矩形区域的中心点之间的距离;基于所述连接图确定目标辅助节点集合;其中,基于所述目标辅助节点集合对所述网表中的多引脚线网进行布线时,最短布线长度与目标乘积的和最小,所述多引脚线网包含的引脚数量大于二,所述目标乘积为预设调节参数与拥塞节点的数量之间的乘积,所述拥塞节点为资源使用大于资源约束的节点;基于所述目标辅助节点集合将所述网表中的多引脚线网拆分为多个双引脚线网;基于拆分多引脚线网之后的网表确定集成电路的布线方案。

82、本技术提供的集成电路的布线方案确定方法,通过引入辅助节点集合进行多引脚线网拆分,综合考虑布线长度和拥塞节点的数量确定布线方案,提高了布线方案的布通率。本技术还公开了一种集成电路的布线方案确定装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。

83、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1