System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及集成电路,尤其涉及一种时钟树的生成方法、装置和电子设备。
技术介绍
1、高性能计算(high performance computing,缩写hpc)的芯片设计需求日益增加,并且随着工艺发展、运行频率增长,导致集成电路设计难度越来越大。离不开高性能计算和大数据基础设施。而云计算服务器带来的高密度,低能耗,易管理,系统优化等特征都需要搭配高性能计算芯片,芯片的竞争力需求日益旺盛。在hpc相关的集成电路设计中,时钟树综合是非常重要的一环,对芯片性能、时序收敛难度等方面起着举足轻重的作用,所以针对高性能、低功耗、高集成度等需求及日益复杂的芯片时钟结构,集成电路行业内诞生了多种时钟结构,其中最具有代表性的三种:h-tree、fishbone、mesh。应用较为广泛的是fishbone结构,而该结构需要用户做大量工作,影响芯片迭代效率和芯片tapeout时间。
技术实现思路
1、本专利技术的目的在于提供一种时钟树的生成方法、装置和电子设备,以提供一种能够提高时钟树生成效率和提升时钟树ppa的技术方案。
2、第一方面,本专利技术提供一种时钟树的生成方法,应用于网络云计算服务器芯片中,所述钟树的生成方法包括以下步骤:
3、基于时钟起点,根据同一时钟源头下所有寄存器的位置,确定时钟区域,并将所述时钟区域划分为多个子区域。
4、在每个所述子区域中,根据对应的寄存器数量,确定对应的缓冲器数量,以生成对应数量的缓冲器。
5、根据所述芯片的电源
6、在所述时钟区域内,基于划分的多个子区域,确定所述时钟树的主干和所述时钟树的分支。
7、利用第一连接方式将所述时钟树的主干和所述时钟树分支相连接,利用第二连接方式,将所述时钟树的分支与所述时钟树的分支所在区域的缓冲器相连接。
8、在采用上述技术方案的情况下,本专利技术提供的时钟树的生成方法包括基于时钟起点,根据同一时钟源头下所有寄存器的位置,确定时钟区域,并将所述时钟区域划分为多个子区域;在每个所述子区域中,根据对应的寄存器数量,确定对应的缓冲器数量。现有技术中的时钟树的生成方法,会有大量的人工操作,特别是在时钟树分支的划分和多个子区域的切割划分中,需要人工划分好相关区域以及需要多次反复迭代,而本专利技术中仅需要将时钟区域划分为多个子区域,在每个所述子区域中,根据对应的寄存器数量,确定对应的缓冲器数量。节约了需要划分子区域的大量时间。在本专利技术中,根据所述芯片的电源的最高绕线层,确定所述时钟树的主干所在的绕线层和所述时钟树分支所在的绕线层;在所述时钟区域内,基于划分的多个子区域,确定所述时钟树的主干和所述时钟树的分支;利用第一连接方式将所述时钟树的主干和所述时钟树分支相连接,利用第二连接方式,将所述时钟树的分支与所述时钟树的分支所在区域的缓冲器相连接。基于此,本专利技术是基于芯片的电源的最高绕线层和划分的多个子区域,完成时钟树的结构的布局和时钟树的布线,提高了时钟树的生成效率的同时,还节省了人工成本。
9、再者,本专利技术是根据同一时钟源头下所有寄存器的位置,确定时钟区域,因此,控制了时钟区域的生成范围,且本专利技术基于划分的多个子区域,确定所述时钟树的主干和所述时钟树的分支,因此减少了时钟树分支,且在每个所述子区域中,根据对应的寄存器数量,确定对应的缓冲器数量,基于此,优化了整体的时钟树的所使用的缓冲器数量和降低整个时钟树绕线所占的比例和区域,提升芯片性能和功耗的竞争力。
10、进一步的,所述基于时钟起点,根据同一时钟源头下所有寄存器的位置,确定时钟区域,并将所述时钟区域划分为多个子区域包括:
11、基于时钟起点,根据同一时钟源头下所有寄存器的位置,确定时钟区域;
12、根据约束条件,将所述时钟区域划分为多个子区域。
13、进一步的,所述根据所述芯片的电源的最高绕线层,确定所述时钟树的主干所在的绕线层和所述时钟树分支所在的绕线层包括:
14、根据所述芯片的电源的最高绕线层,确定所述时钟树的主干所在的绕线层;
15、根据所述芯片的电源的最高绕线层的下一层绕线层,确定所述时钟树的分支所在的绕线层。
16、进一步的,所述在所述时钟区域内,基于划分的多个子区域,确定所述时钟树的主干和所述时钟树的分支包括:
17、基于预设原则以及所述多个子区域,确定所述时钟树的分支;
18、基于所述多个子区域中的寄存器分布情况,确定所述多个子区域的重心;
19、基于所述多个子区域的重心,确定所述时钟树的主干。
20、进一步的,所述时钟树的生成方法还包括:
21、基于所述多个子区域的重心,确定所述时钟树的缓冲单元;
22、在所述时钟区域内,将所述缓冲单元与所述时钟树主干相连接。
23、进一步的,所述预设原则包括:所述时钟区域的大小与每个子区域的大小之间的关系。
24、进一步的,所述第一连接方式为采用连接孔连接,所述第二连接方式为采用连接线连接。
25、第二方面,本专利技术还提供一种时钟树的生成装置,一种时钟树的生成装置,其特征在于,应用于网络云计算服务器芯片中,所述时钟树的生成装置包括:
26、时钟区域确定模块,用于基于时钟起点,根据同一时钟源头下所有寄存器的位置,确定时钟区域,并将所述时钟区域划分为多个子区域;
27、缓冲器确定模块,用于在每个所述子区域中,根据对应的寄存器数量,确定对应的缓冲器数量;
28、绕线层确定模块,用于根据所述芯片的电源的最高绕线层,确定所述时钟树的主干所在的绕线层和所述时钟树分支所在的绕线层;
29、主干和分支确定模块,用于在所述时钟区域内,基于划分的多个子区域,确定所述时钟树的主干和所述时钟树的分支;
30、连接模块,利用第一连接方式将所述时钟树的主干和所述时钟树分支相连接,利用第二连接方式,将所述时钟树的分支与所述时钟树的分支所在区域的缓冲器相连接。
31、进一步的,所述时钟区域确定模块包括:
32、时钟区域确定单元,用于基于时钟起点,根据同一时钟源头下所有寄存器的位置,确定时钟区域;
33、子区域确定单元,用于根据约束条件,将所述时钟区域划分为多个子区域;其中,所述约束条件包括所述时钟树的工艺节点、所述时钟树对应的库信息以及项目信息。
34、第二方面提供的时钟树的生成装置的有益效果与第一方面或第一方面任一可能的实现方式描述的时钟树的生成方法的有益效果相同,此处不做赘述。
35、第三方面,本专利技术还提供一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得执行第一方面任一可能的实现方式描述的时钟树的生成方法。
36、第三方面提供的电子设备的有益效果与第一方面或本文档来自技高网...
【技术保护点】
1.一种时钟树的生成方法,其特征在于,应用于网络云计算服务器芯片中,所述钟树的生成方法包括以下步骤:
2.根据权利要求1所述的时钟树的生成方法,其特征在于,所述基于时钟起点,根据同一时钟源头下所有寄存器的位置,确定时钟区域,并将所述时钟区域划分为多个子区域包括:
3.根据权利要求1所述的时钟树的生成方法,其特征在于,所述根据所述芯片的电源的最高绕线层,确定所述时钟树的主干所在的绕线层和所述时钟树分支所在的绕线层包括:
4.根据权利要求1所述的时钟树的生成方法,其特征在于,所述在所述时钟区域内,基于划分的多个子区域,确定所述时钟树的主干和所述时钟树的分支包括:
5.根据权利要求4所述的时钟树的生成方法,其特征在于,所述时钟树的生成方法还包括:
6.根据权利要求4所述的时钟树的生成方法,其特征在于,所述预设原则包括:所述时钟区域的大小与每个子区域的大小之间的关系。
7.根据权利要求1所述的时钟树的生成方法,其特征在于,所述第一连接方式为采用连接孔连接,所述第二连接方式为采用连接线连接。
8.一种时钟树
9.根据权利要求8所述的时钟树的生成装置,其特征在于,所述时钟区域确定模块包括:
10.一种电子设备,其特征在于,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得执行权利要求1-5任一所述的时钟树的生成方法。
...【技术特征摘要】
1.一种时钟树的生成方法,其特征在于,应用于网络云计算服务器芯片中,所述钟树的生成方法包括以下步骤:
2.根据权利要求1所述的时钟树的生成方法,其特征在于,所述基于时钟起点,根据同一时钟源头下所有寄存器的位置,确定时钟区域,并将所述时钟区域划分为多个子区域包括:
3.根据权利要求1所述的时钟树的生成方法,其特征在于,所述根据所述芯片的电源的最高绕线层,确定所述时钟树的主干所在的绕线层和所述时钟树分支所在的绕线层包括:
4.根据权利要求1所述的时钟树的生成方法,其特征在于,所述在所述时钟区域内,基于划分的多个子区域,确定所述时钟树的主干和所述时钟树的分支包括:
5.根据权利要求4所述的时钟树的生成方法,其特征在于,所述时钟树的生...
【专利技术属性】
技术研发人员:陈智,李仲勋,冯帅,胡晓旭,刘彬斌,王泫钡,钟阳,陈建宇,曾怡鑫,张基隆,周扬,卢曰杨,汪志韬,
申请(专利权)人:成都爱旗科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。