时钟树的生成方法、装置、电子设备和存储介质与流程

摘要: 本发明涉及集成电路设计,尤其涉及一种时钟树的生成方法、装置、电子设备和存储介质。背景技术:1、在集成电路设计领域,时钟树综合(clocktreesynthesi...
时钟树的生成方法、装置、电子设备和存储介质与流程

本发明涉及集成电路设计,尤其涉及一种时钟树的生成方法、装置、电子设备和存储介质。

背景技术:

1、在集成电路设计领域,时钟树综合(clock tree synthesis,cts)是确保芯片时序收敛的关键环节,时钟树是指将时钟信号从时钟源点稳定、低延迟且低偏差地分配到芯片各个时序元件的网络拓扑结构。针对高性能芯片的时钟树实现方案中,较为普遍采用的结构主要包括柔性h树(flexh-tree)、鱼骨型时钟树(fishbone)以及时钟网状结构(clockmesh)。

2、目前最为广泛使用方式为柔性h树,对于柔性h树,用户只需要设点好关键参数,只需要一条命令,即可完成整个flexh-tree的自动规划,tap点的插入和布线。

3、但柔性h树这种时钟树实现方式的时钟主干单元被严格限定为标准单元缓冲器,不支持自定义宏单元缓冲器,限制了柔性h树方式的使用场景。

技术实现思路

1、本发明提供一种时钟树的生成方法、装置、电子设备和存储介质,用以解决现有技术中时钟主干单元被严格限定为标准单元缓冲器,不支持自定义宏单元缓冲器,限制了柔性h树方式的使用场景。

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、本发明提供的一种时钟树的生成方法、装置、电子设备和存储介质,通过修改自定义宏单元缓冲器的库文件中的单元类别属性,将其伪装成标准单元缓冲器,克服了相关技术方案中直接输入自定义宏单元缓冲器时会触发识别错误或中止操作的问题,配合虚拟标准单元缓冲器的摆放位置约束,自动构建时钟树。通过对时钟树中的虚拟标准单元缓冲器的替换操作,使得时钟树中包含了自定义宏单元缓冲器,构建了包含自定义宏单元缓冲器的时钟树,使得构建时钟树适配定制高性能缓冲器的应用场景。

1.一种时钟树的生成方法,其特征在于,包括:

2.根据权利要求1所述的时钟树的生成方法,其特征在于,所述摆放位置约束包括单元站点约束和/或阻挡约束;

3.根据权利要求2所述的时钟树的生成方法,其特征在于,在所述摆放位置约束包括单元站点约束的情况下,所述构建所述虚拟标准单元缓冲器的摆放位置约束,包括:

4.根据权利要求3所述的时钟树的生成方法,其特征在于,所述自定义宏单元缓冲器的输出引脚位于次最高金属层,所述预设电源轨节距是最高金属层与次最高金属层的电源轨节距。

5.根据权利要求2所述的时钟树的生成方法,其特征在于,在所述摆放位置约束包括阻挡约束的情况下,所述构建所述虚拟标准单元缓冲器的摆放位置约束,包括:

6.根据权利要求1所述的时钟树的生成方法,其特征在于,所述基于所述虚拟标准单元缓冲器以及所述虚拟标准单元缓冲器的摆放位置约束,生成时钟树,包括:

7.根据权利要求1至6中任一项所述的时钟树的生成方法,其特征在于,在所述基于所述虚拟标准单元缓冲器以及所述虚拟标准单元缓冲器的摆放位置约束,生成时钟树之前,还包括:

8.一种时钟树的生成装置,其特征在于,包括:

9.一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述时钟树的生成方法。

10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述时钟树的生成方法。