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

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

Info

Publication number
CN105051642A
CN105051642A CN201380059936.5A CN201380059936A CN105051642A CN 105051642 A CN105051642 A CN 105051642A CN 201380059936 A CN201380059936 A CN 201380059936A CN 105051642 A CN105051642 A CN 105051642A
Authority
CN
China
Prior art keywords
clock
distribution trunk
trunk
cloth line
line tracking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380059936.5A
Other languages
English (en)
Other versions
CN105051642B (zh
Inventor
布莱恩·C·贾德
史蒂芬·P·杨
崔佛·J·包尔
罗伯特·M·安德里斯
迪尼许·D·盖腾德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xilinx Inc filed Critical Xilinx Inc
Publication of CN105051642A publication Critical patent/CN105051642A/zh
Application granted granted Critical
Publication of CN105051642B publication Critical patent/CN105051642B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/08Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
    • H03K19/094Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
    • H03K19/096Synchronous circuits, i.e. using clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • G06F30/347Physical level, e.g. placement or routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/1774Structural details of routing resources for global signals, e.g. clock, reset
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

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

Description

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

Claims (15)

1.一种设备,其包括:
集成电路,其具有在电路块的阵列中的时钟网络;
其中所述时钟网络包含布线轨迹、分布主干及时钟叶;且
其中所述布线线迹及所述分布主干是双向的。
2.根据权利要求1所述的设备,其中所述布线轨迹及所述分布主干在所述电路块的边界处分段。
3.根据权利要求1或2所述的设备,其中:
所述布线轨迹包含水平及垂直布线轨迹;且
所述分布主干包含水平及垂直分布主干。
4.根据权利要求1或2所述的设备,其中:
所述布线轨迹包含水平及垂直布线轨迹;
所述分布主干包含水平分布主干及垂直分布主干;且
所述垂直分布主干包含分别耦合到所述水平分布主干的可选择延迟。
5.根据权利要求1到4中任一权利要求所述的设备,其中:
一组所述叶耦合到所述电路块中的一电路块内的所述分布主干中的一水平分布主干,用于将时钟信号从所述水平分布主干提供到所述组所述叶;且
互连单元片经配置用于进行局部门控,以用于将所述时钟信号提供到所述组所述叶而不经过所述水平分布主干。
6.根据权利要求1到5中任一权利要求所述的设备,其中所述分布主干的相交点提供一池时钟根。
7.根据权利要求1到6中任一权利要求所述的设备,其中:
所述电路块为可编程资源构造子区,且
所述电路块经配置以被耦合到输入/输出块及多千兆位收发器块。
8.根据权利要求7所述的设备,其中:
所述分布主干的相交点提供一池时钟根;且
所述分布主干的所述相交点位于所述可编程资源的构造子区中。
9.根据权利要求1到8中任一权利要求所述的设备,其进一步包括:
与所述分布主干相关联的延迟;
其中所述延迟可选择性地用于提供渐变延迟。
10.根据权利要求1到9中任一权利要求所述的设备,其进一步包括:
与所述时钟叶相关联的延迟;
其中所述延迟可选择性地用于扩展在所述电路块中的邻近者之间的偏斜不连续性。
11.根据权利要求1到10中任一权利要求所述的设备,其中所述分布主干对于时钟树的在所述时钟叶之前的一部分为可分段且为双向的。
12.根据权利要求1到11中任一权利要求所述的设备,其中所述分布主干经耦合用于低偏斜时钟网络或低注入时钟网络。
13.一种多裸片系统,其包括:
根据权利要求1到12中任一权利要求所述的第一集成电路裸片,所述第一集成电路裸片具有第一时钟布线资源的第一网络;
所述第一时钟布线资源的第一布线轨迹,其将所述第一集成电路裸片的时钟源耦合到所述第一时钟布线资源的第二布线轨迹;
根据权利要求1到12中任一权利要求所述的第二集成电路裸片,所述第二集成电路裸片具有第二时钟布线资源的第二网络;
所述第二时钟布线资源的第三布线轨迹,其耦合到所述第二布线轨迹;
电路设计的第一根,其经由所述第一布线轨迹及所述第二布线轨迹耦合到所述时钟源;以及
所述电路设计的第二根,其经由所述第一布线轨迹、所述第二布线轨迹及所述第三布线轨迹耦合到所述时钟源;
其中所述第一根位于所述第一集成电路裸片上;且
其中所述第二根位于所述第二集成电路裸片上。
14.根据权利要求13所述的多裸片系统,其中:
所述第一根位于所述第二布线轨迹与所述第一时钟布线资源的第一分布主干中的一第一分布主干的相交点处;且
所述第二根位于所述第三布线轨迹与所述第二时钟布线资源的第二分布主干中的一第二分布主干的相交点处。
15.根据权利要求14所述的多裸片系统,其中所述第一分布主干与所述第二分布主干都不经耦合,以用于所述第一集成电路裸片与所述第二集成电路裸片之间的裸片到裸片布线。
CN201380059936.5A 2012-11-15 2013-07-08 对集成电路具有较高灵活性的时钟网络架构 Active CN105051642B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/677,971 US8937491B2 (en) 2012-11-15 2012-11-15 Clock network architecture
US13/677,971 2012-11-15
PCT/US2013/049550 WO2014077910A1 (en) 2012-11-15 2013-07-08 Clock network architecture with higher flexibility for an integrated circuit

Publications (2)

Publication Number Publication Date
CN105051642A true CN105051642A (zh) 2015-11-11
CN105051642B CN105051642B (zh) 2017-10-13

Family

ID=48874508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380059936.5A Active CN105051642B (zh) 2012-11-15 2013-07-08 对集成电路具有较高灵活性的时钟网络架构

Country Status (6)

Country Link
US (1) US8937491B2 (zh)
EP (1) EP2920666B1 (zh)
JP (1) JP6035429B2 (zh)
KR (1) KR101917916B1 (zh)
CN (1) CN105051642B (zh)
WO (1) WO2014077910A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105866665A (zh) * 2016-03-31 2016-08-17 复旦大学 面向高性能SoC FPGA的功能遍历测试方法
CN106788353A (zh) * 2016-11-18 2017-05-31 深圳市紫光同创电子有限公司 一种时钟偏斜纠正方法及电路、终端设备
CN106934080A (zh) * 2015-12-29 2017-07-07 京微雅格(北京)科技有限公司 一种高性能时钟信号驱动寄存器的布局方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10523207B2 (en) * 2014-08-15 2019-12-31 Altera Corporation Programmable circuit having multiple sectors
US9330220B1 (en) * 2014-08-25 2016-05-03 Xilinx, Inc. Clock region partitioning and clock routing
US9405877B1 (en) * 2014-12-22 2016-08-02 Cadence Design Systems, Inc. System and method of fast phase aligned local generation of clocks on multiple FPGA system
US9602106B1 (en) * 2015-03-05 2017-03-21 Altera Corporation Methods for optimizing circuit performance via configurable clock skews
US20180006653A1 (en) * 2016-06-29 2018-01-04 Altera Corporation Integrated circuits with hybrid fixed/configurable clock networks
CN108235342A (zh) * 2016-12-21 2018-06-29 中兴通讯股份有限公司 一种通信装置和基站
US10380287B1 (en) * 2017-06-29 2019-08-13 Cadence Design Systems, Inc. Systems and methods for modifying a balanced clock structure
US10110234B1 (en) 2017-07-19 2018-10-23 Xilinx, Inc. Efficient system debug infrastructure for tiled architecture
US10528697B1 (en) * 2017-11-20 2020-01-07 Xilinx, Inc. Timing-closure methodology involving clock network in hardware designs
US10770443B2 (en) * 2018-09-28 2020-09-08 Intel Corporation Clock architecture in heterogeneous system-in-package
US11314277B1 (en) 2019-08-05 2022-04-26 Xilinx, Inc. Serial lane-to-lane skew reduction
CN111934684B (zh) * 2020-07-31 2022-12-20 新华三半导体技术有限公司 一种缓冲器、时钟网格电路和信号驱动方法
US11775004B2 (en) 2021-09-10 2023-10-03 International Business Machines Corporation Phase aligning and calibrating clocks from one phase lock loop (PLL) for a two-chip die module

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7362135B1 (en) * 2006-10-04 2008-04-22 Hyun-Taek Chang Apparatus and method for clock skew adjustment in a programmable logic fabric
US7463062B2 (en) * 2004-07-27 2008-12-09 Easic Corporation Structured integrated circuit device
US7576563B1 (en) * 2007-02-06 2009-08-18 Lattice Semiconductor Corporation High fan-out signal routing systems and methods
US7737751B1 (en) * 2006-08-25 2010-06-15 Altera Corporation Periphery clock distribution network for a programmable logic device
US7791370B1 (en) * 2009-05-21 2010-09-07 Altera Corporation Clock distribution techniques for channels
CN102301599A (zh) * 2009-01-31 2011-12-28 吉林克斯公司 使用可编程装置的存储器控制的方法及设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075832A (en) * 1997-10-07 2000-06-13 Intel Corporation Method and apparatus for deskewing clock signals
US6292020B1 (en) 2000-08-01 2001-09-18 Xilinx, Inc. Low-skew programmable control routing for a programmable logic device
US6630855B2 (en) * 2001-03-29 2003-10-07 Intel Corporation Clock distribution phase alignment technique
JP2002305439A (ja) * 2001-04-06 2002-10-18 Sharp Corp プログラマブル論理回路および半導体装置
US6952813B1 (en) 2003-07-30 2005-10-04 Xilinx, Inc. Method and apparatus for selecting programmable interconnects to reduce clock skew
WO2006014849A2 (en) * 2004-07-27 2006-02-09 Easic Corporation Structured integrated circuit device
US7353487B1 (en) 2004-09-10 2008-04-01 Xilinx, Inc. Regional signal-distribution network for an integrated circuit
JP2007336003A (ja) 2006-06-12 2007-12-27 Nec Electronics Corp クロック分配回路、半導体集積回路、クロック分配回路の形成方法及びそのプログラム
US7586355B2 (en) * 2007-07-11 2009-09-08 United Memories, Inc. Low skew clock distribution tree
US8271912B2 (en) * 2008-03-19 2012-09-18 International Business Machines Corporation Radiation tolerance by clock signal interleaving

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7463062B2 (en) * 2004-07-27 2008-12-09 Easic Corporation Structured integrated circuit device
US7737751B1 (en) * 2006-08-25 2010-06-15 Altera Corporation Periphery clock distribution network for a programmable logic device
US7362135B1 (en) * 2006-10-04 2008-04-22 Hyun-Taek Chang Apparatus and method for clock skew adjustment in a programmable logic fabric
US7576563B1 (en) * 2007-02-06 2009-08-18 Lattice Semiconductor Corporation High fan-out signal routing systems and methods
CN102301599A (zh) * 2009-01-31 2011-12-28 吉林克斯公司 使用可编程装置的存储器控制的方法及设备
US7791370B1 (en) * 2009-05-21 2010-09-07 Altera Corporation Clock distribution techniques for channels

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106934080A (zh) * 2015-12-29 2017-07-07 京微雅格(北京)科技有限公司 一种高性能时钟信号驱动寄存器的布局方法
CN105866665A (zh) * 2016-03-31 2016-08-17 复旦大学 面向高性能SoC FPGA的功能遍历测试方法
CN106788353A (zh) * 2016-11-18 2017-05-31 深圳市紫光同创电子有限公司 一种时钟偏斜纠正方法及电路、终端设备

Also Published As

Publication number Publication date
WO2014077910A1 (en) 2014-05-22
US20140132305A1 (en) 2014-05-15
KR101917916B1 (ko) 2018-11-12
EP2920666A1 (en) 2015-09-23
JP2016506106A (ja) 2016-02-25
US8937491B2 (en) 2015-01-20
JP6035429B2 (ja) 2016-11-30
EP2920666B1 (en) 2018-02-21
CN105051642B (zh) 2017-10-13
KR20150087256A (ko) 2015-07-29

Similar Documents

Publication Publication Date Title
CN105051642A (zh) 对集成电路具有较高灵活性的时钟网络架构
JP2004524715A5 (zh)
JP3675662B2 (ja) 集積回路
US10068048B1 (en) Generating clock trees for a circuit design
US9843332B1 (en) Clock grid for integrated circuit
US7404169B2 (en) Clock signal networks for structured ASIC devices
CN205068374U (zh) 用于在集成电路设备中处理数据的电路
US6094066A (en) Tiered routing architecture for field programmable gate arrays
US9606573B1 (en) Configurable clock grid structures
CA2476175C (en) Floor planning for programmable gate array having embedded fixed logic circuitry
US8519740B2 (en) Integrated circuits with shared interconnect buses
US7750673B2 (en) Interconnect structure and method in programmable devices
US7414433B2 (en) Interconnect structure enabling indirect routing in programmable logic
US11211933B2 (en) FPGA chip with distributed multifunctional layer structure
US20180006653A1 (en) Integrated circuits with hybrid fixed/configurable clock networks
JP5698268B2 (ja) ミラーリングされた相互接続構造を有するプログラマブル集積回路
US7432733B1 (en) Multi-level routing architecture in a field programmable gate array having transmitters and receivers
US20040085094A1 (en) Dividing and distributing the drive strength of a single clock buffer
Lee et al. Obstacle-avoiding free-assignment routing for flip-chip designs
US10747929B1 (en) Resolving timing violations in multi-die circuit designs
Johann et al. LEGAL: an algorithm for simultaneous net routing
Hou et al. The architecture and placement algorithm for a uni-directional routing based 3D FPGA
Lursinsap et al. Improving a PLA Area by pull-up transistor folding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant