一种时钟树资源的分配方法和时钟树架构组成比例

技术编号:15075393 阅读:144 留言:0更新日期:2017-04-06 20:23
本发明专利技术涉及一种时钟树资源的分配方法和时钟树架构,所述分配方法包括:基于用户设计,根据FPGA中各个时钟线网分布的时钟域数量和/或驱动的寄存器数量,确定所述各个时钟线网的复杂度;将N棵时钟树的资源分别分配给复杂度最高的前N个的时钟线网使用;其中,N为自然数;每棵所述时钟树与全部时钟域相连;确定所述每棵时钟树剩余的未被使用的资源;利用跨时钟域的多路选择器整合所述未被使用的资源,分配给所述各个时钟线网中除所述复杂度最高的前N个的时钟线网之外的其它时钟线网使用。

Clock tree resource allocation method and clock tree architecture

Method and clock tree architecture distribution of the invention relates to a clock tree resources, including the allocation method based on user design, according to the number of each clock line in FPGA distribution network clock domain and / or driver registers, determine the complexity of the clock network; N clock tree resources were allocated to the complexity of the highest N clock line network; wherein, N is a natural number; every tree in the clock tree and all clock domains are connected; determine each of the clock tree remaining unused resources; using multi clock domain controller is not the integration use the resources allocated to the various clock networks except the complexity of the highest N clock line other than the use of clock networks.

【技术实现步骤摘要】

本专利技术涉及集成电路
,尤其涉及一种时钟树资源的分配方法和时钟树架构
技术介绍
数字电路中,时钟是整个电路最重要、最特殊的信号。第一,系统内大部分器件的动作都是在时钟的跳变沿上进行,这就要求时钟信号时延差要非常小,否则就可能造成时序逻辑状态出错。第二,时钟信号通常是系统中频率最高的信号。第三,时钟信号通常是负载最重的信号,所以要合理分配负载。出于这样的考虑在现场可编程门阵列(Field-ProgrammableGateArray,FPGA)这类可编程器件内部一般都设有数量不等的专门用于系统时钟驱动的全局时钟网络。对于FPGA来说,要尽可能避免异步设计,尽可能采用同步设计。而同步设计的第一个关键,就是时钟树。时钟树,是个由许多缓冲单元(buffercell)平衡搭建的网状结构,它有一个源点,一般是时钟输入端(clockinputport),也有可能是设计内部某一个单元输出脚(celloutputpin),然后就是由一级一级的缓冲单元搭建而成,目的是使所用终点的时钟偏移(clockskew)等满足设计要求。clockskew实际上指的是时钟驱动不同的寄存器时,由于寄存器之间可能会隔得比较远,所以时钟到达不同的寄存器的时间可能会不一样,这个时间差称为clockskew。这种clockskew可以通过时钟树来解决,也就是使时钟布线形成一种树状结构,使得时钟到每一个寄存器的距离是一样的。通常FPGA芯片都布有这样的时钟树结构。因为FPGA是由许多的逻辑单元构成的,逻辑单元包括门、查找表、和触发器,在出厂之前,FPGA内部元件之间的连线已经完全固定,也就是说时钟树结构已经被预先布好了。所以采用何种方法建立时钟树架构,以及所建立的时钟树的结构,对FPGA的性能有着很大影响。
技术实现思路
本专利技术实施例提供了一种时钟树资源的分配方法和时钟树架构,所述分配方法能够对时钟布线进行优化,节约时钟布线资源,提高时钟树的布通率,并有效控制保持时间违例(holdtimeviolation)。第一方面,本专利技术实施例提供了一种时钟树资源的分配方法,包括:根据FPGA中各个时钟线网分布的时钟域数量和/或驱动的寄存器数量,确定所述各个时钟线网的复杂度;基于用户设计,将N棵时钟树的资源分别分配给复杂度最高的前N个的时钟线网使用;其中,N为自然数;每棵所述时钟树与全部时钟域相连;确定所述每棵时钟树剩余的未被使用的资源;利用跨时钟域的多路选择器整合所述未被使用的资源,分配给所述各个时钟线网中除所述复杂度最高的前N个的时钟线网之外的其它时钟线网使用。优选的,所述整合包括:将一棵时钟树连接的未被使用的时钟域通过至少一级跨时钟域的多路选择器接入所述其他时钟线网。进一步优选的,所述整合还包括:基于用户设计,将通用输入/输出I/O管脚输入的多个时钟信号通过至少一级跨时钟域的多路选择器接入所述其他时钟线网。进一步优选的,当将通用I/O管脚输入的两个或以上的时钟信号接入所述其他时钟线网时,使用至少两级跨时钟域的多路选择器实现。第二方面,本专利技术实施例提供了一种时钟树架构,用于实现上述第一方面所述的分配方法;所述时钟树架构包括:相互独立的N棵时钟树和至少一级跨时钟域的多路选择器。优选的,每一级所述跨时钟域的多路选择器包括一个或多个跨时钟域的多路选择器。进一步优选的,第一级跨时钟域的多路选择器的输入端连接一颗时钟树,输出端连接全部时钟域。进一步优选的,当只有一级所述跨时钟域的多路选择器时,所述第一级所述跨时钟域的多路选择器的输入端还连接通用输入/输出I/O管脚输入的多个时钟信号。进一步优选的,当有多级所述跨时钟域的多路选择器时,所述第一级所述跨时钟域的多路选择器的输入端还与除所述第一级之外的其它级跨时钟域的多路选择器提供的时钟信号相连接。本专利技术实施例提供的一种时钟树资源的分配方法,基于时钟线网的复杂度对时钟树的资源进行分配,将时钟树资源优先分配给复杂度高的时钟线网,之后再将时钟树剩余的未被使用的资源,通过跨时钟域的多路选择器进行整合,分配给其他复杂度相对简单的时钟线网。从而更加有效的利用时钟布线资源,优化时钟布线,提高时钟树的布通率,并有效控制保持时间违例。附图说明图1为本专利技术实施例提供的时钟树资源的分配方法示意图;图2为本专利技术实施例提供的时钟树架构图;图3为本专利技术实施例提供的时钟树资源的分配示意图之一;图4为本专利技术实施例提供的时钟树资源的分配示意图之二;图5为本专利技术实施例提供的一种时钟树架构。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。首先,本专利技术实施例提供了一种时钟树资源的分配方法,如图1所示,包括如下步骤:步骤110,基于用户设计,根据FPGA中各个时钟线网分布的时钟域数量和/或驱动的寄存器数量,确定所述各个时钟线网的复杂度;具体的,基于用户的设计,将FPGA分成很多模块,每个模块有各自的任务,也都需要由时钟来进行驱动。一般来说,FPGA设计都是同步时序电路,所以这些模块采用都是同步时钟信号,这样才能保证时序比较稳定。稳定的时序对于高速的数据处理是很重要的。FPGA的全局时钟是从晶振分出来的,最原始的频率。其他需要的各种频率都是在这个基础上利用锁相环(phase-lockedloop,PLL)或者其他分频手段得到的。因为全局时钟需要驱动很多模块,所以全局时钟引脚需要有很大的驱动能力,FPGA一般都有一些专门的引脚用于作为全局时钟用。根据用户设计,上述模块与时钟线网相连接,由时钟线网来驱动模块的时序逻辑。模块可以由多个寄存器组成,不同的模块往往工作在不同的频率下,因此可以将由相同频率的一个时钟信号负责的寄存器集合为一个时钟域。优选的,同一时钟域内寄存器的物理分布相接近。其中,每个时钟域可以连接到多个时钟线网。每个时钟线网可以分布的时钟域多少不一,每个时钟域的寄存器数量多少不一,都是依据用户设计而定。因此,可以根据FPGA用户设计的各个时钟线网分布的时钟域数量和/或驱动的寄存器数量,来确定各个时钟线网的复杂度。步骤120,将N棵时钟树的资源分别分配给复杂度最高的前N个的时钟线网使用;具体的,在FPGA中,时钟树结构已经被预先布好了,每棵所述时钟树与全部时钟域相连。具体可以如图2所示。FPGA时钟树架构包括4棵相互独立的时钟本文档来自技高网
...

【技术保护点】
一种时钟树资源的分配方法,其特征在于,所述分配方法包括:基于用户设计,根据FPGA中各个时钟线网分布的时钟域数量和/或驱动的寄存器数量,确定所述各个时钟线网的复杂度;将N棵时钟树的资源分别分配给复杂度最高的前N个的时钟线网使用;其中,N为自然数;每棵所述时钟树与全部时钟域相连;确定所述每棵时钟树剩余的未被使用的资源;利用跨时钟域的多路选择器整合所述未被使用的资源,分配给所述各个时钟线网中除所述复杂度最高的前N个的时钟线网之外的其它时钟线网使用。

【技术特征摘要】
1.一种时钟树资源的分配方法,其特征在于,所述分配方法包括:
基于用户设计,根据FPGA中各个时钟线网分布的时钟域数量和/或驱动
的寄存器数量,确定所述各个时钟线网的复杂度;
将N棵时钟树的资源分别分配给复杂度最高的前N个的时钟线网使用;
其中,N为自然数;每棵所述时钟树与全部时钟域相连;
确定所述每棵时钟树剩余的未被使用的资源;
利用跨时钟域的多路选择器整合所述未被使用的资源,分配给所述各个
时钟线网中除所述复杂度最高的前N个的时钟线网之外的其它时钟线网使用。
2.根据权利要求1所述的方法,其特征在于,所述整合包括:将一棵时
钟树连接的未被使用的时钟域通过至少一级跨时钟域的多路选择器接入所述
其他时钟线网。
3.根据权利要求2所述的方法,其特征在于,所述整合还包括:
基于用户设计,将通用输入/输出I/O管脚输入的多个时钟信号通过至少
一级跨时钟域的多路选择器接入所述其他时钟线网。
4.根据权利要求3所述的方法,其特征在于,当将通用I/O管脚输入的
两个或以上...

【专利技术属性】
技术研发人员:孙铁力徐静
申请(专利权)人:京微雅格北京科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1