公开/公告号CN106446366A
专利类型发明专利
公开/公告日2017-02-22
原文格式PDF
申请/专利号CN201610814198.6
申请日2016-09-09
分类号G06F17/50(20060101);
代理机构44102 广州粤高专利商标代理有限公司;
代理人林丽明
地址 528300 广东省佛山市顺德区大良街道办广东顺德中山大学卡内基梅隆大学国际联合研究院
入库时间 2023-06-19 01:36:59
法律状态公告日
法律状态信息
法律状态
2022-09-23
专利权的转移 IPC(主分类):G06F17/50 专利号:ZL2016108141986 登记生效日:20220909 变更事项:专利权人 变更前权利人:佛山以太物联科技有限公司 变更后权利人:南通思宇科技有限公司 变更事项:地址 变更前权利人:528300 广东省佛山市顺德区大良南国东路9号广东顺德中山大学卡内基梅隆大学国际联合研究院教学科研楼N505F单元 变更后权利人:226000 江苏省南通市青年中路136号南通科技职业学院支点创业中心202室
专利申请权、专利权的转移
2019-09-10
授权
授权
2017-04-05
专利申请权的转移 IPC(主分类):G06F17/50 登记生效日:20170316 变更前: 变更后: 申请日:20160909
专利申请权、专利权的转移
2017-03-22
实质审查的生效 IPC(主分类):G06F17/50 申请日:20160909
实质审查的生效
2017-02-22
公开
公开
技术领域
本发明涉及集成电路领域,更具体地,涉及一种大规模数字集成电路时钟网格分布方法。
背景技术
大规模同步数字集成电路中,所有的时序器件,如寄存器和触发器都依赖于全局时钟信号完整、无偏差地传输到电路的参考时序信号端。时序电路规模增大对于单个时钟的多扇出和负载能力提出了极大挑战,利用时钟缓冲器和反相器可以在某种意义上规避此问题,但引入了另外一个难题:即同一个时钟源到达任意多个时序电路的参考时钟端所经过的时钟缓冲器和反相器路径必定存在一定程度的到达时间误差,称之为时钟偏斜ClockSkew,完全无偏斜的时钟分布几乎是不可能的。
为了解决时钟偏斜的问题,传统的做法忽略芯片各个模块之间存在的时序联系,将芯片上诸多寄存器节点视为完全对等的,其拓扑也是展平Flatten的形式为主。在此假设之上,将时钟源视为根节点Root Node向最终的时序器件叶节点Leaf Node进行时钟分布Clock Distribution,可以使用层次化Hierarchical的均衡Balanced时钟分布结构,其拓扑形状包含四端点的H型和X型时钟树,也有二分Binary结构,或者多端点的鱼骨结构Fishbone。如上所述,其结构的特点在于:1,层次化,且在达到最终的平衡之前,并不知道时钟树最终的层数Level;2,均衡,每一层的时钟根节点到达当前层的每个时钟叶节点的时间都是完全一致的。然而,对于实际芯片而言,以上要求随着电路规模的急剧增大变得越来越难实现。其原因在于,
1、将芯片的每个时序器件放在一个展平的层次上对于实际芯片而言太过理想,应该注意到芯片中存在的局部性并加以利用;
2、虽然芯片规模在不断增大,但三维方向上纵向金属层数的增加却并不随工艺进步而线性增加,因此时钟分布网络所用到的布线资源始终有限。另一方面,布线的复杂度增加超过了线性速度;
3、大规模数字集成电路的时钟分布网络上所利用到的时钟缓冲器和反相器消耗掉的能量非常可观,对电源网络带来的冲击也需要重点考虑;同时,对于先进工艺节点而言,时钟缓冲器和反相器的静态漏流将带来不小的功耗挑战。
为了缓解以上问题,作为全局时钟分布网络的补充,在局部时钟区域使用均一Unified的时钟网格Grid对分布网络叶节点上的时钟成为可行的选择。时钟网格仅作为最底层或者次底层的时钟分布结构,其特点在于使用过驱动的方式将所有连接到当前网格的时序器件的时钟信号进行同步。然而,局部时钟区域所面临的问题并不少,1)由于全局时钟分布网络并不可能做到完全均衡,时钟区域之间的差异可能跟随时钟区域的物理布局变化超过可接受的阈值,即局部时钟网格如何获得一个初始最优解,以及在此前提下仍然能够达到全局最优;2)如何与全局时钟分布网络进行结合,根据时钟区域的负载、布线资源、时钟到达时间等指标去指导全局时钟分布网络进行上层路径均衡网络的生成。
发明内容
本发明提供一种大规模数字集成电路时钟网格分布方法,该方法可降低大规模数字集成电路的时序受到工作环境变化的影响。
为了达到上述技术效果,本发明的技术方案如下:
一种大规模数字集成电路时钟网格分布方法,包括以下步骤:
S1:将电路划分为若干个物理相邻的时钟域,每个时钟域与周围四个时钟域相邻;
S2:在每个时钟域内设置一个延迟可调的延迟补偿单元CU,并在每两个相邻的时钟域之间设置一个相位检测单元PDU;
S3:对各个时钟域之间的相位关系使用PDU进行探测,并获得相位关系结果,以向量f(N,S,W,E)代表一个时钟域与其四个相邻时钟域的相位关系对比结果;
S4:相位检测单元PDU探测时钟域与其相邻其他时钟域之间的相位差在时域上是否大于预先设定的阈值g,以g(N,S,W,E)进行表示;
S5:利用向量f(N,S,W,E)和向量g(N,S,W,E)通过最小邻域偏斜算法对延迟补偿单元CU进行调整,使得每两个相邻时钟区域之间的相位差都将小于g就完成电路的网格分布。
进一步地,所述相位检测单元PDU设置在每两个物理相邻的时钟域之间在边界上。
进一步地,所述步骤S5的过程如下:
处理相邻时钟域之间的相关性,将时序不相关的时钟域相邻边界上的向量g(N,S,W,E)置为0;
根据以下分类将相位检测单元PDU的输出结果分为四种:
1)当前时钟域比一个相邻时钟域超前g以上,同时没有比任意一个相邻时钟域滞后g以上;
2)当前时钟域比一个相邻时钟域滞后g以上,同时没有比任意一个相邻时钟区域超前g以上;
3)当前时钟域比一个相邻时钟域滞后g以上,同时也比其他一个时钟域超前g以上;
4)当前时钟域与任意时钟域相位差在g以内;
对于情况1,延迟补偿单元CU使当前时钟域的延迟路径以s为单位降低延迟;
对于情况2,延迟补偿单元CU中使当前时钟域的延迟路径以s为单位增加延迟;
情况3和4,延迟补偿单元CU将保持不变;
下一个时钟周期再次使用相位检测单元PDU获得各个时钟域之间的相位差;
对以上操作进行迭代,使得所有的相邻时钟域之间偏斜小于g,算法运行停止。
进一步地,所述步骤S5中对延迟补偿单元CU进行的调整时,每次延迟补偿单元CU调整的步长为g,且延迟补偿单元CU的延迟的调整方式是增加、减少或者保持0。
进一步地,所述延迟补偿单元CU由控制逻辑单元、移位寄存器和可变延迟路径单元构成,控制逻辑单元根据时钟域接收到的向量f(N,S,W,E)和g(N,S,W,E)对移位控制器进行操作,移位控制器的位数为d,调节步长为s,其中s<g。
与现有技术相比,本发明技术方案的有益效果是:
本发明将电路划分为若干个物理相邻的时钟域,使每个时钟域与周围四个时钟域相邻;之后在每个时钟域内设置一个延迟可调的延迟补偿单元CU,并在每两个相邻的时钟域之间设置一个相位检测单元PDU;对各个时钟域之间的相位关系使用PDU进行探测,得到向量f(N,S,W,E)代表一个时钟域与其四个相邻时钟域的相位关系对比结果,得到向量g(N,S,W,E)表示时钟域与其相邻其他时钟域之间的相位差在时域上是否大于预先设定的阈值g;最后利用向量f(N,S,W,E)和向量g(N,S,W,E)通过最小邻域偏斜算法对延迟补偿单元CU进行调整,使得每两个相邻时钟区域之间的相位差都将小于g就完成电路的网格分布。该方法得到比直接利用时钟树分布更优的邻域间时钟偏斜,从而进一步得到全局时钟偏斜的最优,进而使得大规模数字集成电路的时序受到工作环境变化的影响进一步降低。
附图说明
图1是本发明中网格在电路中物理分布的示意图;
图2是本发明相位检测单元PDU电路结构结构图;
图3是本发明延迟补偿单元CU结构图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1,为了方便说明起见,本发明非限定性地将芯片中的部分区域划分为16个等分的时钟域,分别记为R1…R16。图1仅为布局的位置示意图,并不代表在芯片中各个时钟域所占面积;各个时钟域所占用的物理面积并非指定性一致;各个时钟域之间的物理相邻也仅需要满足示意图所示大概位置。除了图1所示位于边上的若干单元以外,每个时钟域Rx与周围四个其他时钟域相邻。
如图1,除了所示位于边上的若干单元以外,每两个相邻时钟域之间放置一个相位检测单元PDU。PDU的输入为两个相邻时钟域之间的时钟,并负责对其进行比较。当最小邻域偏斜算法(MNS)算法开始工作时,每个时钟域Rx与周边四个时钟域相邻,因此时钟域Rx将收到四个PDU的结果,表示为向量f(N,S,W,E)和g(N,S,W,E)。
如图1,每个时钟域中放置一个补偿单元CU。其位于时钟网格的传播路径上,根据控制条件对自身的路径传播延迟进行调节补偿。输出为可变延迟的网格时钟。控制条件由向量f(N,S,W,E)和g(N,S,W,E)根据MNS算法的流程生成,如下所述。
如图2,相位检测单元PDU的结构由两个相位检测电路构成。输入A与输入B分别为两个相邻的时钟域中的网格时钟信号,二者并无提前预知相位关系,因此相位检测电路对于两输入也为完全对称。两相时钟首先使用缓冲器以提高各自的跳变时间,并输出两个延迟不同的信号到后级,分别记为A0、Ag,其中Ag领先A0步进长度g,输入A到A0的延迟为d,且有g<d。B端与之对称,不再赘述。
两相时钟A0、B0进行AND操作,记为信号Z。传统结构使用SR触发器或者XOR结构捕捉二者的重叠,但本发明所述PDU的结构创新性的使用AND门结构,首先可以避免两相时钟重叠时出现功能错误,其次具有较好的输出负载能力,使得误差更小。
PDU内含两个基于TSPC寄存器的相位检测器PD,分别以Ag和Bg对Z进行采样,其输出分别为QA和QB。此结果反映了两输入A与B之间的相位关系,和二者相位差是否大于预设的延迟步进长度g。当相位差QA=0且QB=1时,A信号领先B信号,且相位差大于g。反之,当QA=1且QB=0时,A信号滞后且相位差大于g。当QA=QB=1时,两者相位差小于g时,先后顺序此时并不重要。最后,QA=QB=0的情况不会出现。
由于每个时钟域有四个邻域,因此以上两位输出QA、QB可以分别扩展到四个方向N,S,W,E。假设本时钟域所连接的端口都为A端,那么本时钟域与四个邻域之间的相位关系以及相位差是否大于g可以分别使用向量f(N,S,W,E)和g(N,S,W,E)进行表示。处于边上的时钟区域其外邻可认为标量g(N|S|W|E)=0,已满足偏斜要求。
QA=1,QB=1→g(N|S|W|E)=0
QA=1,QB=0→g(N|S|W|E)=1,f(N|S|W|E)=1
QA=0,QB=1→g(N|S|W|E)=1,f(N|S|W|E)=0
f(N,S,W,E)≡{f(N),f(S),f(W),f(E)}
g(N,S,W,E)≡{g(N),g(S),g(W),g(E)}
举例表示如下:
g(N,S,W,E)=1100表示N和S方向上超前或者滞后相位超过g;W和E方向两者接近,在g范围内不能区分。
f(N,S,W,E)=0100表示在N方向上滞后,在S方向上超前。
g(N,S,W,E)=1100和f(N,S,W,E)=0100一起完整表示了每个时钟域与其他时钟域之间的相位关系。
如图3,延迟补偿单元CU由控制逻辑、移位寄存器和可变延迟路径构成。控制逻辑根据本时钟域接收到的向量f(N,S,W,E)和g(N,S,W,E)对移位控制器进行操作。移位控制器的位数为d,调节步长为s。显然有s<g,否则此实现将不会收敛。本发明中取步长s稍小于g。因此有s<g<ds,其中ds为延迟补偿单元CU对延迟路径的补偿范围。d的取值依赖于整个时钟网格的初始偏差,且需要在调整范围和电路代价之间取得均衡。
延迟补偿单元CU的实现使用了移位寄存器对可变延迟路径进行调节,且移位寄存器的下一个状态取决于当前状态以及输入向量f(N,S,W,E)和g(N,S,W,E),即构成一个记忆系统。
MNS算法的过程如下:
首先,处理相邻时钟域之间的相关性:如果两者功能独立,且时序不相关,可以认为两者之间的时钟偏差无关紧要;因此将相邻边界上的向量g(N|S|W|E)置为0;
算法输入情况分为四种:
1)当前区域比一个相邻时钟域超前g以上,同时没有比任意一个相邻时钟域滞后g以上;
2)当前区域比一个相邻时钟域滞后g以上,同时没有比任意一个相邻时钟区域超前g以上;
3)当前区域比一个相邻时钟域滞后g以上,同时也比其他一个时钟域超前g以上;
4)当前区域与任意时钟域相位差在g以内;
对于情况1,CU控制逻辑输出‘-’操作(opminus),移位寄存器控制可变延迟路径以s为单位降低延迟;
对于情况2,CU控制逻辑输出‘+’操作(opplus);移位寄存器控制可变延迟路径以s为单位增加延迟;
情况3和4,CU将保持不变。
调整后在下一个时钟周期来临时,再次使用PDU获得各个时钟域之间的相位差并对以上操作进行迭代。最终所有相邻时钟域之间的偏斜小于g,达到收敛。此时算法运行停止,网格调整达到预期目的,其复杂度在O(nlogn)与O(n^2)之间。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
机译: 评估,管理和控制网格或微网格上的分布式可再生能源的系统和方法,并从清洁,无碳和节水的分布式可再生能源技术和资源中获取100%可再生能源网格或微网格
机译: 具有软点功能的网格信号接收器,一种无线点系统和一种运动矢量校正方法,一种网格信号发送器和接收器,一种包括发送器和接收器的无线点系统以及一种可移动的,针对该方法的修正方法网格信号接收器
机译: 增加与精细尺度网格相关的渗透率规模以估计单元格,第一个网格的每个单元的渗透率以及估算与大规模网格相关的渗透率的方法