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

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

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


背景技术:

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

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

3、拆线重布用于解决布线方案中的资源冲突,在相关技术中,采用人工设计的成本函数逐个选择线网进行拆线重布。但是,人工设计的成本函数易得次优解,布线方案的效果较差。

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


技术实现思路

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

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

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

4、将所述网表中的多引脚线网拆分为多个双引脚线网;其中,所述多引脚线网包含的引脚数量大于二;

5、在允许存在冲突线网的前提下确定拆分多引脚线网之后的网表的布线方案;其中,所述冲突线网为布线路径中存在拥塞节点的线网,所述拥塞节点为资源使用大于资源约束的节点;

6、基于多组候选参数确定多个候选成本函数,根据所述候选成本函数对所述冲突线网进行拆线重布,根据拆线重布所需额外消耗的资源和布线长度确定所述候选参数的效用;

7、确定效用最高的候选参数为目标参数,确定所述目标参数对应的目标成本函数,输出所述目标成本函数对应的拆线重布结果。

8、其中,所述根据所述候选成本函数对所述冲突线网进行拆线重布,包括:

9、根据所述候选成本函数确定拆除当前冲突线网的成本,拆除成本最低的目标冲突线网,并将所述目标冲突线网加入重布集合中;

10、更新所述目标冲突线网的拆除次数、所述目标冲突线网中节点的冲突解决次数;

11、重新进入所述根据所述候选成本函数确定拆除当前冲突线网的成本的步骤,直至所述重布集合中的线网数量达到预设值;

12、并行的确定所述重布集合中的线网的布线方案。

13、其中,所述候选成本函数为:,为拆除第q个冲突线网的成本,为所述候选参数,i为拆除第q个冲突线网之后解决冲突的节点数量,j为拆除第q个冲突线网之后缓解冲突的节点数量,为第q个冲突线网的拆除次数。

14、其中,所述并行的确定所述重布集合中的线网的布线方案,包括:

15、根据所述重布集合包含的线网创建所述重布集合对应的多商品流模型;

16、确定所有节点额外消耗的横向资源与对应的冲突调节参数的第一乘积的第一求和值,确定所有节点额外消耗的纵向资源与对应的冲突调节参数的第二乘积的第二求和值;

17、确定所述第一求和值与第一惩罚系数的第三乘积,确定所述第二求和值与第二惩罚系数的第四乘积;

18、根据所述多商品流模型中包含的商品流数量、所述第三乘积、所述第四乘积的和构建满足节点资源约束的第一目标函数;

19、确定所述第一目标函数最小时的商品流,并根据所述商品流对所述重布集合中的线网进行布线。

20、其中,所述第一目标函数为:

21、;

22、其中,c为所述多商品流模型中的商品,v为所述连接图中的节点集合,e为所述连接图中的边集合,(x,y)为节点x和节点y之间的边,表示节点x和节点y之间的商品流,当商品c从节点x流向节点y时,为1,当商品c从节点y流向节点x时,为-1,当商品c未流经节点x和节点y时,为0,为节点x的额外消耗的横向资源,为节点x的额外消耗的纵向资源,为所述第一惩罚系数,为所述第二惩罚系数,为节点x的冲突调节参数,与节点x的冲突解决次数呈正相关;

23、所述节点资源约束为:当(x,y)为横向边时,,当(x,y)为纵向边时,;

24、其中,为节点x的横向资源剩余量,为节点y的横向资源剩余量,为节点x的纵向资源剩余量,为节点y的纵向资源剩余量。

25、其中,所述节点的冲突调节参数为所述节点的冲突解决次数的平方。

26、其中,所述并行的确定所述重布集合中的线网的布线方案之后,还包括:

27、更新重布线次数,判断所述重布线次数是否大于预设重布线次数;若是,则完成所述重布集合中线网的布线方案的确定,若否,则重新进入所述根据所述候选成本函数确定拆除当前冲突线网的成本的步骤。

28、其中,还包括:

29、根据总时间预算、允许尝试候选成本函数的数量、求解一次多商品流问题所消耗的时间确定所述预设重布线次数。

30、其中,所述预设重布线次数的计算公式为:

31、;

32、其中,为所述预设重布线次数,为所述总时间预算,为允许尝试候选成本函数的数量,为所述求解一次多商品流问题所消耗的时间确定所述预设重布线次数。

33、其中,所述根据拆线重布所需额外消耗的资源和布线长度确定所述候选参数的效用,包括:

34、根据效用计算公式确定所述候选参数的效用;其中,所述效用计算公式为:

35、;

36、其中,为所述候选参数,为的效用,为在忽略节点资源约束的前提下采用最短路径对冲突线网进行拆线重布时所需的额外资源,为根据候选成本函数对冲突线网进行拆线重布时所需的额外资源,为在忽略节点资源约束的前提下采用最短路径对冲突线网进行拆线重布时的布线长度,为根据候选成本函数对冲突线网进行拆线重布时的布线长度。

37、其中,所述基于多组候选参数确定多个候选成本函数,根据所述候选成本函数对所述冲突线网进行拆线重布,根据拆线重布结果确定所述候选参数的效用,包括:

38、随机选择第一预设数量组第一候选参数,基于所述第一预设数量组第一候选参数确定所述第一预设数量个第一候选成本函数,根据所述第一候选成本函数对所述冲突线网进行拆线重布,根据拆线重布结果确定所述第一候选参数的效用,将所述第一候选参数和对应的效用加入已探索参数效用集合中;

39、根据所述已探索参数效用集合确定已探索参数的最大效用,根据效用在所述已探索参数效用集合和未探索参数的条件下的分布情况,确定效用大于所述最大效用且效用最大的未探索参数为第二候选参数,基于所述第二候选参数确定第二候选成本函数,根据所述第二候选成本函数对所述冲突线网进行拆线重布,根据拆线重布结果确定所述第二候选参数的效用,将所述第二候选参数和对应的效用加入所述已探索参数效用集合中;

40、重新进入所述根据所述已探索参数效用集合确定已探索参数的最大效用的步骤,直至确定第二预设数量组第二候选参数的效用。

41、其中,所述根据效用在所述已探索参数效用集合和未探索参数的条件下的分布情况,确定效用大于所述最大效用且效用最大的未探索参数为第二候选参数,包括:

42、根据效用在所述已探索参数效用集合和未探索参数的条件下的分布情况,确定效用在所述已探索参数效用集合和未探索参数的条件下的目标概率密度函数;

43、根据所述最大效用和所述目标概率密度函数构建第二目标函数;其中,所述第二目标函数为:

44、;

45、其中,为所述最大效用,为所述目标概率密度函数,u为效用,为所述已探索参数效用集合,p为未探索参数;

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、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本技术。

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