对集成电路具有较高灵活性的时钟网络架构转让专利

申请号 : CN201380059936.5

文献号 : CN105051642B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 布莱恩·C·贾德史蒂芬·P·杨崔佛·J·包尔罗伯特·M·安德里斯迪尼许·D·盖腾德

申请人 : 吉林克斯公司

摘要 :

一种设备包含集成电路(200),所述集成电路具有在电路块(203)的阵列(202)中的时钟网络(600)。所述时钟网络包含布线轨迹(400,402,403)、分布主干(501,502)及时钟叶(601)。所述布线轨迹(400,402,403)及所述分布主干(501,502)是双向的。

权利要求 :

1.一种用于集成电路的设备,其包括:

在电路块的阵列中的时钟网络;

其中所述时钟网络包含布线轨迹,分布主干,时钟叶,和双向耦合器;

其中所述布线轨迹及所述分布主干是双向的;

其中所述分布主干包含水平分布主干及垂直分布主干;

其中所述布线轨迹包含水平布线轨迹及垂直布线轨迹,所述水平布线轨迹及所述垂直布线轨迹专用于时钟资源,以提供从时钟源到一个或多个水平及垂直分布主干的相交点的任一者的路线;

其中所述时钟叶与所述水平分布主干的水平片段相交;

其中所述双向耦合器的每一者包含:

第一三态缓冲器,其具有耦合到所述垂直布线轨迹中的一个垂直布线轨迹的输入,及耦合到所述水平布线轨迹中的一个水平布线轨迹的输出;及第二三态缓冲器,其具有耦合到所述第一三态缓冲器的所述输出的输入,所述第二三态缓冲器具有耦合到所述第一三态缓冲器的所述输入的输出,所述第一三态缓冲器和所述第二三态缓冲器组合作为三态缓冲器;

其中用于所述三态缓冲器的每一者的控制信号经编程以将所述三态缓冲器置于缓冲状态或高阻抗状态;

其中当所述第一三态缓冲器处于缓冲条件且所述第二三态缓冲器处于三态条件时,在所述垂直布线轨迹中的所述一个垂直布线轨迹上的时钟信号通过所述第一三态缓冲器被传递到所述水平布线轨迹中的所述一个水平布线轨迹;

其中当所述第一三态缓冲器处于三态条件且所述第二三态缓冲器处于缓冲条件时,在所述一个水平布线轨迹上的时钟信号通过所述第二三态缓冲器被传递到所述一个垂直布线轨迹。

2.根据权利要求1所述的设备,其中所述布线轨迹及所述分布主干在所述电路块的边界处分段。

3.根据权利要求1所述的设备,其中:

所述布线轨迹包含水平及垂直布线轨迹;且所述垂直分布主干包含分别耦合到所述水平分布主干的可选择延迟。

4.根据权利要求1所述的设备,其中:

一组所述叶耦合到所述电路块中的一电路块内的所述分布主干中的一水平分布主干,用于将时钟信号从所述水平分布主干提供到所述组所述叶;且互连单元片经配置用于进行局部门控,以用于将所述时钟信号提供到所述组所述叶而不经过所述水平分布主干。

5.根据权利要求1所述的设备,其中所述分布主干的相交点提供一池时钟根。

6.根据权利要求1所述的设备,其中:

所述电路块为可编程资源构造子区,且

所述电路块经配置以被耦合到输入/输出块及多千兆位收发器块。

7.根据权利要求6所述的设备,其中:

所述分布主干的相交点提供一池时钟根;且所述分布主干的所述相交点位于所述可编程资源的构造子区中。

8.根据权利要求1所述的设备,其进一步包括:与所述分布主干相关联的延迟;

其中所述延迟可选择性地用于提供渐变延迟。

9.根据权利要求1所述的设备,其进一步包括:与所述时钟叶相关联的延迟;

其中所述延迟可选择性地用于扩展在所述电路块中的邻近者之间的偏斜不连续性。

10.根据权利要求1所述的设备,其中所述分布主干对于时钟树的在所述时钟叶之前的一部分为可分段且为双向的。

11.根据权利要求1所述的设备,其中所述分布主干经耦合用于低偏斜时钟网络或低注入时钟网络。

12.一种多裸片系统,其包括:

第一集成电路裸片,其配置方式如同权利要求1所述的集成电路裸片,用于具有第一时钟布线资源的第一网络,其配置方式如同时钟布线资源的网络;

所述第一时钟布线资源的第一布线轨迹,其将所述第一集成电路裸片的时钟源耦合到所述第一时钟布线资源的第二布线轨迹;

第二集成电路裸片,其配置方式如同权利要求1所述的集成电路裸片,用于具有第二时钟布线资源的第二网络,其配置方式如同时钟布线资源的网络;

所述第二时钟布线资源的第三布线轨迹,其耦合到所述第二布线轨迹;

电路设计的第一根,其经由所述第一布线轨迹及所述第二布线轨迹耦合到所述时钟源;以及所述电路设计的第二根,其经由所述第一布线轨迹、所述第二布线轨迹及所述第三布线轨迹耦合到所述时钟源;

其中所述第一根位于所述第一集成电路裸片上;且其中所述第二根位于所述第二集成电路裸片上。

13.根据权利要求12所述的多裸片系统,其中:所述第一根位于所述第二布线轨迹与所述第一时钟布线资源的第一分布主干中的一第一分布主干的相交点处;且所述第二根位于所述第三布线轨迹与所述第二时钟布线资源的第二分布主干中的一第二分布主干的相交点处。

14.根据权利要求13所述的多裸片系统,其中所述第一分布主干与所述第二分布主干都不经耦合,以用于所述第一集成电路裸片与所述第二集成电路裸片之间的裸片到裸片布线。

说明书 :

对集成电路具有较高灵活性的时钟网络架构

技术领域

[0001] 本发明涉及集成电路装置(“IC”)。更确切地说,本发明涉及用于IC时钟网络的架构。

背景技术

[0002] 例如现场可编程门阵列(“FGPA”)等可编程逻辑装置(“PLD”)的时钟网络已使用地区性及全球时钟。常规上,此类地区性时钟仅从此类PLD的“边缘”驱动,且此类全球时钟仅从此类PLD的中心驱动。此类型的时钟网络架构相当不灵活。然而,随着PLD变大,时钟偏斜及/或时钟延迟以及增大的时序不确定性越加成为问题,且此类不灵活性使得解决这些问题中的一者或多者越加成为问题。因此,提供具有较大灵活性以减少这些问题中的一者或多者的IC合乎需要且有用。

发明内容

[0003] 一种设备包含集成电路,所述集成电路具有在电路块阵列中的时钟网络。所述时钟网络包含布线轨迹、分布主干及时钟叶。所述布线轨迹及所述分布主干是双向的。
[0004] 在此类设备中,以下各者中的一或多者可为真。所述布线轨迹及所述分布主干可在所述电路块的边界处分段。所述布线轨迹可包含水平及垂直布线轨迹。所述分布主干可包含水平及垂直分布主干。所述垂直分布主干可包含分别耦合到所述水平分布主干的可选择延迟。一组所述叶可耦合到所述电路块中的一电路块内的所述分布主干中的一水平分布主干,用于将时钟信号从所述水平分布主干提供到所述组所述叶;且互连单元片(interconnect tile)可经配置用于进行局部门控,以用于将所述时钟信号提供到所述组所述叶而不经过所述水平分布主干。所述分布主干的相交点可提供一池时钟根(clock root)。所述电路块可为可编程资源构造子区,且所述电路块可经配置以耦合到输入/输出块及多千兆位收发器块。所述分布主干的所述相交点可位于所述可编程资源构造子区中。所述设备可包含与所述分布主干相关联的延迟,其中所述延迟可选择性地用于提供渐变延迟。所述设备可包含与所述时钟叶相关联的延迟,其中所述延迟可选择性地用于扩展在所述电路块中的邻近者之间的偏斜不连续性。所述分布主干对于时钟树的在所述时钟叶之前的一部分可为可分段且为双向的。所述分布主干可经耦合用于低偏斜时钟网络或低注入时钟网络。
[0005] 还揭示一种包含如上文所描述的第一以及第二集成电路裸片的多裸片系统。所述第一集成电路裸片具有第一时钟布线资源的第一网络,所述第一时钟布线资源中的第一布线轨迹将所述第一集成电路裸片的时钟源耦合到所述第一时钟布线资源中的第二布线轨迹。所述第二集成电路裸片具有第二时钟布线资源的第二网络。所述第二时钟布线资源中的第三布线轨迹耦合到所述第二布线轨迹。电路设计的第一根经由所述第一布线轨迹及所述第二布线轨迹耦合到所述时钟源。所述电路设计的第二根经由所述第一布线轨迹、所述第二布线轨迹及所述第三布线轨迹耦合到所述时钟源。所述第一根位于所述第一集成电路裸片上,且所述第二根位于所述第二集成电路裸片上。
[0006] 在此类多裸片系统中,以下各者中的一或多者可为真。所述第一根可位于所述第二布线轨迹与所述第一时钟布线资源的第一分布主干中的一第一分布主干的相交点处。所述第二根可位于所述第三布线轨迹与所述第二时钟布线资源的第二分布主干中的一第二分布主干的相交点处。在一些系统中,所述第一分布主干与所述第二分布主干都不经耦合,以用于所述第一集成电路裸片与所述第二集成电路裸片之间的裸片到裸片布线。
[0007] 在另一设备中,集成电路裸片具有时钟布线资源网络及时钟源。电路设计具有时钟域的根。所述时钟布线资源的布线轨迹耦合所述时钟源与所述根。所述时钟布线资源的第一分布主干耦合到所述布线轨迹。所述时钟布线资源的第二分布主干耦合所述第一分布主干与所述时钟源。所述第二分布提供用于时钟信号的反馈路径。
[0008] 在又一设备中,第一集成电路裸片具有第一时钟布线资源的第一网络。所述第一时钟布线资源的第一布线轨迹将所述第一集成电路裸片的时钟源耦合到所述第一时钟布线资源的第二布线轨迹。第二集成电路裸片具有第二时钟布线资源的第二网络。所述第二时钟布线资源的第三布线轨迹耦合到所述第二布线轨迹。第一根经由所述第一布线轨迹及所述第二布线轨迹耦合到所述时钟源。第二根经由所述第一布线轨迹、所述第二布线轨迹及所述第三布线轨迹耦合到所述时钟源。所述第一根位于所述第一集成电路裸片上。所述第二根位于所述第二集成电路裸片上。

附图说明

[0009] 附图展示示范性块及电路图。然而,附图不应限制所展示的实例,而是仅用于解释及理解。
[0010] 图1为描绘示例性柱状现场可编程门阵列架构的简化框图。
[0011] 图2是描绘示范性集成电路的框图。
[0012] 图3为图2的框图,其中描绘体现于构造子区(FSR)的子组中的示范性电路。
[0013] 图4为图3的框图,其中描绘从时钟源到根的示范性路线。
[0014] 图5为图4的框图,其中描绘用于电路云的示范性垂直及水平分布主干。
[0015] 图6为图5框的框图,其中描绘时钟网络的示范性时钟叶。
[0016] 图7为描绘用于图2的集成电路的示范性时钟布线阶层的框图。
[0017] 图8-1及8-2为描绘FSR阵列的相应示范性部分的块/电路图。
[0018] 图9到20为根据图1到8-2对多裸片系统的以上描述而描绘相应示范性时钟网络的框图。
[0019] 图21-1及21-2(在本文中一起称为“图21”)为描绘用于FSR的示范性时钟网络的电路/框图。
[0020] 图22为描绘时钟网络的示范性“叶”的电路/框图。
[0021] 图23为描绘FSR的示范性部分的框图。
[0022] 图24为描绘互连单元片的示范性部分的电路图。

具体实施方式

[0023] 在以下描述中,阐述众多特定细节以提供对特定实例的更彻底描述。然而,所属领域的技术人员应显而易见,可在没有以下给出的所有特定细节的情况下实践一或多个实例。在其它情况下,未详细描述众所周知的特征,以免混淆一或多个实例。为了便于说明,在不同的图中使用相同的数字标记以指代相同的项目;然而,所述项目在替代实施例中可为不同的。
[0024] 在描述若干图中的说明性地描绘的实例之前,提供总体介绍以有助于进一步的理解。
[0025] 如先前所描述,先前时钟网络架构使用地区性及全球时钟的专用网络。地区性时钟受限于从PLD可编程资源阵列的外部边缘进行驱动,且全球时钟受限于从此类阵列的中心进行驱动。
[0026] 在记得以上一般理解的情况下,下文描述不同示范性时钟网络架构。如下文所描述,地区性及全球定时功能性已经组合以允许用户从一池时钟资源中选择,以使时钟网络适于体现在可编程资源中的电路设计。此允许体现在可编程资源中的电路设计更紧密地类似于应用特定电路。换句话说,举例来说,根无需处于集成电路裸片的中心或此类集成电路裸片的电路资源布局的中心或特定针对于集成电路裸片的任何其它此类中心地点处,但可相对于体现在可编程资源中的电路设计进行定位。
[0027] 更确切地说,用户可相对于此类时钟资源池选择将时钟分布网络的根放置的地点。此允许将根放置在体现于集成电路中的电路设计内的几乎任何地方,且因此不受集成电路自身的根地点的束缚。一般来说,时钟分布网络的根可放置在时钟网络内的任何地方,如下文更详细地描述。为提供此类放置,提供分段且经缓冲的时钟轨迹。时钟分布主干的任选延迟元件可用以至少大致上使时钟偏斜(“偏斜”)调零或均衡。为减小邻近时钟片段之间的偏斜,任选延迟元件可用以减轻或避免保持时序(“保持”)问题。
[0028] 因为所描述电路中的一者或多者是使用特定类型的IC来例示,因此下文提供此类IC的详细描述。然而,应理解,具有可编程资源阵列的其它类型的IC可得益于本文所述的实例中的一或多者。
[0029] 可编程逻辑装置(“PLD”)为一种周知的集成电路,其可经编程以执行指定逻辑功能。一种类型PLD,现场可编程门阵列(“FPGA”),通常包含可编程单元片阵列。这些可编程单元片可包含例如输入/输出块(“IOB”)、可配置逻辑块(“CLB”)、专用随机存取存储器块(“BRAM”)、乘法器、数字信号处理块(“DSP”)、处理器、时钟管理器、延迟锁定环路(“DLL”)等。如本文所使用,“包含”意指包含但不限于。
[0030] 每一可编程单元片通常包含可编程互连件及可编程逻辑两者。可编程互连件通常包含由可编程互连点(“PIP”)互连的具有不同长度的大量互连线。可编程逻辑使用可编程元件实施用户设计的逻辑,所述可编程元件可包含例如函数产生器、寄存器、算术逻辑,等。
[0031] 可编程互连件及可编程逻辑通常通过将定义如何配置可编程元件的配置数据流加载到内部配置存储器单元中而编程。配置数据可通过外部装置从存储器(例如,从外部PROM)读取或写入到FPGA中。个别存储器单元的集体状态接着确定FPGA的功能。
[0032] 另一种类型的PLD为复合可编程逻辑装置或CPLD。CPLD包含通过互连切换矩阵连接在一起且连接到输入/输出(“I/O”)资源的两个或两个以上“功能块”。CPLD的每一功能块包含类似于用于可编程逻辑阵列(“PLA”)及可编程阵列逻辑(“PAL”)装置中的两层级及/或结构。在CPLD中,配置数据通常以芯片上方式存储于非易失性存储器中。在一些CPLD中,配置数据以芯片上方式存储于非易失性存储器中,接着作为初始配置(编程)序列的部分下载到易失性存储器。
[0033] 对于所有这些可编程逻辑装置(“PLD”),装置的功能性由为所述目的而提供到装置的数据位控制。所述数据位可存储于易失性存储器(例如,静态存储器单元,如在FPGA及一些CPLD中)、非易失性存储器(例如,快闪存储器,如在一些CPLD中)或任何其它类型的记忆体单元中。
[0034] 其它PLD通过应用处理层(例如金属层)来进行编程,所述处理层以可编程方式互连装置上的不同元件。这些PLD被称为掩模可编程装置。PLD还可以其它方式实施,例如使用熔断或反熔技术。术语“PLD”及“可编程逻辑装置”包括但不限于这些示范性装置,以及包括仅部分地可编程的装置。举例来说,一种类型的PLD包含硬译码晶体管逻辑与以可编程方式互连硬译码晶体管逻辑的可编程开关构造的组合。
[0035] 如上文所示,高级的FPGA可在阵列中包含几个不同类型的可编程逻辑块。举例来说,图1说明包含大量不同可编程单元片的FPGA架构100,所述可编程单元片包含多千兆位收发器(“MGT”)101、可配置逻辑块(“CLB”)102、随机存取存储器块(“BRAM”)103、输入/输出块(“IOB”)104、配置与定时逻辑(“CONFIG/CLOCK”)105、数字信号处理块(“DSP”)106、专用输入/输出块(“I/O”)107(例如,配置端口及时钟端口)以及其它可编程逻辑108,例如,数字时钟管理器、模数转换器、系统监控逻辑等。一些FPGA还包含专用处理器块(“PROC”)110。
[0036] 在一些FPGA中,每个可编程单元片包含规范化地连接到并连接自每个相邻单元片中的对应互连元件的可编程互连元件(“INT”)111。因此,可编程互连元件结合在一起实施用于所示出的FPGA的可编程互连结构。可编程互连元件111还包含到及自同一单元片内的可编程逻辑元件的连接,如图1的顶部处所包含的实例所示。
[0037] 举例来说,CLB 102可包含可经编程以实施用户逻辑的可配置逻辑元件(“CLE”)112,外加单个可编程互连元件(“INT”)111。除一或多个可编程互连元件之外,BRAM103还可包含BRAM逻辑元件(“BRL”)113。通常,包含在单元片中的互连元件的数目取决于所述单元片的高度。在描绘的实例中,BRAM单元片具有与五个CLB相同的高度,但也可使用其他数目(例如,四个)。除适当数目的可编程互连元件之外,DSP单元片106还可包含DSP逻辑元件(“DSPL”)114。除可编程互连元件111的一个实例之外,IOB 104还可包含,例如,输入/输出逻辑元件(IOL)115的两个实例。如所属领域的技术人员将清楚的,连接到例如I/O逻辑元件
115的实际I/O衬垫通常不限制于输入/输出逻辑元件115的区域。
[0038] 在所描绘的实例中,(图1中所示的)裸片的中心附近的水平区域用于配置、时钟以及其它控制逻辑。从此水平区域或列延伸的垂直列109用于横跨FPGA的宽度来分配时钟和配置信号。
[0039] 一些利用图1中所说明的架构的FPGA包含额外的逻辑块,所述逻辑块破坏组成FPGA的较大部分的规则柱状结构。所述额外的逻辑块可为可编程块及/或专用逻辑。举例来说,处理器块110跨越了若干列CLB及BRAM。
[0040] 应注意,图1仅意图说明示范性FPGA架构。举例来说,行中的逻辑块的数目、行的相对宽度、行的数目与顺序、包含在行中的逻辑块的类型、所述逻辑块的相对尺寸,以及包含在图1顶部的互连/逻辑实施方案纯粹是示范性的。举例来说,在实际的FPGA中,CLB的一个以上相邻行通常包含在CLB出现处,以促进用户逻辑的有效实施,但相邻CLB行的数目随FPGA总体尺寸的变化而变化。
[0041] 图2为描绘示范性集成电路200的框图。此类集成电路200可为图1的FPGA 100或具有可编程逻辑资源阵列的其它集成电路,如下文更详细地描述。
[0042] 集成电路200包含可编程资源的N乘M阵列202。可编程资源可包含CLB、可编程逻辑阵列块(“LAB”)或其它形式的构造子区(“FSR”)203。每一FSR 203可具有大致相同的高度及宽度,且可包含一组相同的电路资源,即FSR 203可彼此重复。
[0043] FSR 203的此类阵列202可用托架安装于千兆位收发器(“GT”)205的阵列201的顶部及底部,且可用托架安装于IOB 206的阵列204的右方及左方,且反之亦然。阵列201及204可形成集成电路200的部分。IOB 206可例如为图1的IOB 104,且GT 205可为图1的MGT 101。即使说明性地描绘了阵列201、202及204上特定大小,但可对此类阵列使用这些或其它大小。
[0044] 图3为图2的框图,其大体描绘体现于FSR 203的子组中的电路(“电路云”)300。电路云300可为任意形状的逻辑云或电路设计。此外,IOB 206大体描绘时钟源节点(“时钟源”)301。可识别电路云300连同时钟源301的时钟加载地点。通过识别电路云300的时钟加载地点,时钟网络根(“根”)401可位于此类电路云300的时钟分布网络的中心附近。如大体由星形指示,根401可在电路云300的边界内。
[0045] 阵列202可具有时钟网络,例如包含时钟叶及时钟轨迹的时钟网络600。存在两种类型的时钟轨迹,即水平及垂直时钟分布主干(“分布主干”)与水平及垂直时钟布线轨迹(“布线轨迹”)。
[0046] 参考图4,展示图3的框图,其描绘从时钟源301到根401的示范性路线400。路线400可由一或多个垂直布线轨迹402及/或一或多个水平布线轨迹403组成,且路线400可称为布线轨迹400。在一实例中,布线轨迹402及403在FSR 203的边界处分段,且此类布线轨迹402及403是双向的。在此实例中,由于路线400在水平方向上延伸到四个FSR 203且在垂直方向上延伸到两个FSR 203,因此四个水平布线轨迹片段可用以提供布线轨迹402,且两个垂直布线轨迹片段可用以提供布线轨迹403。在其它实施例中,不同数目的布线轨迹片段可用以提供从时钟源到时钟网络根的路线。
[0047] 布线轨迹402及403是专用时钟资源,其可用以提供从时钟源301到任何一或多个水平及垂直分布主干502相交点的路线400。在一个实例中,每FSR 203存在两个此类主干相交点。然而,在其它实施例中,每FSR 203可提供少于或多于两个主干相交点。
[0048] 概括地说,例如布线轨迹402及/或403等布线轨迹可用以使用一或多个专用时钟资源将时钟信号路由到例如电路云300等电路设计的分布时钟网络根,例如根401。一般来说,电路设计的时钟网络根为时钟从最接近的共同节点的角度发散的地点。通过能够从时钟源301路由到电路云300的根401,用于任意数目及任意形状的逻辑云的时钟网络可具有一般“定中心”于此类逻辑云的此类时钟网络的时钟节点。能够提供到根401的布线促进减小偏斜,且允许时钟分布网络内的偏斜经均衡、减小或调零。举例来说,通过能够在中心定位时钟信号从其发散到时钟网络的其它部分的共同时钟根节点,此类时钟信号在此类时钟网络中的此类传播的最大延迟量可得以减小。
[0049] 即使节点可用以大体指示布线轨迹、分布主干与叶的相交点,但此类相交点在直接金属相交点的意义上不必为结点,但可确切地说涉及用于选择性耦合两个金属或其它导电线的电路,如下文更详细地描述。此外,即使使用连续线来大体指示布线轨迹及分布主干,但此类布线轨迹及分布主干可分别由通过电路耦合到彼此的布线轨迹及/或分布主干的片段形成,如下文更详细地描述。
[0050] 通过使布线轨迹从分布主干分离,布线轨迹可对偏斜较不敏感。举例来说,可使用较薄且较窄的金属线形成布线轨迹以便在布局中使用较少空间。此外,通过使布线轨迹从分布主干分离,可简化软件放置算法,因为此类软件放置算法可以布线/分布对处理此类资源。然而,在另一实施例中,相同资源类型可用于布线轨迹及分布主干两者,即用于这些功能两者。
[0051] 时钟域或时钟分布子网的根可为经选择以满足电路云的参数的虚拟点。此类根可为此类时钟分布子网从其成扇形散开的中心地点。因此,根的最坏情况可为时钟树或时钟分布子网中的任何两个路径的最接近的共同节点。一或多个布线轨迹可从时钟源节点延伸到分布主干的一或多个相交点。可确定电路云的根地点以减小或最小化时钟偏斜。举例来说,根地点可确定为用于最小化时钟偏斜的最佳地点。一或多个布线轨迹可用以将时钟源路由到电路云的时钟网络根,以用于与至少一个分布主干相交点相交。布线轨迹为用以将时钟源路由到根的专用时钟轨迹,且分布主干为低偏斜时钟资源以将时钟信号从根经由叶而分布到时钟负载。沿着那些线,多个时钟源节点可使用从此类时钟源节点延伸到此类相交点的多个布线轨迹而耦合到分布主干的多个相交点。
[0052] 参考图5,展示图4的框图,其描绘用于电路云300的示范性垂直及水平分布主干。到根401的路线400与垂直分布主干501相交。换句话说,从根401,时钟信号可使用垂直分布主干501垂直地分布。在图5的实例中,垂直分布主干501延伸穿过四个邻近FSR 203。有效地,对于此实例,存在用以提供垂直分布主干501的四个垂直分布主干片段,因为电路云300在垂直方向上延伸到四个FSR。沿着那些线,一或多个垂直分布主干片段可用以提供垂直分布主干。水平及垂直的分布主干都在FSR 203的边界处分段。此外,分布主干是双向的,如下文更详细地描述。
[0053] 在所描绘实例中,四个水平分布主干502-1到502-4(“分布主干502”)与垂直分布主干501相交。其它实施例中可使用更少或更多的水平分布主干502。分布主干502-1由对应于FSR 203的三个水平分布主干片段形成,电路云300的对应部分延伸到所述片段中;分布主干502-2由对应于FSR 203的四个水平分布主干片段形成,电路云300的对应部分延伸到所述片段中;分布主干502-3由对应于FSR 203的五个水平分布主干片段形成,电路云300的对应部分延伸到所述片段中;且分布主干502-4由对应于FSR 203的四个水平分布主干片段形成,电路云300的对应部分延伸到所述片段中。
[0054] 为最小化或减小时钟信号使用垂直分布主干501进行分布时的垂直偏斜,可使用任选延迟511。此类延迟可以编程方式设定以便从与垂直分布主干相交的水平分布主干(即,在此实例中,与垂直分布主干501相交的水平分布主干502)的角度均衡垂直延迟。在此示范性结构中,存在水平分布主干502与垂直主干501的四个相交点401,且这四个相交点401中的一者为根(“根401”),如用星形指示。根401具有经添加以便至少试图将垂直偏斜调零的最大延迟。最接近根401的相交点401具有次大的所添加延迟量,以此类推,其中距根
401最远的相交点401具有最少所添加延迟量。换句话说,水平分布主干502-2具有最大所添加延迟量,其中与水平分布主干502-2相关联的延迟511具有等于二的单位间隔延迟;水平分布主干502-1及502-3具有次大所添加延迟量,其中与此类水平分布主干相关联的延迟
511具有等于一的单位间隔延迟;且水平分布主干502-4具有最少所添加延迟量,其中与水平分布主干502-4相关联的延迟511具有等于零的单位间隔延迟,即不添加延迟。一般来说,延迟可添加在根处,且在离开此类根的任何方向上的一或多个随后相交节点处逐渐减小。
[0055] 垂直分布主干501的垂直片段的部分505可延伸超出电路云300的时钟域周界504。同样,水平分布主干502的水平片段的部分503可延伸超出电路云300的周界504。
[0056] 图6为图5的框图,其描绘时钟网络的示范性时钟叶(“叶”)601。叶601与水平分布主干502的水平片段相交。FSR 203内的一些叶601的部分可延伸到电路云300的周界504外部。同样,一些叶601全部可在电路云300的周界504外部,即使电路云300占用FSR 203的一部分(在周界504外部的此类叶601位于此处)。叶601位于FSR203内,且经分段或以此类FSR 203的边界定界。
[0057] 概括地说,时钟源可路由到电路云的时钟网络根,其使用一或多个布线轨迹在水平或垂直方向中的任一者或两者上横跨一或多个FSR。此类时钟源可在芯片上或芯片外,且此类时钟源可用于将时钟信号提供到IOB或千兆位收发器(“GT”)或从IOB或千兆位收发器提供时钟信号。此外,单元片(例如单元片的列)可用于从一个裸片路由到另一裸片,且时钟分布的根可存在于任何分布主干相交点处。确切地说,根可特定针对于由用户使用此类集成电路裸片的可编程资源体现的电路云。此提供使时钟分布适于电路云的能力的显著增大。另外,用以路由此类根的资源可为专用时钟资源,例如布线轨迹,其不限于特定针对于集成电路裸片的中心地点。此外,局部互连件可用以将时钟信号路由到例如布线轨迹及/或分布主干等时钟网络的专用时钟资源上。通过提供专用时钟资源,例如布线轨迹,可体现到时钟分布网络中心或到电路云的时钟域的中心地点的低偏斜路线。然而,用户可能想要尽可能直接地获得时钟负载,例如寄存器,且因此对于低注入延迟布线,可跳过或绕过布线轨迹以直接从时钟源到达一或多个分布主干。
[0058] 概括地说,布线轨迹耦合到水平与垂直分布主干的相交点。此类垂直分布主干不限于特定针对于集成电路裸片的中心地点,而分布于整个可编程资源阵列中以促进根的地点变化。此外,垂直及水平分布主干是双向的。迄今为止,时钟信号路由到特定针对于集成电路裸片的中心地点且接着单向地路由离开此类中心地点。然而,由于根可位于可编程资源阵列内的多种地点或更明确来说此类可编程资源阵列内的时钟网络,因此垂直及水平分布主干的双向能力允许根的此类地点多样性。换句话说,对于使用此类集成电路裸片的可编程资源体现的所有电路云,不能通过集成电路裸片布局先验地确定时钟根将位于何处。确切地说,例如,垂直分布主干可响应于电路云的实例化而选自多个垂直分布主干当中。从垂直分布主干上的根,时钟信号可路由到一或多个水平分布主干且沿着此类垂直分布主干离开此类根,且从水平分布主干,时钟信号可路由到一或多个叶以到达电路云内的时钟负载。
[0059] 图7为描绘用于图2的上述集成电路200的示范性时钟布线阶层700的框图。时钟布线阶层700包含时钟源710及时钟网络资源711。时钟源710包含一池收发器与接收器源701、一池I/O与内部时钟源702,及一池局部互连源703。时钟网络资源711包含一池时钟布线轨迹400,包含但不限于水平及垂直时钟布线轨迹400、垂直分布主干501、水平分布主干502、叶601及用于一或多个根的相交点401。如先前所描述,从时钟布线轨迹400,时钟信号可传递到可为根401的相交点,如大体由箭头731所指示。从根401,此类时钟信号可传递到一或多个垂直分布主干501,如大体由箭头732所指示。从垂直分布主干501,时钟信号可传递到一或多个水平分布主干502,如大体由箭头733所指示。最后,从水平分布主干502,时钟信号可传递到一或多个叶601,如大体由箭头734所指示。
[0060] 从一池收发器与接收器源701、一池I/O与内部时钟源702或一池局部互连源703,如大体由箭头722所指示,时钟信号可使用一或多个资源从一池时钟布线轨迹400直接传递。内部时钟源702可包含PLL、DLL或其它内部时钟源。
[0061] 从一池收发器与接收器源701、一池I/O与内部时钟源702或一池局部互连源703,如大体由箭头721所指示,时钟信号可使用局部互连件直接传递到至少一个根401,或可使用来自一池时钟布线轨迹400的一或多个资源间接传递到至少一个根401,如大体由从所述池时钟布线轨迹400到至少一个根401的箭头722及箭头731所指示。
[0062] 从一池I/O与内部时钟源702或一池局部互连源703,如大体由箭头723所指示,时钟信号可使用来自一池水平分布主干502的一或多个资源直接传递。从一池局部互连源703,如大体由箭头724所指示,时钟信号可使用来自一池叶601的一或多个资源直接传递。
[0063] 图8-1为描绘FSR 203的阵列202的示范性部分的框图/电路图。对于FSR 203,说明性地描绘左方部分203-2与右方部分203-1。沿着那些线,应理解,FSR 203具有可用以从右向左或从左向右驱动时钟信号的水平分布主干502。从垂直分布主干或片段501与水平分布主干或片段502的根或相交点401,时钟信号可提供到任选延迟511。延迟511为可编程的,且因此可在进入或退出电路时选择。然而,此类延迟511的延迟可为由反相器链提供的“固定”延迟。延迟511的输出可分别耦合到缓冲器801的输入,且缓冲器801的输出可将时钟信号驱动到水平分布主干502上。尽管此实例对于每一水平分布主干502展示一对延迟511及一对缓冲器801,但在另一个实例中,可对于每一水平分布主干502使用单一延迟511及单一缓冲器801,如在描绘FSR 203的阵列202的示范性部分的图8-2的框图/电路图中所说明性地描绘。
[0064] 通过对于延迟511使用多分接任选反相器链,可形成虚拟零延迟垂直主干501。通过对较接近于根401的节点逐渐地添加较大延迟,可针对每一水平分布主干大体在约150皮秒内使延迟均衡。反相器链可能例如归因于工艺-电压-温度变化上的金属与晶体管延迟而不完全彼此匹配,且因此可能存在垂直分布主干501的一些延迟变化。然而,可获得垂直偏斜的减小,所述减小对于距根节点401较远的节点401可能更为显著。
[0065] 图9到14为根据图1到8-2对多裸片系统900的以上描述而描绘相应示范性时钟网络的框图。在下文同时参考图1到14来描述图9到14。因此,低偏斜时钟替代全球时钟,且低注入时钟替代地区性时钟。尽管提供低偏斜时钟及低注入时钟的特定实例,但此类型的时钟可组合于时钟网络中。参考低注入时钟,通过将源直接布线到时钟分布主干且绕过任何时钟布线轨迹,可提供低注入延迟时钟,其例如可用于I/O到构造通信。
[0066] 集成电路裸片910包含一列I/O组902、分别与I/O组902相关联的一列定时块903、数列FSR 203及位于FSR 203列之间的PCIe/配置块(“PCIe块”)列904。FSR 203的列与PCIe块列904两者皆为集成电路裸片910的构造阵列914的部分。在一个实例中,单独GT裸片901可经由内插物(此处未展示)耦合到集成电路裸片910。
[0067] 对于图9的时钟网络,I/O组902的时钟源905直接耦合到时钟域906的水平分布主干502。时钟域906从此类I/O组902延伸到对应定时块903及邻近FSR 203。时钟域906用于低注入地区性I/O时钟。对于低注入时钟,一般不使用布线轨迹400。
[0068] 对于图10的时钟网络,I/O组902的时钟源905直接耦合到时钟域1006的水平分布主干502。时钟域1006用于低注入地区性I/O时钟。时钟域1006包含三个垂直子区及三个水平子区。从此类I/O组902到对应定时块903以及两个邻近FSR 203及PCIe块904,使用水平分布主干502。一列定时块903中的垂直分布主干501用以使时钟域向上及向下延伸一行到那些行中的对应水平分布主干502。
[0069] 对于图11的时钟网络,I/O组902的时钟源905直接耦合到时钟域1106的水平分布主干502。时钟域1106用于来自I/O组902的低偏斜时钟。时钟域1106包含三个垂直子区及四个水平子区。从此类I/O组902到对应定时块903及两个邻近FSR 203,使用到布线轨迹400。为了清楚起见而将处于从左方起第二FSR列中的根401指示为两个单独节点,但这些节点为相同节点。根401处于垂直分布主干501与水平分布主干502的相交点处。此类FSR 203的列中的垂直分布主干501用以使时钟域向上及向下延伸一行到那些行中的对应水平分布主干
502。
[0070] 对于图12的时钟网络,GT裸片901的时钟源905耦合到用于时钟域1206的集成电路裸片910的垂直分布主干501。时钟域1206用于来自GT裸片901的GT的低注入GT地区性时钟。时钟域1206包含三个垂直子区及一个水平子区。从GT裸片901的GT,时钟信号使用到一列FSR 203的垂直分布主干501传递到集成电路裸片910。三个邻近FSR 203连同与此类垂直分布主干501相交的三个对应水平分布主干502用于此实例。假定对于用户时钟路径的内部参考时钟且假定不使用垂直分布主干501上的任选延迟,在GT裸片901与集成电路裸片901的可编程资源构造之间可存在足够低的时延以避免使用返回用户时钟来传送数据。
[0071] 用以提供垂直分布主干501的垂直分布片段的裸片到裸片互连可通过构造阵列914的最外行中的资源来提供。因此,在IC阵列的整个宽度上,可使用裸片到裸片互连,其允许裸片对来自所耦合的FPGA裸片的时钟有较大局部存取。因此,可提供特定裸片外互连件以用于与另一裸片介接。内插物(此处未展示)或电路板(未展示)可用于布线此类互连件。
[0072] 对于图13的时钟网络,GT裸片901的时钟源905耦合到用于时钟域1306的集成电路裸片910的垂直分布主干501。时钟域1306用于来自GT裸片901的GT的低注入、多区域GT时钟。时钟域1306包含两个垂直子区及四个水平子区。从GT裸片901的GT,时钟信号使用到一列FSR 203的垂直分布主干501以被传递到集成电路裸片910。两个邻近FSR 203连同与此类垂直分布主干501相交的两个对应水平分布主干502用于此实例。此类水平分布主干502向左方延伸到一列FSR 203且向右方延伸到两列(即PCIe/配置块列904及FSR 203列)。
[0073] 对于图14的时钟网络,GT裸片901的时钟源905耦合到用于时钟域1406的集成电路裸片910的垂直分布主干501。时钟域1406用于来自GT裸片901的GT的低偏斜时钟。时钟域1406具有与如先前所描述的全球时钟相同的拓扑。时钟域1306包含三个垂直子区及四个水平子区。从GT裸片901到两个邻近FSR 203,使用到布线轨迹400。为了清楚起见将处于从左方起第二FSR列中的根401指示为两个单独节点,但这些节点为相同节点。根401处于垂直分布主干501与水平分布主干502的相交点处。此类FSR203列中的垂直分布主干501可用以使时钟域向上及向下延伸一行到那些行中的对应水平分布主干502。
[0074] 图15到20为根据图1到8-2对多裸片系统1500的以上描述来描绘相应示范性时钟网络的框图。在下文同时参考图1到20来描述图15到20。
[0075] 参考图15,多裸片系统1500包含耦合到内插物1510的两个集成电路裸片910及两个GT裸片901。顶部集成电路裸片910的定时块903中的时钟源905耦合到用于耦合到根401的布线轨迹400。根401耦合到向上延伸到上部集成电路裸片910的最上行FSR203且向下延伸到下部集成电路裸片910的最下行FSR 203的垂直分布主干501。用以提供垂直分布主干501的垂直分布片段的裸片到裸片互连可由构造阵列914的最外行中的资源提供。因此,可提供特定裸片外互连件用于与另一裸片介接。内插物1510可用于布线此类互连件。
[0076] 与垂直分布主干501相交的两个集成电路裸片910的水平分布主干502用以将时钟信号传播到其它FSR 203及PCIe块904。时钟域1506因此横跨两个集成电路裸片910的构造阵列914。
[0077] 参考图16,说明性地描绘四个不同的时钟网络拓扑。此类拓扑用于高扇出互连,其中使用互连时钟。在一拓扑中,时钟源905-4使用局部互连布线耦合到叶601。在此类拓扑中,时钟源905-4、叶601及局部互连布线都位于相同FSR 203中。
[0078] 时钟域1601类似于用于单列FSR 203的时钟域1006,只是时钟源905-1处于FSR203中。从时钟源905-1,局部互连布线可用以到达I/O定时块903的缓冲器以创建I/O或低偏斜时钟。时钟域1602受限于单一FSR 203,其中此类FSR 203中的时钟源905-2使用局部互连布线耦合到水平分布主干502。
[0079] 时钟域1603具有在FSR 203中的时钟源905-3,其使用局部互连件耦合到邻近列中的FSR 203中的根401。根401耦合到垂直分布主干501。垂直分布主干501具有用于横跨此类邻近列中的三个FSR 203的三个片段,以用于使用水平分布主干502进行时钟分布。
[0080] 参考图17,构造阵列914的外部行可具有用于裸片到裸片互连的资源,以允许垂直分布主干501在芯片外互连。此类资源可同样用于耦合到单片集成电路裸片910的GT1701。因此,垂直分布主干501可用以耦合到GT 1701。GT 1701资源可对应于FSR 203的列而分组。
此处不描述关于时钟域1706的其它细节以避免重复。
[0081] 已描述用于裸片到裸片互连的不同示范性结构。因此,存在多种方式来将时钟信号从一个裸片发送到另一裸片。此类裸片两者皆可涉及时钟接收器(clock sink)或源。时钟信号可对于低注入延迟路径在分布主干上发送或在时钟布线轨迹上发送、以节省分布主干。另外,可通过将时钟信号发送到数据输入来经由垂直分布主干发送数据选通。
[0082] 参考图18,时钟源905可使用布线轨迹400路由到时钟域根401,如先前对于时钟域1801所描述。此类时钟源905可为时钟管理器,即具有例如PLL的块。与布线轨迹400处于相同行中的水平分布主干502F可用以将时钟信号反馈到此类时钟管理器以用于去除偏斜。可经由分布主干提供到时钟管理器-PLL块的反馈时钟,且不对轨迹进行布线以便延迟此类反馈时钟来匹配实际时钟分布的延迟。举例来说,此类反馈时钟延迟可匹配其中时钟网络延伸到芯片的电路边界的实际时钟输入实例的延迟。时钟域1801的垂直分布主干501可经延伸以用于在时钟域1801外部的垂直分布主干501F的此类反馈。沿着那些线,时钟域1802可涵盖时钟域1801,且布线到时钟管理器时钟源905及从所述时钟管理器时钟源布线。此类时钟管理器可经配置以调整延迟以考量任选延迟511之间的变化。此处不描述关于时钟域
1801的其它细节以避免重复。
[0083] 因此,通过将垂直分布主干的任何部分分接到布线回到时钟源的水平分布主干,可提供反馈补偿。因为可使用任选延迟,因此在何处分接此类垂直分布主干可能无关紧要。
[0084] 参考图19,时钟域1906类似于时钟域1506,只是使用两个时钟域根401。在时钟域1906中,上部集成电路裸片910的水平布线轨迹402耦合到上部及下部集成电路裸片910的垂直布线轨迹403。上部及下部集成电路裸片910两者的此类垂直布线轨迹403用以将时钟源905耦合到上部集成电路裸片910的根401及下部集成电路裸片910的根401。因此,集成电路裸片910的垂直分布主干501不互连。此处不描述关于时钟域1906的其它细节以避免重复。
[0085] 参考图20,时钟域2006类似于时钟域1906,其中同一时钟网络具有两个时钟域根401。在时钟域2006中,上部集成电路裸片910的中心水平布线轨迹“402C”耦合到上部及下部集成电路裸片910的垂直布线轨迹403。此类垂直布线轨迹403用以耦合到上部及下部集成电路裸片910的水平布线轨迹402,且此类水平布线轨迹402中的每一者耦合到单独的根
401。两个根401中的每一者有效地耦合到两个单独的垂直分布主干501。在另一配置中,时钟域2006可在水平布线轨迹402C的水平布线与垂直布线轨迹403的垂直布线轨迹的相交点处具有单一时钟域根401。此处不描述关于时钟域2006的其它细节以避免重复。
[0086] 图21-1及21-2(“图21”)为描绘用于FSR 203的示范性时钟网络2100的电路图/框图。时钟网络2100包含水平布线轨迹402、垂直布线轨迹403、水平分布主干502及垂直分布主干501。图21-1为FSR 203的左方部分,且图21-2为此FSR 203的右方部分。
[0087] 垂直布线轨迹403可经由三态缓冲器2101耦合到垂直分布主干501。三态缓冲器2101的输入可耦合到垂直布线轨迹403,且三态缓冲器2101的输出可耦合到垂直分布主干
501。配置存储器单元(此处未展示)可用以编程用于三态缓冲器2101的控制信号,以将其置于缓冲状态或高阻抗三态中。因此,垂直布线轨迹403可选择性地耦合到对应垂直分布主干
501。
[0088] 垂直分布主干501可经由三态缓冲器2102耦合到水平布线轨迹402。三态缓冲器2102的输入可耦合到水平布线轨迹402,且三态缓冲器2102的输出可耦合到垂直分布主干
501。配置存储器单元(此处未展示)可用以编程用于三态缓冲器2102的控制信号,以将其置于缓冲状态或高阻抗三态中。因此,水平布线轨迹402可选择性地耦合到对应垂直分布主干
501。
[0089] 垂直布线轨迹403可经由双向耦合器2122耦合到水平布线轨迹402,且反之亦然。双向耦合器2122包含耦合在环路中的三态缓冲器2103及三态缓冲器2104。三态缓冲器2103的输入耦合到三态缓冲器2104的输出及垂直布线轨迹403。三态缓冲器2103的输出耦合到水平布线轨迹402。三态缓冲器2104的输入耦合到三态缓冲器2103的输出及水平布线轨迹
402。三态缓冲器2104的输出耦合到垂直布线轨迹403。配置存储器单元(此处未展示)可用以编程用于三态缓冲器2103及2104的控制信号,以将其置于缓冲状态或高阻抗三态中。为操作双向耦合器2122,使三态缓冲器2103及2104中的任一者或两者处于三态条件中,即相关联布线轨迹不电耦合到彼此,或使此类三态缓冲器2103及2104中的一者处于三态条件且使此类三态缓冲器2103及2104中的另一者处于缓冲条件。如果三态缓冲器2103处于缓冲条件且三态缓冲器2104处于双向耦合器2122的三态条件,那么垂直布线轨迹403上的时钟信号可经由此三态缓冲器2103传递到对应水平布线轨迹402。同样,如果三态缓冲器2104处于缓冲条件且三态缓冲器2103处于双向耦合器2122的三态条件中,那么水平布线轨迹402上的时钟信号可经由此三态缓冲器2104传递到对应垂直布线轨迹403。
[0090] 再次,应了解,布线轨迹402及403以及分布主干501及502是双向的。沿着那些线,可或可不存在用于在相反方向上驱动信号的对应电路(其出于清楚起见而未展示且不加限制)。
[0091] 两个水平分布主干502中的任一者可使用可选择耦合器2121耦合到对应垂直分布主干501。可选择耦合器2121包含多路复用器2105及三态缓冲器2106。配置存储器单元(此处未展示)可用以编程用于三态缓冲器2106的控制信号,以将其中的每一者置于缓冲器状态或高阻抗三态。同样,配置存储器单元(此处未展示)可用以编程用于多路复用器2105的控制选择信号。对于可选择耦合器2121,多路复用器2105的输入耦合到水平分布主干502,且多路复用器2105的另一输入耦合到另一水平分布主干502。控制选择信号可经设定以用于在此类水平分布主干502中的一者上选择时钟信号,以用于从此多路复用器2105输出。从此多路复用器2105的输出作为输入提供到对应三态缓冲器2106。三态缓冲器2106具有耦合到对应垂直分布主干501的输出。在缓冲条件中,三态缓冲器2106可将此类时钟信号传递到此类对应垂直分布主干501,且在三态条件中,三态缓冲器2106使多路复用器2105的输出以电气方式从此垂直分布主干501解耦。因此,多个水平分布主干502可选择性地耦合到垂直分布主干501中的对应者。
[0092] 垂直分布主干501可经由任选延迟与时钟门511耦合到对应水平分布主干502。在所描绘实例中,任选延迟与时钟门511包含延迟块2107、多路复用器2108、“与”(AND)门2109及三态缓冲器2110。延迟块2107的输入及多路复用器2108的输入耦合到垂直分布主干501。延迟块2107的输出耦合到多路复用器2108的另一输入。多路复用器2108的输出作为输入提供到“与”门2109。到“与”门2109的另一输入为时钟启用(“CE”)信号2111。“与”门2109的输出提供到三态缓冲器2110的输入。三态缓冲器2110的输出耦合到水平分布主干502。配置存储器单元(此处未展示)可用以编程用于三态缓冲器2110的控制信号,以将其置于缓冲状态或高阻抗三态中。同样,配置存储器单元(此处未展示)可用以编程用于多路复用器2108的控制选择信号。多路复用器2108可用以选择是否通过延迟块2107延迟其输出。“与”门2109可用以在CE信号2111为逻辑高时将时钟信号传递到三态缓冲器2110,且在CE信号2111为逻辑低时防止将此类时钟信号传递到三态缓冲器2110。当CE信号2111为逻辑低时,“与”门
2109的输出为逻辑低。在缓冲状态中,三态缓冲器2110可用以将“与”门2109的输出耦合到此类水平分布主干502。在高阻抗三态中,三态缓冲器2110可用以使“与”门2109的输出以电气方式从此类水平分布主干502解耦。
[0093] 因为垂直布线轨迹403及水平布线轨迹402在每一FSR 203的水平及垂直边界处分段且是双向的,因此可使用轨迹共享。此允许配合较少时钟资源使用较大时钟信号。举例来说,单一水平布线轨迹片段402可在与其源节点相反的方向上驱动。换句话说,一个时钟信号可驱动到此类源节点的右方,且另一时钟信号可沿着相同水平布线轨迹片段402驱动到此类源节点的左方。沿着那些线,对于两个不重叠的时钟区域,可共享相同的水平布线轨迹402。
[0094] 图22为描绘时钟网络2100的示范性叶601的电路图/框图。尽管说明性地描绘六个叶601,但应理解,可在FSR 203内使用更少或更多叶。
[0095] 叶601耦合到水平分布主干502。每一叶601包含一驱动器缓冲器2201。驱动器缓冲器2201可为三态缓冲器,如下文更详细描述。一或多个叶601可包含任选延迟2202。配置存储器单元(此处未展示)可用于经由任选延迟2202选择性添加延迟。叶601可在节点2210处耦合到水平分布主干502。时钟信号可向上传递到任选延迟2202的输入且向下传递到此类叶601的另一任选延迟2202的输入。来自上部任选延迟2202的输出可作为输入提供到上部驱动器缓冲器2201,且此类上部驱动器缓冲器2201的输出可耦合到电路云300的一或多个时钟负载。同样,来自下部任选延迟2202的输出可作为输入提供到下部驱动器缓冲器2201,且此类下部驱动器缓冲器2201的输出可耦合到电路云300的一或多个其它时钟负载。叶601的任选延迟2202中的任一者、两者或无一者可以可编程方式设定以用于提供延迟。因此,举例来说,时钟信号可通过叶601的上部任选延迟2202来延迟,但不通过相同叶601的下部任选延迟2202来延迟,且反之亦然。并非所有叶601都可具有任选延迟2202。对于不具有任何任选延迟2202的叶601,节点2210处的时钟信号可直接提供到此类叶601的上部及下部驱动器缓冲器2201的输入。
[0096] 因此,为避免或减小水平邻近的FSR 203之间的保持时间问题,可使用任选延迟2202来扩展例如两个或两个以上时钟叶601之间的延迟。换句话说,可跨越多列FSR 203摊销、分布或以其它方式扩展偏斜,或更明确地说,偏斜不连续性。
[0097] 图23为描绘FSR 203的示范性部分2300的框图。图24为描绘互连单元片2301的示范性部分的电路图。同时参考图1到24,进一步描述部分2300。
[0098] FSR 203可包含可配置逻辑元件(“CLE”)2303、互连块或单元片2301,及一或多个水平分布主干502,以及其它组件。每一互连块2301的部分2302(例如专用部分)可用于将例如CLE 2303的数据源及/或时钟源耦合到叶时钟驱动器缓冲器2201。一或多个时钟输入2403可作为输入耦合到多路复用器2404。一或多个局部互连输入2401可作为输入耦合到多路复用器2402。一或多个局部互连输入2504可作为输入耦合到多路复用器2406。到多路复用器2402、2404及2406的控制选择输入可由配置存储器单元(此处未展示)以编程方式设定以用于从此类多路复用器选择相应输出。
[0099] 多路复用器2406的输出提供到三态驱动器缓冲器2201的三态输入端口。因此,三态驱动器缓冲器2201可被置于例如先前描述的三态条件或缓冲条件中。多路复用器2402的输出作为输入提供到多路复用器2404。沿着那些线,时钟信号可作为时钟输入2403(例如全球时钟输入)从局部互连传递。多路复用器2404的输出作为输入提供到三态驱动器缓冲器2201。三态驱动器缓冲器2201的输出可提供到例如一或多个CLE 2303中的一或多个时钟负载。
[0100] 因此,经过叶时钟驱动器(例如可三态驱动器缓冲器2201)的互连件可经分接且发送到叶时钟启用多路复用器。此类互连件可进一步支持高扇出数据网络的布线。互连单元片的专用部分可用以支持用于叶时钟输入的额外输入。另外或替代地,用户可分接经过水平分布主干502的现有互连件。叶时钟可分开地门控且局部驱动而不使用水平分布主干502。通过对时钟进行门控,可减小时钟功率。
[0101] 虽然上文描述了示范性结构,但可在不脱离其范围的情况下设计根据一或多个方面的其它及进一步结构,所述范围由所附权利要求书及其等效物确定。