时钟树的功耗优化方法转让专利

申请号 : CN201910410364.X

文献号 : CN110110472A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐一胡旭冯曦冯文楠唐晓柯胡毅

申请人 : 北京智芯微电子科技有限公司国网信息通信产业集团有限公司国家电网有限公司

摘要 :

本发明公开了一种时钟树的功耗优化方法,该时钟树的功耗优化方法用在所述时钟树布局布线完成之后,该功耗优化方法包括:在步骤S1中读入时钟树的功耗报告,寻找节点翻转率超过翻转率阈值且开关功耗超过功耗阈值的互连线;在步骤S2中将找出的所述互连线上的各元器件之间的距离进行缩短;在步骤S3中进行静态时序分析,若存在时序违反则进行时序修复;在步骤S4中进行功耗仿真之后转至步骤S1,直至遍历所有的所述节点翻转率超过所述翻转率阈值且所述开关功耗超过所述功耗阈值的互连线。该时钟树的功耗优化方法能够有效降低实际流片后的芯片所产生的功耗浪费。

权利要求 :

1.一种时钟树的功耗优化方法,其特征在于,该时钟树的功耗优化方法用在所述时钟树布局布线完成之后,该功耗优化方法包括:步骤S1,读入时钟树的功耗报告,寻找节点翻转率超过翻转率阈值且开关功耗超过功耗阈值的互连线,其中,所述开关功耗为该互连线上的逻辑门开关过程中所产生的功耗;

步骤S2,将找出的所述互连线上的各元器件之间的距离进行缩短;

步骤S3,进行静态时序分析,若存在时序违反则进行时序修复;以及步骤S4,进行功耗仿真之后转至步骤S1,直至遍历所有的所述节点翻转率超过所述翻转率阈值且所述开关功耗超过所述功耗阈值的互连线。

2.如权利要求1所述的时钟树的功耗优化方法,其特征在于,在所述步骤S2和所述步骤S3之间还包括:在满足设计规则以及时序规则的前提下,将驱动单元的尺寸减小。

说明书 :

时钟树的功耗优化方法

技术领域

[0001] 本发明是关于芯片设计领域,特别是关于一种时钟树的功耗优化方法。

背景技术

[0002] 随着对动态低功耗需求的提高,减小时钟树网络动态功耗成为数字设计前端工程师和后端工程师普遍关注的重点和难点。
[0003] 数字后端工程师在布局布线阶段优化功耗普遍采用的方法包括:采用buffer(缓冲器)和inverter(反相器)混合方式的时钟树;减少时钟树层级;充分利用EDA(电子设计自动化)工具优化布局时钟树;利用saif文件(switching activity interchange format切换活动交换格式文件)做基于数据通路的动态功耗优化;降低“时钟树消耗”;改善时钟树效率等。
[0004] 上述的现有技术的优化功耗的方法都是在布局布线阶段进行实施,发明人发现,采用EDA工具并不能完全实现功耗最优设计,实际流片后的芯片会产生一定功耗浪费。
[0005] 公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。

发明内容

[0006] 本发明的目的在于提供一种时钟树的功耗优化方法,其能够有效降低实际流片后的芯片所产生的功耗浪费。
[0007] 为实现上述目的,本发明提供了一种时钟树的功耗优化方法,该时钟树的功耗优化方法用在所述时钟树布局布线完成之后,该功耗优化方法包括:步骤S1~步骤S4。在步骤S1中读入时钟树的功耗报告,寻找节点翻转率超过翻转率阈值且开关功耗超过功耗阈值的互连线,其中,所述开关功耗为该互连线上的逻辑门开关过程中所产生的功耗;在步骤S2中将找出的所述互连线上的各元器件之间的距离进行缩短;在步骤S3中进行静态时序分析,若存在时序违反则进行时序修复;在步骤S4中进行功耗仿真之后转至步骤S1,直至遍历所有的所述节点翻转率超过所述翻转率阈值且所述开关功耗超过所述功耗阈值的互连线。
[0008] 在一优选的实施方式中,在所述步骤S2和所述步骤S3之间还包括:在满足设计规则以及时序规则的前提下,将驱动单元的尺寸减小。
[0009] 与现有技术相比,根据本发明的时钟树的功耗优化方法其用于在时钟树布局布线完成之后再进行一次优化,在不影响时序收敛的前提下减少时钟树的开关功耗,通过查看互连线上开关功耗和翻转率选取可优化负载电容的互连线,通过缩短连线长度来实现动态功耗的降低,使得已经可以提交流片的设计能够进一步降低功耗。另外通过将驱动单元的尺寸减小,进一步降低了功耗。

附图说明

[0010] 图1是根据本发明一实施方式的功耗优化方法的步骤组成。
[0011] 图2是根据本发明一实施方式的缩短高翻转率且高功耗节点距离的示意图。

具体实施方式

[0012] 下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
[0013] 除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
[0014] 为了减少实际流片后的芯片产生的功耗浪费,发明人进行了如下研究。
[0015] 芯片的动态功耗和静态功耗构成了芯片的总功耗,
[0016] Ptotal=Pdynamic+Pleakage   (1)
[0017] 其中Pleakage是静态功耗,指芯片上电后,处于静态时(即芯片内部没有信号变化)消耗的功耗。在CMOS(互补金属氧化物半导体)电路中,静态功耗一般由漏电产生。
[0018] 动态功耗是指当芯片处于激活(active)状态时,也即输入实处信号发生跳变时的功耗。它主要由两部分组成:一个是由短路电流所产生的短路功耗PSC,另一个是动态的开关电流引起的动态开关功耗PSW。
[0019] Pdynamic=PSC+PSW   (2)
[0020] 开关功耗是逻辑门开关过程中产生的功耗,当逻辑单元输出电压产生逻辑翻转时,电源电压对输出负载电容的充放电所产生的动态功耗。
[0021]
[0022] 其中α是单位时间内逻辑门翻转的几率,fCLK是时钟频率,CL是逻辑门的负载电容,包括逻辑门自身的输出电容、门之间互联电容和下级电路的输入电容,Vdd是电源电压。
[0023]
[0024] 其中k=kn=kp,VTH=VTH,n=|VTH,p|,τ=τrise=τfall,分别代表NMOS和PMOS晶体管的介电常数,CMOS逻辑门的阈值电压,输入波形的上升沿和下降沿时间。
[0025] 在EDA工具中,功耗说法稍有不同,分为翻转功耗(Switching Power)、内部功耗(Internal Power)和静态功耗(Leakage Power)。其中内部功耗对应标准单元本身的短路功耗和单元内部互连线上的开关功耗,可以在插值表中查找到相应位置输入转换时间和负载电容下对应的内部功耗信息。
[0026] 由关系式(2)可知,手动优化动态功耗可以从优化短路功耗PSC和开关功耗PSW两方面入手。由关系式(4)可知,优化短路功耗的直接方法是减小驱动buffer的数量或尺寸。
[0027] 由关系式(3)可知,优化开关功耗PSW可以通过降低工作频率,降低翻转率,降低工作电压和减小负载电容四种方式实现。
[0028] 基于上述研究,本发明提供了一种时钟树的功耗优化方法,其用于在时钟树布局布线完成之后再进行一次优化,在不影响时序收敛的前提下减少时钟树的开关功耗,通过查看互连线上开关功耗和翻转率选取可优化负载电容的互连线,通过缩短连线长度来实现动态功耗的降低,使得已经可以提交流片的设计能够进一步降低功耗。
[0029] 如图1所示,在一实施方式中,该时钟树的功耗优化方法包括步骤S1~步骤S4。
[0030] 在步骤S1中读入时钟树的功耗报告,找到节点翻转率超过翻转率阈值且开关功耗超过功耗阈值的互连线,其中,开关功耗为该互连线上的逻辑门开关过程中所产生的功耗。翻转率是指单位时间内信号(包括时钟、数据等信号)的翻转次数。翻转率阈值和功耗阈值可以根据实际情况进行选定。
[0031] 在步骤S2中将选定的互连线上的各元器件之间的距离进行缩短。图2为缩短高翻转率且高功耗节点距离的示意图,其中包括多个逻辑门开关。
[0032] 在步骤S3中进行静态时序分析,若存在时序违反则进行时序修复。
[0033] 在步骤S4中进行功耗仿真之后转至步骤S1,直至遍历所有的节点翻转率超过翻转率阈值且开关功耗超过功耗阈值的互连线。
[0034] 在一实施方式中,在上述步骤S2和上述步骤S3之间还包括:在满足设计规则以及时序规则的前提下,将驱动单元(cell)的尺寸减小,如此可以进一步降低功耗。
[0035] 综上,本实施方式采用的时钟树的功耗优化方法在布局布线完成之后,通过手动优化时钟树布局,在不影响时序收敛的前提下减少时钟树的开关功耗,手动调整时钟树对应的就是减小互连线上的负载电容,由于仅做了连线变短的操作,一般出现时序违反的可能性较小,相对也更容易修复,在连线变短后,由于线上负载电容变小,此时再将驱动单元的尺寸变小,会进一步再降低功耗。另外,本实施方式流程简明容易实施,没有对具体EDA工具品牌的依赖,可以广泛应用在各种设计当中。
[0036] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0037] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0038] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0039] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0040] 前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。