纳米工艺下多级门控时钟网络优化方法技术领域
本发明属于电子技术领域,具体涉及一种纳米工艺下多级门控时钟网络
优化方法。
背景技术
纳米工艺下,晶体管特征尺寸的降低对制造工艺提出更加苛刻的要求,
以前可以忽略的各种效应日渐突出,其中工艺、电压和温度对芯片的性能、
功能和稳定性的影响越来越明显。为保证制造出来的芯片能适应各种工作环
境,需要在设计过程中就把可能造成的影响考虑进去,即在进行静态时序分
析时考虑工艺、电压和温度对单元和互连线延时的影响,具体操作过程中主
要分两部分进行考虑:
(1)片上误差(OCV,on-chipvariation)
片上误差是指由于工艺、电压和温度的变化,导致芯片上输入信号翻转
时间和负载都相同的单元其延时却不同。片上误差对时钟路径和数据路径上
的单元有着相同的影响,在静态时序分析时为了分析和建模方便,将片上误
差带来的影响引入到时钟路径上,由此增加了时钟偏差。
(2)多模式多端角(MMMC,multi-modemulti-corner)
不同的工艺和环境下金属的电容和电阻不尽相同,进而影响抽参结果,
导致单元及互连线延时不同。为保证芯片在不同的环境下都能正常工作,在
设计过程中通常会设置不同的分析模式和端角来涵盖芯片所有可能的工作环
境,保证芯片在所有模式和端角下都能达到时序收敛,这种分析方法即多模
式多端角。
考虑片上误差以及多模式多端角的分析方法增加了时钟偏差及其不确定
性,进而严重制约着时序的收敛,这就对芯片的时钟树综合提出更加苛刻的
要求。由分析可知,增加时钟公共路径所占比重可以很好的减小时钟偏差及
其不确定性,因此现今的时钟树综合时希望尽量的增加时钟公共路径所占比
重。然而在低功耗设计中采用的门控时钟技术,在时钟路径上添加了大量的
门控时钟来关闭不需要工作的时序单元,这就大大降低了时钟公共路径所占
比重。设计的门控时钟级数越多,时钟公共路径所占比重越少,时钟偏差及
其不确定性继续恶化,时序更加难以收敛。
宋卫卫等人提出的F_M算法,通过复制细粒度门控时钟,对含多级门控
时钟的时钟路径进行重组,在一定程度上增加了时钟上公共路径所占比重,
但是对于含粗粒度门控时钟结构效果不太明显。
SiongKiongTeng在IEEE上发表的“RegionalClockGateSplitting
AlgorithmforClockTreeSynthesis”提出通过复制门控时钟,减少门控时钟的
扇出,这样缩短了门控时钟到其控制的时钟叶节点之间的本地时钟树的逻辑
级数,减少了时钟非公共路径所占比重,进而增加了时钟公共路径所占比重。
该方法适用于一级门控时钟的设计,对于多级门控时钟效果不明显。
杨正强提出采用网状时钟结构进行时钟树综合,时钟根节点到时钟网格
部分为整个时钟树的公共路径,这部分所占比重非常可观,可以大大减少时
钟偏差及其不确定性。然而网状时钟结构同样只适用于无门控时钟或只有一
级门控时钟的比较简单的时钟结构。
以上方法均不同程度的增加了时钟公共路径所占比重,但是其只适用于
结构单一的时钟结构,对于多级门控时钟的设计效果有限。然而随着微电子
产业的发展,多级门控时钟的设计越来越普遍,如何减少这类设计的时钟偏
差及其不确定性变得越来越棘手。
发明内容
为解决上述技术问题,优化多级门控时钟网络,增加时钟公共路径所占
比重,进而减小时钟偏差及其不确定性,本发明所提出的技术方案如下:
一种纳米工艺下多级门控时钟网络优化方法,设门控时钟网络中共有N
级门控时钟,第n级中有Kn个门控时钟单元,n取值1,2,…,N,N为自然数,
分别对n大于1级的门控时钟单元进行降级处理,包括以下步骤:
(1)找出电路中所有的第2级门控时钟单元,共K2个;
(2)对第2级中的K2个门控时钟单元,断开其时钟端,分别连接至时
钟根节点;
(3)对第2级中的K2个门控时钟单元,根据其电平触发类型(高电平
触发或者低电平触发),在其使能端添加相应的逻辑门组;将原电路中的使能
信号连接至逻辑门组的输入端,逻辑门组的输出端连接门控时钟单元的输入
端;
(4)将步骤(3)中添加的K2个逻辑门组进行合并,即完成将第2级门
控时结构钟合并到第1级门控时钟结构;
(5)重复步骤(1)至步骤(4)的操作过程,依次将第3、4、…、N
级门控时钟结构合并至第1级门控时钟结构中,即完成对门控时钟网络的优
化。
进一步地,所述逻辑门组的构成如下:
门控时钟单元包括高电平触发和低电平触发两类,用逻辑门和反相器的
组合来实现逻辑门组。对于高电平触发门控时钟单元,将其使能信号直接连
接到与门的输入端;与门的输出端即逻辑门组的输出端,连接到该门控时钟
单元的输入端。对于低电平触发门控时钟单元,将其使能信号连接到一个反
相器,反相器的输出端再连接到与门的输入端;与门的输出端即逻辑门组的
输出端,连接到该门控时钟单元的输入端。
采用本发明获得的有益效果:用于优化纳米工艺下的多级门控时钟网络,
使其时钟结构更加规整,进而增加时钟公共路径,减少时钟偏差。
附图说明
图1为门控时钟降级流程示意图;
图2为合并逻辑门组的流程示意图;
图3为两级门控时钟的时钟结构示意图;
图4为门控时钟降级处理示意图;
图5为ICG1和ICG2均为高电平触发时GATE示意图;
图6为ICG1为高电平触发ICG2为低电平触发时GATE示意图;
图7为ICG1为低电平触发ICG2为高电平触发时GATE示意图;
图8为ICG1和ICG2均为低电平触发时GATE示意图;
图9为第N级门控时钟使能端添加的逻辑门组GATE示意图;
图10为第2级门控时钟的时钟结构示意图;
图11为第2级门控时钟的时钟结构的降级处理结果示意图;
图12为合并逻辑门之后的时钟结构示意图;
图13为多级门控时钟网络结构示意图;
图14为优化之后的时钟网络结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。
如图1所示,为多级门控时钟降低为1级的实现流程图,具体过程为:
(11)从时钟根节点出发,找到其连线;
(12)由连线追踪到扇出的所有的单元,找出直接与时钟根节点连接的
所有门控时钟单元,组成第1级门控时钟单元的集合;
(13)将步骤(12)得到的第1级门控时钟单元的集合中遍历每一个元
素(即门控时钟单元)进行如下操作:①检测该门控时钟单元的类型(高电
平触发或低电平触发)并记录,②找到该门控时钟单元使能端输入的连线并
记录,③找到该门控时钟单元输出端的连线并记录;
(14)由第1级门控时钟单元输出端连线追踪到直接扇出的所有的门控
时钟单元,组成第2级门控时钟单元的集合;
(15)将步骤(14)得到的第2级门控时钟单元的集合中遍历每一个元
素(即门控时钟单元单元)进行如下操作:①检测该门控时钟单元类型(高
电平触发或者低电平触发)并记录,②找到该门控时钟单元使能端输入的连
线并记录,③找到该门控时钟单元输出端的连线,④根据该门控时钟单元类
型,在本门控时钟单元的使能端添加相应的逻辑门组,⑤断开该门控时钟单
元的时钟输入端,连接到时钟根节点上;至此,将第2级门控时钟结构合并
到了第1级门控时钟结构中。
(16)重复步骤(13)、(14)、(15)的操作,依次将原电路中第3、第4、……、
第N级门控时钟结构合并到第1级门控时钟结构中,从而使得整个电路变为
1级门控时钟结构。
如图2所示,为合并逻辑门组的过程,具体实现流程如下:
(21)从时钟根节点出发,找到其连线;
(22)由连线追踪到所有扇出的单元,找出所有的门控时钟单元,把这
些单元组成一个集合A(这些即设计中所有的门控时钟单元);
(23)每次从集合A中选出一个元素,找到该门控时钟单元的使能端,
进而找到使能端输入的连线,由连线追踪到上一级输入的单元,判断该单元
是不是加入的逻辑门组,若是将逻辑门组组成一个集合B;
(24)每次从集合B中取出一个元素,记为目标元素Q,并从集合B中
删除目标元素Q,更新集合B;
(25)遍历集合B中的元素P,与目标元素Q进行对比,如果输入与目
标元素Q完全相同(即:输入包括数目及线名),则进行如下操作:①从集
合B中删除P,②把P输出连接门控时钟单元的使能端断开,连接到Q的输
出上,③删除P的逻辑门组;
(26)重复步骤(24)、步骤(25)的操作,直到集合B中所有元素删
完为止。
这样就在原来的基础上减少了逻辑门组的数目,减少的使能信号的扇出,
避免了布局布线资源的浪费。
如图3所示,下面以两级门控时钟的时钟结构为例进行说明。在图3中,
第1级门控时钟单元ICG1的使能信号为EN1,时钟输入端连接到时钟根节
点CLK上;第2级门控时钟单元ICG2的使能信号为EN2,时钟输入端连接
到第1级门控时钟单元的输出端。当ICG1的使能信号EN1有效时,时钟信
号能穿过ICG1到达ICG2的时钟输入端;于此同时当ICG2的使能信号EN2
有效时,时钟信号才能继续穿过ICG2到达后续的时序单元。使能信号EN1
决定时钟信号能否传输到ICG1后连接的叶节点;而使能信号EN1和EN2
共同决定时钟信号能否传输到ICG2后连接的叶节点。
在不引起功能错误的情况下,为把两级门控时钟降低为一级,对上述电
路进行如下处理:
①断开ICG2的时钟输入端,连接到时钟根节点;
②增加一个二输入逻辑门组GATE,GATE的两个输入分别连接到为
EN1和EN2,输出连接到ICG2的时钟输入端。
处理完后的电路如图4所示。为保证门控时钟降级前后电路的功能等价,
逻辑门组GATE要实现只有EN1和EN2同时有效时,时钟信号才能穿过ICG2。
逻辑门组的选择与门控时钟单元的类型有关,门控时钟单元类型有两种:高
电平触发门控时钟单元和低电平触发门控时钟单元;分为以下四种情况对
GATE进行讨论:
(1)ICG1和ICG2均为高电平触发门控时钟单元
当ICG1和ICG2均为高电平触发的时,GATE要保证只有EN1和EN2
同时为“1”的时候,时钟信号才能穿过ICG1和ICG2,到达ICG2控制的寄
存器,其他情况下时钟信号均不能传播到ICG2控制的寄存器。逻辑门组
GATE的布尔表达式为:
X=EN1·EN2(1)
则GATE为二输入与门,如图5所示。
(2)ICG1为高电平触发门控时钟单元,ICG2为低电平触发门控时钟单
元
当ICG1为高电平触发,ICG2为低电平触发的时候,要保证只有EN1
为“1”同时EN2为“0”的时候,时钟信号才能穿过ICG1和ICG2,到达
ICG2控制的寄存器,其他情况下时钟信号均不能传播到ICG2控制的寄存器。
逻辑门组GATE的布尔表达式为:
X = E N 1 · E N 2 ‾ - - - ( 2 ) ]]>
则GATE为反相器和二输入与门的组合,其中EN1直接连接到与门的一
个输入端,EN2连接到反相器,反相器的输出端连接到与门的另一个输入端,
如图6所示。
(3)ICG1为低电平触发门控时钟单元,ICG2为高电平触发门控时钟单
元
当ICG1为低电平触发,ICG2为高电平触发的时,要保证只有EN1为
“0”同时EN2为“1”的时候,时钟信号才能穿过ICG1和ICG2,到达ICG2
控制的寄存器,其他情况下时钟信号均不能传播到ICG2控制的寄存器。逻
辑门组GATE的布尔表达式为:
X = E N 1 ‾ · E N 2 - - - ( 3 ) ]]>
则GATE为反相器和二输入与门的组合,其中EN1连接到反相器,反相
器的输出端连接到与门的一个输入端,EN2直接连接到与门的另一个输入端,
如图7所示。
(4)ICG1和ICG2均为低电平触发门控时钟单元
当ICG1和ICG2均为低电平触发的时候,要保证只有EN1和EN2同时
为“0”的时候,时钟信号才能穿过ICG1和ICG2,到达ICG2控制的寄存器,
其他情况下时钟信号均不能传播到ICG2控制的寄存器。逻辑门组GATE的
布尔表达式为:
X = E N 1 ‾ · E N 2 ‾ - - - ( 4 ) ]]>
则GATE为两个反相器和一个二输入与门的组合,其中EN1连接到反相
器,反相器的输出端连接到与门的一个输入端;EN2连接到另一个反相器,
反相器的输出端连接到与门的另一个输入端,如图8所示。
以上完成对第2级门控时钟的处理。以此类推,对第n级门控时钟,同
样把该门控时钟单元的时钟端断开,连接到时钟根节点,并在该门控时钟单
元的使能端增加一个n输入的逻辑门组GATE。假设n级门控时钟中有m级
是高电平触发,剩余n-m级为低电平触发,n,m为自然数;则第n级门控
时钟的使能信号前需要添加的GATE布尔表达式为:
X = E N 1 ‾ · E N 2 ‾ · · · · · E N m ‾ · E N ( m + 1 ) · E N ( m + 2 ) · · · · · E N n - - - ( 5 ) ]]>
同样用与门和反相器的组合来实现GATE,高电平触发门控时钟单元的
使能信号直接连接到与门的输入,低电平触发门控时钟单元的使能信号连接
到一个反相器,反相器的输出再连接到与门的输入,与门的输出连接到第n
级门控时钟单元的使能端,如图9所示。
这样将完成将多级门控时钟结构降为一级门控时钟结构,并且保证功能
的正确性。
在降低门控时钟级数的过程中,除第一级门控时钟单元以外,其余门控
时钟单元的使能端都添加了相应的逻辑门组,来保证逻辑功能的正确性。这
样造成在设计过程中插入了大量的逻辑门以及连线,会占用一定的布局布线
资源。
对逻辑门组进行合并过程,同样采用第二级门控时钟为例,如图10所示。
图10中ICG1为第一级门控时钟单元,使能信号为EN1,控制着寄存器Reg1,
以及ICG2和ICG3时钟的开关。ICG2、ICG3为第二级门控时钟单元,且单
元类型相同(同为高电平触发或者低电平触发),使能信号均为EN2,分别
控制着寄存器Reg2、Reg3时钟的开关,且由于ICG2、ICG3各自的扇出较
大、控制的寄存器的物理位置较远,无法对其进行合并。本发明第一步的描
述原理对该电路进行降级处理,把两级门控时钟结构变为一级,处理结果如
图11所示。
图11和图10对比可知,降级之后的时钟结构与降级之前有以下变化:
①时钟信号CLK扇出增加为3;
②使能信号EN1扇出增加为3;
③门控时钟单元ICG2、ICG3的使能端分别添加了逻辑门组GATE1、
GATE2以及相应的连线。
增加的部分如图11中的虚线所示。以此类推对于多级门控时钟结构,同
时每级有多个门控时钟单元的设计,门控时钟降级处理增加了一定数量的连
线和逻辑门组,会占用一定的布局布线资源,对于资源本就紧张的设计是不
可接受的。
进一步对图11分析可知,增加的逻辑门组GATE1、GATE2的输入相同,
均为使能信号EN1、EN2;且由于ICG2、ICG3的单元类型相同,所以GATE1、
GATE2完全相同;只是输出不同,分别为寄存器Reg2、寄存器Reg3,因此
可以对GATE1、GATE2进行合并,合并之后的效果如图12所示。
图中虚线表示相对于图10增加的部分。图12和图11对比可知,合并逻
辑门组之后的时钟结构与合并之前有以下变化:
①使能信号EN1扇出减少为2;
②逻辑门组数量减少为1(GATE)。
以此类推对于多级门控时钟结构同时每级有多个门控时钟单元的设计,
合并逻辑门组之后与合并之前删除了冗余的逻辑门组以及使能信号扇出,节
省了大量布局布线资源。
图13给出的是某款芯片内核的时钟结构,纵轴表示时钟延时,时钟根节
点、时钟驱动的寄存器(reg)、门控时钟和时钟缓冲单元如图所示,单元间的
连接关系由细线表示。该设计时钟结构非常复杂,多级门控时钟的存在大大
减少了时钟路径上公共路径所占的比重,增大了时钟偏差及其不确定性。
将本发明应用到该设计的时钟网络优化,优化之后的时钟结构如图14
所示。由图可知,优化之后的时钟网络只剩下一级门控时钟,时钟结构更加
规整,有利于增加时钟公共路径所占的比重,减小时钟偏差。
尽管上面是对本发明具体实施方案的完整描述,但是可以采取各种修改、
变体和替换方案。这些等同方案和替换方案被包括在本发明的范围内。因此,
本发明的范围不应该被限于所描述的实施方案,而是应该由所附权利要求书
限定。