本发明属于数字电路设计技术领域,涉及一种时钟分布网络结构及其生成方法。
背景技术:
在深亚微米时代,芯片设计中同步时钟的设计对芯片的性能和可靠性是非常关键的。在时钟分布网络中时钟信号到达每一个寄存器的时间应当相等。这就需要对所有的时钟信号进行时钟分布网络分配。时钟信号从外部的输入开始经过包含组合逻辑和互连线的时钟分布网络,到达时序逻辑。
目前,业界已经提出了很多种时钟树结构。可以归纳为:树干结构、网格结构和对称的h-树结构和平衡的缓冲器树结构等。在上述结构中,平衡的缓冲器树结构已经在数字电路中得到广泛的应用。
现有的时钟分布网络生成技术主要分为两类:
①、树型时钟分布网络结构
请参阅图1,图1为现有技术中树状结构的时钟分布网络结构示意图。从图1可以看出,时钟的分布网络呈现“树”状结构,时钟信号由树根向树枝传播扩散。树型时钟分布网络是最早使用的时钟生成技术。
它的优点是算法简单,布局布线资源消耗小,网络附带的功耗小;它的缺点是时序性能比较差,时序变化差异比较大,时序受工艺变化的影响大以及由此带来的设计前后期时序可预测性比较差。
②、网格型时钟分布网络结构
请参阅图2,图2为现有技术中网格型时钟分布网络示意图。从图2可以看出,时钟的网络呈现“网格”状结构,时序在整个网络上得到平衡。网格型时钟分布网络是比较新的时钟生成技术。
它的优点是时序差异变化比较小,时序变化受工艺差异的影响比较小,设计前后的可预测性比较好,性能比较稳定;它的缺点是:消耗比较多的布局布线资源,消耗比较多的功率。
技术实现要素:
本发明的目的在于提供一种新颖的时钟分布网络结构及其生成方法,其最大限度地结合了树型时钟分布网络结构和网格型时钟分布网络结构的在数字电路设计方面的优点,为超大规模集成电路设计提供更加灵活的时钟分布网络解决方案。
为实现上述目的,本发明的技术方案如下:
一种时钟分布网络结构,所述时钟分布网络分布于多个局部时钟电路设计区域;所述多个局部时钟电路设计区域间的时钟分布网络为树型时钟分布网络结构,所述从时钟分布网络时钟接入点为树干开始,在至少一个局部时钟电路设计区域的某一特定子区域,或是在至少一个所述时钟分布网络末端的局部时钟电路设计区域,采用网格型时钟网络结构设计;或者,所述时钟分布网络在关键路径上的一个或多个局部时钟电路设计区域采用网格型时钟网络结构设计。
进一步地,所述局部时钟电路设计区域是否采用网格型时钟网络结构设计,是根据时钟网络实现算法的参数确定;所述参数决定于时钟节点在局部时钟电路设计区域所占的比例、时钟节点所连接的时序电路个数在所述局部时钟设计区域中所占的比例和/或局部时钟电路设计区域中时钟布线的总长度成倍数地大于局部时钟电路设计区域的周长。
进一步地,如果所述时钟节点在局部时钟电路设计区域所占的比例超过30%,所述局部时钟设计区域采用网格型时钟网络结构设计;否者,继续沿用树型时钟网络结构设计。
进一步地,如果所述时钟节点所连接的时序电路个数在所述局部时钟设计区域中所占的比例超过20%,所述局部时钟设计区域采用网格型时钟网络结构设计;否者,继续沿用树型时钟网络结构设计。
进一步地,如果局部时钟电路设计区域中时钟布线的总长度大于局部电路模块设计区域周长的3倍,所述局部时钟设计区域采用网格型时钟网络结构设计;否者,继续沿用树型时钟网络结构设计。
进一步地,当时序违例小于一预定的百分比时,所述时钟分布网络在关键路径上的局部时钟电路设计区域采用网格型时钟网络结构设计。
为实现上述目的,本发明还的技术方案如下:
一种根据上述时钟分布网络结构的生成方法,其包括如下步骤:
步骤s1:所述时钟分布网络被分成多个局部时钟电路设计区域;
步骤s2:将所述多个局部时钟电路设计区域间的时钟分布网络结构设计为树型时钟分布网络结构;
步骤s3:从时钟分布网络时钟接入点为树干开始,将在局部时钟电路设计区域的某一特定子区域,或是位于所述时钟分布网络的末端的局部时钟电路设计区域,采用网格型时钟网络结构设计。
进一步地,所述步骤s3具体包括如下步骤:
步骤s31:从时钟分布网络时钟接入点为树干开始,根据时钟网络实现算法的参数,判断下级所述局部时钟电路设计区域是否采用网格型时钟网络结构;其中,所述参数决定于时钟节点在局部时钟电路设计区域所占的比例、时钟节点所连接的时序电路个数在所述局部时钟设计区域中所占的比例和/或局部时钟电路设计区域中时钟布线的总长度成倍数地大于局部电路模块设计区域的周长;如果是,执行步骤s32;否者,执行步骤s33;
步骤s32:所述局部时钟电路设计区域采用网格型时钟网络结构设计;
步骤s33:所述局部时钟电路设计区域采用树型时钟分布网络结构设计。
为实现上述目的,本发明的又一技术方案如下:
一种根据上述时钟分布网络结构的生成方法,其包括如下步骤:
步骤s1':将所述时钟分布网络分成多个局部时钟电路设计区域;
步骤s2':所述多个局部时钟电路设计区域间的时钟分布网络结构为树型时钟分布网络结构;
步骤s3':从时钟分布网络时钟接入点为树干开始,将在关键路径上的一个或多个局部时钟电路设计区域,采用网格型时钟网络结构。
进一步地,所述步骤s3'具体包括如下步骤:
步骤s31':从时钟分布网络时钟接入点为树干开始,判断下级所述局部时钟电路设计区域是否位于关键路径上,如果是,执行步骤s32';否则,执行步骤s33';
步骤s32':判断时序违例是否小于一预定的百分比,如果是,将所述时钟分布网络在关键路径上的局部时钟电路设计区域使用网格型时钟网络;否则,执行步骤s33';
步骤s33':将所述局部时钟电路设计区域采用树型时钟分布网络结构。
从上述技术方案可以看出,本发明一种时钟分布网络结构及其生成方法,对数字时序电路设计中关键的时钟网络合成技术提出了新颖的解决方案,其灵活地结合树型时钟网络合成法和网格型时钟网络合成法,对超大规模集成电路设计的时序设计提出了更加灵活的设计思想与算法。
附图说明
图1为现有技术中树状结构的时钟分布网络示意图
图2为现有技术中网格型时钟分布网络示意图
图3为现有技术一时钟分布网络结构的示意图
图4为本发明时钟分布网络结构一较佳实施例的示意图
图5为本发明时钟分布网络结构另一较佳实施例的示意图
具体实施方式
下面结合附图3-5,对本发明的具体实施方式作进一步的详细说明。
需要说明的是,本发明时钟分布网络时钟分布网络结构及其生成方法,最大限度地结合了时钟树和时钟网格的在数字电路设计方面的优点,为电路设计提供最优的解决方法。
在本发明的实施例中,全局的时钟分布网络分布于多个局部时钟电路设计区域;每一个局部时钟电路设计区域可以作为一个小的功能电路模块。与现有技术不同的是,本发明将多个局部时钟电路设计区域之间的时钟分布网络设计成为树型时钟分布网络结构,而局部时钟电路设计区域需要根据实际时序计算结果以及电路模块的实际实现情况,选用树型时钟分布网络结构设计或网格型时钟分布网络结构设计。
也就是说,本发明的从时钟分布网络时钟接入点为树干开始,在至少一个局部时钟电路设计区域的某一特定子区域,或是在至少一个时钟分布网络末端的局部时钟电路设计区域,采用网格型时钟网络结构设计;或者,全局时钟分布网络在关键路径上的一个或多个局部时钟电路设计区域采用网格型时钟网络结构设计。
实施例一
请参阅图3和图4,图3为现有技术一时钟分布网络结构的示意图,图4为本发明时钟分布网络结构一较佳实施例的示意图。图3中的时钟分布网络结构在本发明实施例的解决方案主要如下:
在本实施例中的解决方法是沿用树型时钟分布网络在布局布线和功耗方面的优势,其在全局的时钟分布网络合成时继续使用这种结构,这样可以节省全局的布局布线资源和芯片整体的功耗,而在电路设计的局部时钟电路设计区域,或是时钟分布网络结构的末端,根据实际时序计算结果以及电路模块的实际实现情况,采用网格型时钟分布网络结构,缩小时序在局部时钟电路设计区域的差异,优化电路的时序设计,同时增强了时序网络对工艺差异变化的容忍性。
在本发明的实施例中,局部时钟电路设计区域是否采用网格型时钟网络结构设计,可以是根据时钟网络实现算法的参数确定。这些时钟网络实现算法的参数可以决定于时钟节点在局部时钟电路设计区域所占的比例、时钟节点所连接的时序电路个数在局部时钟设计区域中所占的比例和/或局部时钟电路设计区域中时钟布线的总长度成倍数地大于局部电路模块设计区域的周长等。
需要说明的是,在决定局部布局布线的算法时,可以根据电路在局部时钟电路设计区域实现的具体情况,用上述一个或多个参数带入时钟分布网络的实现算法,来确定该局部时钟电路设计区域是否采用网格型时钟网络结构设计。具体地:
①、如果时钟节点在局部时钟电路设计区域所占的比例超过30%,局部时钟设计区域采用网格型时钟网络结构设计;否者,时钟节点在局部时钟电路设计区域所占的比例较小,可以继续沿用树型时钟网络结构设计。当然,比例30%仅作为较佳的示例,并表示用于限制本发明。
②、如果时钟节点所连接的时序电路个数在局部时钟设计区域中所占的比例超过20%,时钟节点所连接的时序电路个数在局部时钟设计区域中所占的比例较小,局部时钟设计区域采用网格型时钟网络结构设计;否者,继续沿用树型时钟网络结构设计。当然,比例20%仅作为较佳的示例,并表示用于限制本发明。
③、如果局部时钟电路设计区域中时钟布线的总长度大于局部电路模块设计区域周长的3倍,该局部时钟设计区域采用网格型时钟网络结构设计;否者,局部时钟电路设计区域中时钟布线的总长度较短,继续沿用树型时钟网络结构设计。当然,倍数3仅作为较佳的示例,并表示用于限制本发明。
请继续参阅图4,这种时钟分布网络的合成方法所产生的时钟分布网络形状比较像真正的树(包含了‘树干’和‘树叶’),所以,可以称之为真树(true-tree)式时钟分布网络合成法,或者可以称之为树叶(tree-leaf)式时钟分布网络合成法。
下面介绍一下本实施例中根据上述时钟分布网络结构的生成方法,其包括如下步骤:
步骤s1:所述时钟分布网络被分成多个局部时钟电路设计区域;
步骤s2:将所述多个局部时钟电路设计区域间的时钟分布网络结构设计为树型时钟分布网络结构;
步骤s3:从时钟分布网络时钟接入点为树干开始,将在局部时钟电路设计区域的某一特定子区域,或是位于所述时钟分布网络的末端的局部时钟电路设计区域,采用网格型时钟网络结构设计。
该步骤s3具体可以包括如下步骤:
步骤s31:从时钟分布网络时钟接入点为树干开始,根据时钟网络实现算法的参数,判断下级所述局部时钟电路设计区域是否采用网格型时钟网络结构;其中,所述参数决定于时钟节点在局部时钟电路设计区域所占的比例、时钟节点所连接的时序电路个数在所述局部时钟设计区域中所占的比例和/或局部时钟电路设计区域中时钟布线的总长度成倍数地大于局部电路模块设计区域的周长;如果是,执行步骤s32;否者,执行步骤s33;
步骤s32:所述局部时钟电路设计区域采用网格型时钟网络结构设计;
步骤s33:所述局部时钟电路设计区域采用树型时钟分布网络结构设计。
实施例二
请参阅图5,图5为本发明时钟分布网络结构另一较佳实施例的示意图。
在本实施例中的解决方法是涉及时钟分布网络的优化问题。本领域技术人员清楚,时序电路设计的优化中最关键的是对关键路径(criticalpath)的优化,时序电路的性能好坏,设计的成功与否都取决于设计中的关键路径能否满足时序设计的需求。
网络型时钟分布网络结构,由于它优良的时序平衡性能,可以用来辅助对关键路径的时序优化。如图5所示,在关键路径上使用网格型时钟分布网络合成方法,可以取得更加平衡的时序分布,提供更多的时钟接入点,为局部时序电路的设计提供更高的灵活性。
在本发明的实施例中,可以根据需要,在时钟分布网络关键路径上的一个或多个局部时钟电路设计区域,采用网格型时钟网络结构设计。例如,可以根据时序违例的百分比来确定,当时序违例小于30%时,可以使用本方法进行时序修正。当然,对于在非关键路径上的部分局部时钟电路设计区域就没有必要浪费宝贵的布局布线资源来做网格式时钟网络结构设计了。
下面介绍一下本实施例中根据上述时钟分布网络结构的生成方法,其包括如下步骤:
步骤s1':将所述时钟分布网络分成多个局部时钟电路设计区域;
步骤s2':所述多个局部时钟电路设计区域间的时钟分布网络结构为树型时钟分布网络结构;
步骤s3':从时钟分布网络时钟接入点为树干开始,将在关键路径上的一个或多个局部时钟电路设计区域,采用网格型时钟网络结构。
进一步地,所述步骤s3'具体包括如下步骤:
步骤s31':从时钟分布网络时钟接入点为树干开始,判断下级所述局部时钟电路设计区域是否位于关键路径上,如果是,执行步骤s32';否则,执行步骤s33';
步骤s32':判断时序违例是否小于一预定的百分比,如果是,将所述时钟分布网络在关键路径上的局部时钟电路设计区域使用网格型时钟网络;否则,执行步骤s33';
步骤s33':将所述局部时钟电路设计区域采用树型时钟分布网络结构。
以上所述的仅为本发明的优选实施例,所述实施例并非用以限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。