CN110603733B - 集成电路的逻辑瓦片的时钟分配和生成体系架构及其操作方法 - Google Patents
集成电路的逻辑瓦片的时钟分配和生成体系架构及其操作方法 Download PDFInfo
- Publication number
- CN110603733B CN110603733B CN201880029985.7A CN201880029985A CN110603733B CN 110603733 B CN110603733 B CN 110603733B CN 201880029985 A CN201880029985 A CN 201880029985A CN 110603733 B CN110603733 B CN 110603733B
- Authority
- CN
- China
- Prior art keywords
- logic
- tile
- clock
- tiles
- clock signal
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17736—Structural details of routing resources
- H03K19/1774—Structural details of routing resources for global signals, e.g. clock, reset
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/1778—Structural details for adapting physical parameters
- H03K19/17796—Structural details for adapting physical parameters for physical disposition of blocks
Abstract
包含以行和列的阵列布置的逻辑瓦片阵列的集成电路。该逻辑瓦片阵列包括:第一逻辑瓦片,以接收第一外部时钟信号,其中,第一多个逻辑瓦片中的每个逻辑瓦片使用以下来生成瓦片时钟:(i)第一外部时钟信号或(ii)来自第一多个的逻辑瓦片的多个输出时钟路径中的一个输出时钟路径的第一外部时钟信号的延迟版本;以及第二逻辑瓦片,以接收第二外部时钟信号,其中,第二多个逻辑瓦片中的每个逻辑瓦片使用以下来生成瓦片时钟:(i)第二外部时钟信号或(ii)来自第二多个的逻辑瓦片的多个输出时钟路径中的一个输出时钟路径的第二外部时钟信号的延迟版本,其中,第一外部时钟信号和第二外部时钟信号是相同的时钟信号。
Description
相关申请
本非临时申请要求于2017年6月13日提交的标题为“Clock Distribution andGeneration Architecture for Logic Tiles of an Integrated Circuit and Methodof Operating Same”的美国临时申请No.62/518,699的优先权和权益。该’699临时申请通过引用整体并入本文。
背景技术
本发明涉及用于在例如处理器、控制器、状态机、门阵列、可编程门阵列(PGA)、现场可编程门阵列(FPGA)和片上系统(SOC)的集成电路的逻辑瓦片之间进行时钟信号分配和传输的电路系统和技术。虽然下面经常在FPGA的背景下描述本发明和/或本发明的实施例,但是这种讨论、发明和/或实施例也适用于在处理器、控制器、状态机、门阵列、PGA和SOC中采用的可编程或可配置逻辑块、逻辑阵列块或逻辑瓦片电路系统。为了简洁起见,没有为每个集成电路提供单独的讨论;但是,基于本公开,本领域的普通技术人员将清楚的是对于例如处理器、控制器、状态机、门阵列、PGA、FPGA和SOC的适用性。
简而言之,FPGA是可以由例如用户、客户和/或设计者在制造之前、制造期间和/或制造之后进行配置和/或重新配置(在下文中,除非另有说明,否则统称为“配置”等(例如,“配置(configure)”、“配置(configuring)”和“可配置”))的集成电路。在一个实施例中,除了其它部件之外,FPGA包括具有可编程部件的多个瓦片(“瓦片”通常被称为“可配置逻辑块”(CLB)、“逻辑阵列块”(LAB)或“逻辑瓦片”-在下文中统称为“逻辑瓦片”)和促进逻辑瓦片之间以及逻辑瓦片内部的通信的可配置的互连的网络。每个逻辑瓦片具有多个输入和输出。例如,采用可编程互连将逻辑瓦片的输入和输出连接到其它逻辑瓦片以及FPGA的外部输入和输出(FPGA的外部输入和输出可以连接到FPGA外部的电路系统)。
每个逻辑瓦片通常包括数千个晶体管,这些晶体管可以被配置成执行组合性的功能(简单和/或复杂)。逻辑瓦片也可以包括存储器元件,例如,触发器、寄存器、存储器等的块/阵列,和/或任何种类或类型的较小逻辑瓦片。逻辑瓦片通常包括用于同步时钟信号的电路系统,这些时钟信号在操作中促进逻辑瓦片的功能或操作(例如,同步地)的有序的实现和/或与其它逻辑瓦片和/或FPGA的外部输入和输出的通信。
附图说明
本发明可以结合附图中图示的实施例来实现。这些附图示出了本发明的不同方面,并且,在适当的情况下,在不同图中图示类似结构、部件、材料和/或元件的附图标记或名称被类似地进行标记。应当理解的是,除了具体示出的那些结构、部件、材料和/或元件之外,结构、部件、材料和/或元件的各种组合是被预想到的并且在本发明的范围内。
此外,本文描述和图示了许多发明。本发明既不限于其任何单个方面或其实施例,也不限于这些方面和/或实施例的任意组合和/或排列。而且,本发明的每个方面和/或其实施例可以被单独采用或者与一个或多个本发明的其它方面和/或其实施例组合使用。为了简洁起见,在本文中没有单独讨论和/或图示某些排列和组合。值得注意的是,本文描述为“示例性”的实施例或实现不被解释为例如相对于其它实施例或实现是优选的或有利的;而是旨在反映或指示(一个或多个)实施例是(一个或多个)“示例”实施例。
图1A图示了例如包括控制电路系统、时钟或定时电路系统以及可编程/可配置逻辑电路系统(可编程/可配置逻辑电路系统可以包括一个或多个逻辑瓦片(每个逻辑瓦片包括(i)逻辑晶体管和(ii)时钟分配和传输电路系统))的集成电路的框图表示;在例示性实施例中,时钟/定时电路系统被设置在“芯片上”,例如,在集成电路的管芯中/上制造或集成的时钟/定时电路系统生成一个或多个时钟信号(相同的时钟信号或其衍生),并将该(一个或多个)时钟信号输出到可编程/可配置逻辑电路系统(及其逻辑瓦片的物理阵列);每个时钟信号被输入到多个(或全部)逻辑瓦片(例如,位于可编程/可配置逻辑电路系统的外围上的逻辑瓦片),并且在一个实施例中,每个时钟信号由可编程/可配置逻辑电路系统的逻辑瓦片采用以生成相对于可编程/可配置逻辑电路系统的其它逻辑瓦片的瓦片时钟具有期望的或可编程的偏移(例如,基本上无偏移或零偏移)和/或相位(例如,0度或180度)的瓦片时钟;值得注意的是,时钟电路系统可以是部分或完全地在芯片外的(即,在集成电路的管芯的外部);
图1B图示了可编程/可配置逻辑电路系统(例如,FPGA)的多个互连的逻辑瓦片的框图表示,其中该逻辑瓦片的输入/输出可以促进逻辑瓦片和/或可编程/可配置逻辑电路系统外部的电路系统之间的通信;值得注意的是,可编程/可配置逻辑电路系统包括经由一个或多个可配置的互连进行互连的逻辑瓦片阵列,其中逻辑瓦片阵列包括多个时钟信号输入,以接收由时钟电路系统输出的时钟信号(参见图1A);而且,逻辑瓦片(例如,所有逻辑瓦片)包括时钟分配和传输电路系统,以(i)使用瓦片的时钟树生成瓦片时钟(即,由瓦片中的逻辑电路系统采用的时钟)(例如,参见图2A-图2C中的“瓦片时钟”)和(ii)将瓦片时钟或相关的时钟信号分配或发送到一个或多个相邻逻辑瓦片;在一个实施例中,采用瓦片时钟信号来生成供相关联的逻辑瓦片的逻辑电路系统(和/或存储器)使用以执行例如其中的操作的瓦片时钟(例如,参见图2A-图2C、图13A和图13B);
图1C图示了反映当从时钟源行进到时钟目的地时其间的偏移(延迟)的时钟信号的波形;例如,当时钟信号从一个时钟缓冲器行进到另一个时钟缓冲器,或者从一个时钟缓冲器行进到诸如触发器或逻辑瓦片的逻辑元件时,该时钟信号可能偏移;
图2A-图2C以示意性框图形式图示了逻辑瓦片的时钟分配和传输电路系统的示例性实施例,其中在这些示例性实施例中,时钟分配和传输电路系统包括多个输入和输出路径(在这个图示的实施例中有四个路径-标记为“北时钟路径”、“东时钟路径”、“南时钟路径”和“西时钟路径”)以生成具有期望的或可编程的偏移的瓦片时钟信号,并且在某些实施例中以将一个或多个瓦片时钟或相关的时钟信号分配或发送到可编程/可配置逻辑电路系统的一个或多个相邻逻辑瓦片;输入和输出路径中的每个路径可以包括一个输入/输出和U型转弯(u-turn)电路(图2A)、或多于一个输入/输出和U型转弯电路(图2B和图2C)、或其组合;值得注意的是,在这个示例性实施例中,U型转弯电路包括一个或多个缓冲器及其相关联的电线/导体布线,它们可以全部地或部分地在时钟信号分配路径中被采用以生成瓦片时钟信号(相对于其它逻辑瓦片的瓦片时钟信号具有期望的、适当的或可编程的偏移-例如参见图3A),在一个实施例中,采用该瓦片时钟信号来生成瓦片时钟(即,该逻辑瓦片的本地时钟);如上所述,该瓦片时钟可以由例如逻辑电路系统(和/或存储器)采用以实现相关联的逻辑瓦片的功能或操作和/或同步与其它逻辑瓦片和/或可编程/可配置逻辑电路系统的外部输入和输出的通信;
图3A图示了根据本发明的至少一个方面的可编程/可配置逻辑电路系统(例如,FPGA)的示例性5x5逻辑瓦片阵列的多个互连的逻辑瓦片的示例性实施例的框图表示,其中,在这个实施例中,逻辑瓦片阵列包括多个时钟信号输入(即,逻辑瓦片1的时钟输入和逻辑瓦片25的时钟输入),每个时钟输入被配置成接收相对于其它(一个或多个)时钟信号具有已知或预定特性(例如,频率和相位)的时钟信号,并且在一个实施例中,每个时钟信号输入被配置成接收相同的时钟信号(即,时钟1信号)或衍生时钟信号;值得注意的是,阵列的每个逻辑瓦片包括时钟分配和传输电路系统(由设置在每个逻辑瓦片块内的块图示),该时钟分配和传输电路系统能够将时钟信号分配给一个或多个相邻逻辑瓦片并且被配置成生成具有在一个实施例中与其它逻辑瓦片的时钟信号相关的特性(例如,包括相同的频率和相位)的时钟信号;如上所述,在一个实施例中,瓦片时钟信号被采用以生成瓦片时钟(参见图2A-图2C);
图3B和图3C图示了根据本发明的至少一个方面的可编程/可配置逻辑电路系统(例如FPGA)的MxN逻辑瓦片阵列的多个互连的逻辑瓦片的框图表示,其中,在这个实施例中,逻辑瓦片阵列包括多个时钟信号输入(在图3B中,逻辑瓦片1和逻辑瓦片M*N的时钟输入,并且在图3C中,逻辑瓦片N和逻辑瓦片M的时钟输入),每个时钟输入被配置成接收相对于其它(一个或多个)时钟信号具有已知特性(例如,频率和相位)的时钟信号,并且在一个实施例中,每个时钟信号输入被配置成接收相同的时钟信号(即,时钟1信号)或衍生时钟信号;值得注意的是,阵列的每个逻辑瓦片包括时钟分配和传输电路系统(由设置在每个逻辑瓦片块内的块图示),该时钟分配和传输电路系统能够将时钟信号分配给一个或多个相邻逻辑瓦片并且被配置成生成具有在一个实施例中与其它逻辑瓦片的时钟信号相关的特性(例如,包括相同的频率和相位)的时钟信号;如上所述,在一个实施例中,瓦片时钟信号被采用以生成瓦片时钟(参见图2A-图2C);
图3D-图3G图示了根据本发明的至少一个方面的可编程/可配置逻辑电路系统(例如FPGA)的MxN逻辑瓦片阵列的多个互连的逻辑瓦片的框图表示,其中,在这些实施例中,逻辑瓦片阵列包括两个以上的时钟信号输入;如上所述,每个时钟输入被配置成接收相对于其它(一个或多个)时钟信号具有已知特性(例如,频率和相位)的时钟信号,并且在一个实施例中,每个时钟信号输入被配置成接收相同的时钟信号(即,时钟1信号)或衍生时钟信号;值得注意的是,阵列的每个逻辑瓦片包括时钟分配和传输电路系统(由设置在每个逻辑瓦片块内的块图示),该时钟分配和传输电路系统能够将时钟信号分配给一个或多个相邻逻辑瓦片并且被配置成生成具有在一个实施例中与阵列的其它逻辑瓦片的时钟信号相关的特性(例如,包括相同的频率和相位)的时钟信号;如上所述,在一个实施例中,瓦片时钟信号被采用以生成瓦片时钟(参见图2A-图2C);例如,在一个实施例中,在逻辑瓦片阵列的相对侧的周边上的每个逻辑瓦片接收时钟信号,并将时钟信号发送或分配给相关联的行(参见图3D)或相关联的列(参见图3E)中的其它逻辑瓦片;在另一个实施例中,在逻辑瓦片阵列的非相对侧的周边上的每个逻辑瓦片接收时钟信号,并将时钟信号发送或分配给相关联的行和相关联的列(参见图3F)中的其它逻辑瓦片;在又一个实施例中,在逻辑瓦片阵列的所有侧的周边上的每个瓦片时钟接收时钟信号,并将时钟信号发送或分配给相关联的行和相关联的列(参见图3G)中的其它逻辑瓦片;值得注意的是,在一个实施例中,阵列的逻辑瓦片采用两个或更多个时钟信号(例如,从不同时钟信号输入接收的两个或更多个时钟1信号)来生成相对于可编程/可配置逻辑电路系统的其它逻辑瓦片的瓦片时钟具有期望的或可编程的偏移(例如,基本上无偏移或零偏移)和/或相位(例如,0度或180度)的瓦片时钟(即,该逻辑瓦片的本地时钟);如上所述,例如,逻辑电路系统(和/或存储器)可以采用瓦片时钟来实现相关联的逻辑瓦片的功能或操作和/或同步与其它瓦片和/或可编程/可配置逻辑电路系统的外部输入和输出的通信;
图4A和图4B图示了例如图2A中所示的逻辑瓦片类型的多个互连的逻辑瓦片的示例性框图表示,其中经由相关联的逻辑瓦片的示例性时钟分配和传输电路系统在每个逻辑瓦片中生成瓦片时钟信号;示例性时钟分配和分配路径及其方向由粗线(图4A中的实线和图4B中的虚线)和箭头指示,其中每个逻辑瓦片的时钟分配和传输电路系统被配置或编程为提供时钟分配和分配路径,该时钟分配和分配路径提供每个逻辑瓦片所采用的瓦片时钟信号的编程关系(例如,基本上无偏移或零偏移);在图4A的示例性实施例中,时钟1信号输入由逻辑瓦片1接收,逻辑瓦片1除了将时钟信号分配和发送到逻辑瓦片2之外,还加入延迟,该延迟提供由逻辑瓦片1所采用的时钟信号与逻辑瓦片2-5(并且,在某些实施例中,可编程/可配置逻辑电路系统的一个其它逻辑瓦片、一些其它逻辑瓦片或所有其它逻辑瓦片)的时钟信号的预定关系;在图4B的示例性实施例中,时钟2信号输入由逻辑瓦片2接收,逻辑瓦片2除了将时钟信号分配和发送到逻辑瓦片1、3和4之外,还加入延迟,该延迟提供由逻辑瓦片2所采用的时钟信号与逻辑瓦片1和3-5(并且,在某些实施例中,可编程/可配置逻辑电路系统的一个其它逻辑瓦片、一些其它逻辑瓦片或所有其它逻辑瓦片)的时钟信号的预定关系;值得注意的是,一个或多个时钟信号输入可以直接或间接地源自设置在“芯片上”的时钟电路系统,例如,集成在集成电路的管芯中/上的时钟电路系统(参见例如图1A)或者部分地或完全地在集成电路的管芯外部的时钟电路系统(例如,时钟1和/或时钟2可以源于另外的逻辑瓦片和/或部分地或完全地在芯片上或芯片外的时钟对准电路系统(例如,DLL或PLL);
图5A和图5B分别图示了例如图4A和图4B的示例性体系架构的逻辑瓦片4的时钟分配和传输电路系统的示例性实施例的框图表示,其中,在这些示例性实施例中,时钟分配和传输电路系统可以采用与西时钟路径相关联的零个、一个或多个U型转弯电路(从而加入足够的时钟或信号延迟)以生成瓦片时钟信号4(相对于其它逻辑瓦片的瓦片时钟信号具有适当的或可编程的偏移(这里,基本上无偏移或零偏移)-参见例如图4A和图4B);在这个实施例中,瓦片时钟信号4生成由例如逻辑电路系统(和存储器)所采用的一个或多个瓦片时钟来实现逻辑瓦片的功能或操作和/或同步与其它逻辑瓦片和/或可编程/可配置逻辑电路系统的外部输入和输出的通信;
图6A图示了根据本发明的至少一个方面的可编程/可配置逻辑电路系统(例如FPGA)的示例性7x7逻辑瓦片阵列的多个互连的逻辑瓦片的示例性实施例的框图表示,其中,在这个实施例中,逻辑瓦片阵列包括位于逻辑瓦片阵列的两个相对侧的外围或周边上的每个逻辑瓦片处的多个时钟信号输入;在这个实施例中,时钟信号被发送或分配给逻辑瓦片阵列的相关联的行中的相邻逻辑瓦片/从逻辑瓦片阵列的相关联的行中的相邻逻辑瓦片发送和分配,并且以7个“输入/输出路径”来延迟匹配时钟1信号提供了相对于相关联的行中的其它逻辑瓦片的瓦片时钟信号的零(或基本上零)偏移;值得注意的是,在水平输入/输出路径不等于垂直输入/输出路径的情况下,以7个水平“输入/输出路径”来延迟匹配时钟1信号提供了相对于相关联的行中的其它逻辑瓦片的瓦片时钟信号的零偏移;值得注意的是,由任何特定逻辑瓦片接收或采用的时钟信号的延迟匹配可以经由该特定逻辑瓦片中的或该特定逻辑瓦片的“(一个或多个)输入/输出路径”和/或经由阵列的其它逻辑瓦片中的或阵列的其它逻辑瓦片的“(一个或多个)输入/输出路径”来实现(例如,逻辑瓦片1向逻辑瓦片2提供具有2个水平“输入/输出路径”的延迟的信号,并且基于所提供的信号,从逻辑瓦片2接收具有来自逻辑瓦片2的6个水平“输入/输出路径”的延迟的信号,并且此后将1个附加的水平“输入/输出路径”延迟加入到路径中以总共7个水平“输入/输出路径”来延迟匹配时钟信号1,以相对于由相关联的行中的其它逻辑瓦片(例如,逻辑瓦片2、逻辑瓦片3和逻辑瓦片4)所使用的瓦片时钟信号来生成、提供和/或采用零(或基本上零)偏移;
图6B图示了根据本发明的至少一个方面的可编程/可配置逻辑电路系统(例如FPGA)的7x7逻辑瓦片阵列的多个互连的逻辑瓦片的框图表示,其中,在这个实施例中,逻辑瓦片阵列包括位于逻辑瓦片阵列的与图6A中讨论的相对侧不同的两个相对侧的外围上的每个逻辑瓦片处的多个时钟信号输入;在这个实施例中,时钟信号被发送和分配给逻辑瓦片阵列的相关联的列中的相邻逻辑瓦片/从逻辑瓦片阵列的相关联的列中的相邻逻辑瓦片发送和分配,并且以7个“输入/输出路径”来延迟匹配时钟1信号提供了相对于相关联的列中的其它逻辑瓦片的瓦片时钟信号的零(或基本上零)偏移;如在图6B的背景下提到的,在水平输入/输出路径不等于垂直输入/输出路径的情况下,以7个垂直“输入/输出路径”来延迟匹配时钟1信号提供了相对于相关联的列中的其它逻辑瓦片的瓦片时钟信号的零偏移;值得注意的是,由任何特定逻辑瓦片接收或采用的时钟信号的延迟匹配可以经由该特定逻辑瓦片中的或该特定逻辑瓦片的“(一个或多个)输入/输出路径”和/或经由阵列的其它逻辑瓦片中的或阵列的其它逻辑瓦片的“(一个或多个)输入/输出路径”来实现(例如,逻辑瓦片8从逻辑瓦片1接收具有2个垂直“输入/输出路径”延迟的信号,并且加入5个附加的垂直“输入/输出路径”延迟以获得总共7个垂直“输入/输出路径”的延迟,而逻辑瓦片15接收具有(由逻辑瓦片1和8中的“输入/输出路径”引入的)4个垂直“输入/输出路径”的延迟的信号,并且加入3个附加的垂直“输入/输出路径”延迟以获得总共7个垂直“输入/输出路径”的延迟;在这个示例性实施例中,逻辑瓦片8和15(以及列中的其它瓦片)中的每一个以总共7个垂直“输入/输出路径”来延迟匹配时钟信号1,以便相对于由相关联的列中的其它逻辑瓦片(例如,逻辑瓦片1和逻辑瓦片22)所使用的瓦片时钟信号来生成、提供和/或采用零(或基本上零)偏移;
图6C和图6D以框图形式图示了根据本发明的至少一个方面的可编程/可配置逻辑电路系统的多个互连的逻辑瓦片(例如,7×7逻辑瓦片阵列)的表示,其中,在一个实施例中,逻辑瓦片阵列包括位于逻辑瓦片阵列的两个非相对侧的外围上的逻辑瓦片处的多个时钟信号输入(参见图6C中的A侧和B侧),并且,在另一个实施例中,该多个时钟信号输入位于处于逻辑瓦片阵列的所有侧的外围上的逻辑瓦片处(参见图6D中的侧A-D);值得注意的是,在一个实施例中,在A侧和/或C侧处/上的时钟信号输入与图6B的实施例对应,并且在B侧和/或D侧处/上的时钟信号输入与图6A的实施例对应;
图7A以框图形式图示了根据本发明的至少一个方面的逻辑瓦片的时钟分配和传输电路系统的瓦片时钟生成电路系统的至少一部分的示例性实施例,其中,在操作中,瓦片时钟生成电路系统在输入处接收多个时钟信号,这些时钟信号被延迟匹配以相对于其它逻辑瓦片的瓦片时钟信号包括适当的和/或可编程的偏移(例如,基本上无偏移或零偏移),每个时钟信号与施加到逻辑瓦片阵列的时钟信号输入的时钟信号相关联,并采用这样的时钟信号来生成用于相关联的逻辑瓦片的瓦片时钟;
图7B和图7C图示了根据本发明的至少一个方面的逻辑瓦片的时钟分配和传输电路系统的瓦片时钟生成电路系统的至少一部分的示例性实施例,其中在这些示例性实施例中,分别具有N输入反相多路复用器和N输入非反相多路复用器(其中,N≥2),其中,在操作中,这样的多路复用器在输入处接收多个时钟信号,每个时钟信号与施加到逻辑瓦片阵列的时钟信号输入的时钟信号相关联,其中施加到多路复用器的控制信号在操作中在一个实施例中选择一个输入向多路复用器的输出进行发送,或者在另一个实施例中,选择输入中的两个或更多个输入,使得施加到多路复用器的输入的时钟信号中的至少两个时钟信号在操作中在多路复用器的输出处短路,从而有效地创建了分布在逻辑瓦片阵列上的时钟网格结构;值得注意的是,为了避免疑问,本发明可以采用如在美国专利9,786,361的图4A和图4B中图示的那些多路复用器,其中这些多路复用器可以被编程,使得多个输入选择被启用,其中多个输入经由多路复用器中的或多路复用器的(一个或多个)输入-输出路径被电连接到多路复用器输出;
图8图示了例如FPGA的(图2B中所示类型的)多个互连的逻辑瓦片的示例性框图表示,其中,每个逻辑瓦片在每个输入/输出路径处包括多个输入/输出(这里为两个);在这个示例性实施例中,逻辑瓦片1-5接收和分配/输出分配给逻辑瓦片/从逻辑瓦片分配的两个时钟信号(即,时钟1信号和时钟2信号-它们可以是相同的时钟信号(即,具有相同的特性,诸如频率和相位)),并经由每个逻辑瓦片的示例性时钟分配和传输电路系统,以生成与逻辑瓦片的每个时钟信号相关联的瓦片时钟信号,如图2A-图2C中所示的;示例性时钟分配和分配路径及其方向由粗实线或虚线以及箭头指示,其中每个逻辑瓦片的时钟分配和传输电路系统被配置或编程为提供时钟分配和分配路径,该时钟分配和分配路径提供由逻辑瓦片所采用的瓦片时钟信号的编程关系(例如,基本上无偏移或零偏移);在示例性实施例中,时钟1被输入到逻辑瓦片1,并且时钟2被输入到逻辑瓦片2;在这两种情况下,时钟信号都被分配/路由以加入延迟,该延迟提供了由逻辑瓦片1-5(以及潜在地可编程/可配置逻辑电路系统的一个其它逻辑瓦片、一些其它逻辑瓦片或所有其它逻辑瓦片)内部采用的时钟信号的预定关系;如本文所述,时钟1可以是与时钟2相同的时钟信号(即,具有相同的特性,诸如频率和相位),并且可以由定时电路系统生成和输出(参见图1A);
图9图示了图8的示例性体系架构的逻辑瓦片4的示例性时钟分配和传输电路系统的框图表示,其中在这个示例性实施例中,时钟分配和传输电路系统可以采用与西时钟路径相关联的零个、一个或多个U型转弯电路,以生成瓦片时钟信号4(相对于其它逻辑瓦片的瓦片时钟信号具有适当的或可编程的偏移(这里,基本上无偏移或零偏移);逻辑瓦片4的时钟分配和传输电路系统包括在每个输入/输出路径处的多个输入/输出(在这个示例性实施例中为两个),这些输入/输出被采用以生成与时钟1或时钟2相关联的一个或多个瓦片时钟;例如,基于时钟1和时钟2是同步的还是异步的,这样的瓦片时钟可以是同步的或异步的;每个瓦片时钟可以由例如逻辑电路系统(和存储器)采用以实现逻辑瓦片的功能或操作和/或与其它瓦片和/或可编程/可配置逻辑电路系统的外部输入和输出的通信;
图10图示了例如FPGA的(图2B中所示类型的)多个互连的逻辑瓦片的框图表示,其中每个逻辑瓦片在每个输入/输出路径处包括多个输入/输出(在这个示例性实施例中为两个);在这个示例性实施例中,逻辑瓦片1-3各自接收两个时钟信号(即,时钟1信号和时钟2信号),这些时钟信号被分配给一些但不是全部逻辑瓦片;经由每个逻辑瓦片的示例性时钟分配和传输电路系统,逻辑瓦片生成与时钟信号中的一个或两个时钟信号相关联的瓦片时钟信号;示例性时钟分配和分配路径及其方向由粗实线或虚线以及箭头指示,其中每个逻辑瓦片的时钟分配和传输电路系统被配置或编程为提供时钟分配和分配路径,该时钟分配和分配路径提供由逻辑瓦片所采用的瓦片时钟信号的编程关系(例如,基本上无偏移或零偏移);在示例性实施例中,时钟1被输入到逻辑瓦片1,并且时钟2被输入到逻辑瓦片2;在这两种情况下,时钟信号都被分配/路由以加入或创建延迟,该延迟提供或生成由逻辑瓦片1-5中的一个、一些或全部逻辑瓦片内部采用的时钟信号的预定关系;
图11图示了矩形形状的逻辑瓦片的示例性时钟分配和传输电路系统的框图表示,其中在这个示例性实施例中,时钟分配和传输电路系统包括多个输入和输出路径(在这个图示的实施例中有四个路径-标记为“北时钟路径”、“东时钟路径”、“南时钟路径”和“西时钟路径”)以生成具有期望的或可编程的偏移的瓦片时钟信号,并且在某些情况下,以将一个或多个瓦片时钟或相关的时钟信号分配或发送到可编程/可配置逻辑电路系统的一个或多个相邻逻辑瓦片;输入和输出路径中的每个路径可以包括一个输入/输出和U型转弯电路,以引入时钟信号路径(其中,垂直路径的长度不同于水平路径)的附加的垂直和水平传播延迟分量;值得注意的是,在这个示例性实施例中,U型转弯电路包括一个或多个缓冲器及其相关联的电线/导体布线,它们可以全部地或部分地在时钟信号分配路径中被采用以生成瓦片时钟信号(相对于其它逻辑瓦片的瓦片时钟信号具有适当的或可编程的偏移-参见例如图12),在一个实施例中,采用这样的电路系统来生成瓦片时钟(即,该逻辑瓦片的本地时钟);如上所述,该瓦片时钟可以由例如逻辑电路系统(和/或存储器)采用以实现相关联的逻辑瓦片的功能或操作和/或同步与其它逻辑瓦片和/或可编程/可配置逻辑电路系统的外部输入和/或输出的通信;
图12图示了例如图11中所示的逻辑瓦片类型的多个互连的逻辑瓦片的示例性框图表示,其中经由相关联的逻辑瓦片的示例性时钟分配和传输电路系统在每个逻辑瓦片中生成瓦片时钟信号;示例性时钟分配和分配路径及其方向由粗线和箭头指示,其中每个逻辑瓦片的时钟分配和传输电路系统被配置或编程为提供时钟分配和分配路径(每个具有相同的垂直和水平传播延迟分量-即,在这个示例性实施例中为5个水平传播延迟分量和2个垂直传播延迟分量),该时钟分配和分配路径提供由每个逻辑瓦片所采用的瓦片时钟信号的编程关系(这里,基本上无偏移或零偏移);在这个示例性实施例中,时钟1信号输入由逻辑瓦片1接收,该逻辑瓦片1除了将时钟信号分配和发送到逻辑瓦片2之外,还加入延迟(包括传播延迟的垂直和水平分量),该延迟提供由逻辑瓦片1所采用的时钟信号与逻辑瓦片2-5(并且,在某些实施例中,可编程/可配置逻辑电路系统的一个其它逻辑瓦片、一些其它逻辑瓦片或所有其它逻辑瓦片)的时钟信号的预定关系;值得注意的是,虽然未在图12中示出,但是如本文中所描述和图示的,一个或多个时钟瓦片可以接收多于一个时钟信号输入;该一个或多个时钟信号输入可以直接地或间接地源自设置在“芯片上”的时钟电路系统,例如,集成在集成电路的管芯中/上的时钟电路系统(参见例如图1A)或者部分地或全部地在集成电路的管芯外部的时钟电路系统(例如,时钟信号输入可以源于另外的逻辑瓦片和/或部分地或完全地在芯片上或芯片外的时钟对准电路系统(例如,DLL或PLL);
图13A以示意性框图形式图示了逻辑瓦片的时钟分配和传输电路系统的示例性实施例,其中时钟分配和传输电路系统包括多个输入和输出路径(在这个图示的实施例中为四个路径-标记为“北时钟路径”、“东时钟路径”、“南时钟路径”和“西时钟路径”)以生成具有期望的或可编程的偏移的瓦片时钟信号(如以上关于图2A-图2C的实施例所讨论的);此外,时钟分配和传输电路系统还包括瓦片时钟启用/禁用电路系统,以响应性地启用或禁用逻辑瓦片的本地瓦片时钟(即,瓦片时钟)的生成和/或输出(如本文所讨论的,该本地瓦片时钟可以由例如逻辑电路系统(和/或存储器)采用以实现相关联的逻辑瓦片的功能或操作和/或同步与其它逻辑瓦片和/或可编程/可配置逻辑电路系统的外部输入和输出的通信);控制电路系统(例如,在逻辑瓦片中和/或在逻辑瓦片阵列的外部(例如,参见图1A))可以生成一个或多个控制信号以控制这种瓦片时钟启用/禁用电路系统;值得注意的是,虽然在这个例示性实施例中,瓦片时钟启用/禁用电路系统是“与(AND)”逻辑门,但是可以采用任何逻辑或电路系统来响应性地启用或禁用本地瓦片时钟的生成和/或输出;而且,时钟启用/禁用电路系统可以在本文描述和图示的任何实施例中实现;
图13B以示意性框图形式图示了根据本发明的至少一个方面的逻辑瓦片阵列的逻辑瓦片的时钟分配和传输电路系统的另一个示例性实施例,其中时钟分配和传输电路系统生成和/或选择具有期望的或可编程的偏移的一个或多个瓦片时钟信号,并且在这个实施例中,时钟分配和传输电路系统包括多个输入和输出路径(在这个图示的实施例中为四个路径-标记为“北时钟路径”、“东时钟路径”、“南时钟路径”和“西时钟路径”)以生成具有期望的或可编程的偏移的一个或多个瓦片时钟信号),接收时钟网格(用于将网格时钟信号发送到阵列的逻辑瓦片),并且包括时钟选择电路系统以选择要在逻辑瓦片中采用的时钟信号;在一个示例性实施例中,时钟选择电路系统包括接收瓦片时钟信号和网格时钟信号(以及任何其它时钟信号)的(一个或多个)时钟选择多路复用器;期望的时钟信号可以用于逻辑瓦片的电路系统(以例如经由选择性地启用(一个或多个)时钟选择多路复用器的时钟输入中的一个时钟输入以将所选择的输入连接到(一个或多个)时钟选择多路复用器的输出来在其中实现操作(例如,存储器、功能等);在一个实施例中,这样的时钟选择多路复用器响应性地输出网格时钟信号或内部生成的/衍生的时钟信号作为由逻辑瓦片的电路系统使用以执行或施行例如功能和/或操作的瓦片时钟;控制电路系统(例如,在逻辑瓦片中和/或在逻辑瓦片阵列的外部)可以经由这种(一个或多个)时钟选择多路复用器的控制来启用网格时钟(代替其它时钟信号)的使用;值得注意的是,图13B的时钟网格(以及与其相关的电路系统和/或控制)可以结合图13A的瓦片时钟启用/禁用电路系统来实现;实际上,在其中/当逻辑瓦片采用网格时钟的那些情况下,瓦片时钟启用/禁用电路系统可以禁用本地瓦片时钟的生成和输出(本地瓦片时钟是从或使用输入到逻辑瓦片阵列的一个或多个外围或周边上的逻辑瓦片的所发送/分配的和所延迟匹配的时钟信号生成的(参见例如图3A-图3G));以及
图13C和图13D以框图和示意性形式图示了根据本发明的至少一个方面的时钟选择电路系统的示例性实施例;特别地,图13C以框图形式图示了根据本发明的至少一个方面的逻辑瓦片的时钟分配和传输电路系统的时钟选择电路系统的示例性实施例,其中,在操作中,时钟选择电路系统在输入处接收多个时钟信号(例如,一个或多个网格时钟信号和相对于其它逻辑瓦片的瓦片时钟信号包括适当的或可编程的偏移(例如,基本上无偏移或零偏移)的一个或多个延迟匹配的时钟信号),并且图13D以示意性形式图示了实现时钟选择多路复用器选择一个或多个输入以连接到输出的时钟选择电路系统。
再次,本文描述和图示了许多发明。本发明既不限于其任何单个方面或其实施例,也不限于这些方面和/或实施例的任意组合和/或排列。本发明的每个方面和/或其实施例可以被单独采用或者与本发明的一个或多个其它方面和/或其实施例组合使用。为了简洁起见,那些组合和排列中的许多组合和排列在本文中没有单独进行讨论。
具体实施方式
在一个方面,本发明涉及用于在例如处理器、控制器、状态机、门阵列、PGA、FPGA和SOC的集成电路中的逻辑瓦片阵列中和/或之间使用、提供、分配、生成和/或发送时钟信号的电路系统和方法。在一个实施例中,本发明的体系架构、电路系统和技术在集成电路的逻辑瓦片阵列中和/或之间分配和/或发送多个输入时钟信号,以在每个逻辑瓦片内生成瓦片时钟,其中每个逻辑瓦片的瓦片时钟相对于集成电路的可编程/可配置逻辑电路系统的其它逻辑瓦片的瓦片时钟包括期望的或可编程的偏移。例如,在一个实施例中,逻辑瓦片阵列中的两个或更多个逻辑瓦片接收相同的(或衍生)时钟信号,并将时钟信号分配和/或发送到相邻的逻辑瓦片,其中每个逻辑瓦片的时钟分配和传输电路系统中的电路系统促进或实现从逻辑瓦片到逻辑瓦片发送或分配的时钟信号的延迟匹配,使得每个逻辑瓦片生成平衡的和/或同步的并且相对于在集成电路的逻辑瓦片阵列的其它逻辑瓦片中生成和采用的时钟信号或由集成电路的逻辑瓦片阵列的其它逻辑瓦片生成和采用的时钟信号基本上无偏移和/或相位差或零偏移和/或相位差的本地时钟信号(即,瓦片时钟)。
在一个实施例中,这样的两个或更多个逻辑瓦片位于逻辑瓦片阵列的两个或更多个(或全部)周边上。即,在一个实施例中,两个或更多个逻辑瓦片被设置在阵列的相对周边上或形成阵列的相对周边(例如,逻辑瓦片位于相对周边的对角处),并且该两个或更多个逻辑瓦片包括接收相同的时钟信号的时钟输入。此后,逻辑瓦片的电路系统将时钟信号分配和/或发送到逻辑瓦片阵列的相关联的行和/或列的/逻辑瓦片阵列的相关联的行和/或列中的相邻逻辑瓦片。每个逻辑瓦片的时钟分配和传输电路系统中的电路系统实现从逻辑瓦片到逻辑瓦片发送或分配的时钟信号的延迟匹配,使得阵列的每个逻辑瓦片接收、生成和/或采用相对于其它逻辑瓦片的时钟信号具有预定偏移(例如,相对于在集成电路的逻辑瓦片阵列的其它逻辑瓦片中生成或采用的时钟信号或相对于由集成电路的逻辑瓦片阵列的其它逻辑瓦片生成或采用的时钟信号是同步的且基本上无偏移和/或相位差或零偏移和/或相位差)的时钟信号。这样的时钟信号被逻辑瓦片中的电路系统采用,以生成相对于阵列的其它逻辑瓦片的其它时钟信号平衡的本地时钟信号(即,瓦片时钟)。逻辑瓦片中的电路系统可以采用本地时钟信号(即,瓦片时钟),以促进逻辑瓦片的功能或操作的实现和/或与其它逻辑瓦片以及外部输入和输出的通信。
在又另一个实施例中,位于逻辑瓦片阵列的两个非相对周边上或形成逻辑瓦片阵列的两个非相对周边的逻辑瓦片(例如,设置在逻辑瓦片阵列的两个非相对周边上或形成逻辑瓦片阵列的两个非相对周边的所有逻辑瓦片)包括接收时钟信号的时钟输入。这里,这样的时钟输入可以接收相同的(或衍生)时钟信号。此后,时钟信号被提供、分配和/或发送到逻辑瓦片阵列的相关联的行和列中的相邻逻辑瓦片。在这个实施例中,每个逻辑瓦片的时钟分配和传输电路系统接收两个时钟信号-来自相关联的行的相邻逻辑瓦片的一个时钟信号和来自相关联的列的相邻逻辑瓦片的一个时钟信号。在一个实施例中,时钟分配和传输电路系统中的电路系统除了实现从逻辑瓦片到逻辑瓦片发送或分配的时钟信号的延迟匹配之外,还使用这两个时钟信号来生成本地时钟信号。即,在逐瓦片的基础上,在行方向上向/从逻辑瓦片发送或分配的时钟信号在延迟匹配之后以及在列方向上向/从逻辑瓦片发送或分配的时钟信号在延迟匹配之后被采用以生成相对于其它逻辑瓦片的瓦片时钟平衡的本地时钟信号(即,瓦片时钟)。瓦片时钟由逻辑瓦片中的电路系统使用,以促进逻辑瓦片的功能或操作的实现和/或与其它逻辑瓦片以及外部输入和输出的通信。例如,在一个实施例中,两个延迟匹配的时钟信号被“短路”以生成一个或多个本地时钟信号(例如,相关联的逻辑瓦片的瓦片时钟)。在一个实施例中,两个延迟匹配的时钟信号经由多路复用器被“短路”,其中输入是独立控制的,从而允许通过多路复用器输入到输出路径将多于一个的输入同时连接到输出。
实际上,在另一个实施例中,逻辑瓦片阵列的周边(例如,逻辑瓦片阵列的所有四个周边)的所有逻辑瓦片或形成逻辑瓦片阵列的周边(例如,逻辑瓦片阵列的所有四个周边)的所有逻辑瓦片都包括接收相同的时钟信号(和/或衍生时钟信号)的时钟信号输入。在这个实施例中,对于阵列的行方向和列方向两者,时钟信号从逻辑瓦片阵列的相对侧被分配和/或发送到相邻的逻辑瓦片。这里,每个逻辑瓦片的时钟分配和传输电路系统的电路系统可以在生成(一个或多个)本地时钟信号中采用由逻辑瓦片的时钟分配和传输电路系统接收的延迟匹配的时钟信号中的一个、两个、三个或四个延迟匹配的时钟信号。例如,这样的电路系统可以使用(i)从两个相对侧向/从同一行中的逻辑瓦片和(ii)从两侧向/从同一列中的逻辑瓦片分配和/或发送的时钟信号(即,四个延迟匹配的时钟信号)来生成本地时钟信号。像上面描述的那样,在逐瓦片的基础上,在行方向上向/从逻辑瓦片发送或分配的两个时钟信号(沿着相关联的行从阵列的每一侧发送或分配的一个时钟信号)在延迟匹配之后,一个或两者被采用以生成由逻辑瓦片中的电路系统采用的一个或多个本地时钟信号(或其衍生信号被采用)。类似地,在列方向上向/从逻辑瓦片发送或分配的两个时钟信号(沿着相关联的列从阵列的每一侧发送或分配的一个时钟信号)在延迟匹配之后,一个或两者被采用以生成由逻辑瓦片中的电路系统采用的一个或多个本地时钟信号(或其衍生信号被采用)。例如,在一个实施例中,延迟匹配的时钟信号被“短路”以生成一个或多个本地时钟信号(例如,相关联的逻辑瓦片的瓦片时钟,从而有效地在瓦片阵列之间为延迟匹配的时钟信号创建时钟网格结构)。在一个实施例中,使用相同的电路系统将所有延迟匹配的时钟信号都一起短路;在另一个实施例中,来自行方向和列方向的延迟匹配的时钟信号首先各自被短路,并且此后,来自行方向的短路信号和来自列方向的短路信号然后被短路,以生成一个或多个本地时钟信号。应当注意的是,用于使时钟信号短路的所有电路系统和技术都旨在落入本发明的范围内,包括例如,多路复用器,其中输入是独立控制的,从而允许通过多路复用器输入到输出路径将多于一个输入同时连接到输出。
参考图1A和图1B,在一个实施例中,集成电路包括控制电路系统、时钟电路系统和可以包括一个或多个逻辑瓦片的可编程/可配置逻辑电路系统。逻辑瓦片中的每个逻辑瓦片可以包括逻辑和/或存储器晶体管(未示出)以及时钟分配和传输电路系统,该时钟分配和传输电路系统除其它之外还可被配置成生成相对于可编程/可配置逻辑电路系统的其它逻辑瓦片的(一个或多个)瓦片时钟信号具有期望的或可编程的偏移(例如,基本上无偏移或零偏移)和/或相位(例如,0度或180度)的(一个或多个)瓦片时钟信号。例如,每个逻辑瓦片的时钟分配和传输电路系统中的电路系统实现从逻辑瓦片到逻辑瓦片发送或分配的时钟信号的延迟匹配,使得阵列的每个逻辑瓦片生成同步的并且相对于在逻辑瓦片阵列的其它逻辑瓦片中或由逻辑瓦片阵列的其它逻辑瓦片生成和采用的时钟信号基本上无偏移和/或相位差或零偏移和/或相位差的本地时钟信号(即,瓦片时钟)。这样的本地时钟信号(即,瓦片时钟)(和/或其衍生)可以由逻辑瓦片中的电路系统采用,以促进逻辑瓦片的功能或操作的实现和/或与其它逻辑瓦片和外部输入和输出的通信。
简而言之,“时钟偏移”是指当时钟信号从时钟源行进到时钟目的地时由时钟信号引起的延迟(参见图1C)。例如,当从一个时钟缓冲器行进到另一个时钟缓冲器,或从一个时钟缓冲器行进到逻辑或存储器元件(诸如触发器、CLB和/或逻辑瓦片)时,可能发生时钟偏移。在本申请中,时钟偏移是指当时钟信号从一个逻辑瓦片行进到另一个逻辑瓦片时时钟信号中的延迟。
参考图1A、图1B和图2A-图2C,在一个实施例中,逻辑瓦片的时钟分配和传输电路系统为相关联的逻辑瓦片的逻辑电路系统(和/或存储器)生成瓦片时钟(参见例如图2A),并且此外,经由一个或多个时钟路径将瓦片时钟信号或相关时钟信号分配或发送到可编程/可配置逻辑电路系统的一个或多个相邻或并置的逻辑瓦片。在一个实施例中,逻辑瓦片的时钟分配和传输电路系统包括多个输出路径(在这个图示的实施例中为四个路径-标记为“北时钟路径”、“东时钟路径”、“南时钟路径”和“西时钟路径”)以生成具有期望的或可编程的偏移的瓦片时钟信号,并且在某些情况下,将一个或多个瓦片时钟信号或相关的时钟信号分配或发送到逻辑瓦片阵列的一个或多个相邻逻辑瓦片。值得注意的是,在图2A的示例性实施例中,四个时钟路径中的每个路径具有一个瓦片输出时钟路径、一个瓦片输入时钟路径和一个瓦片U型转弯电路;而在图2B和图2C的示例性实施例中,四个时钟路径中的每个路径具有两个或更多个瓦片输出时钟路径、两个或更多个瓦片输入时钟路径以及两个或更多个瓦片U型转弯电路。
在一个实施例中,每个时钟路径包括多个晶体管(在图2A-图2C的示例性实施例中被配置和图示为多个缓冲器)。这里,示例性时钟分配和传输电路系统包括一个或多个U型转弯电路,该U型转弯电路可以被选择性地加入到逻辑瓦片的时钟信号分配路径中,以生成相对于集成电路的可编程/可配置逻辑电路系统的其它逻辑瓦片的瓦片时钟信号具有期望的或可编程的偏移(例如,基本上无偏移或零偏移)和/或相位(例如,0度或180度)的瓦片时钟信号。在这个示例性实施例中,U型转弯电路被设置在每个输出路径处,以在用于可编程/可配置逻辑电路系统的一个、一些或所有逻辑瓦片的时钟生成的体系架构的设计和布局中提供灵活性。逻辑瓦片中的U型转弯电路可以由相同或不同类型的电路或元件组成-例如,第一输出路径的U型转弯电路可以由一个缓冲器组成,并且第二输出路径的U型转弯电路可以由两个或更多个缓冲器组成。但是,构造具有与输入和输出路径相同类型的电路(例如,缓冲器和相关联的导体)和/或相同或相似电气特性的U型转弯电路可能是有利的。以这种方式,可以促进从逻辑瓦片到逻辑瓦片的时钟信号的延迟匹配。例如,设计具有相同的电阻和电容负载、相同的电线长度和屏蔽、相同类型的时钟缓冲器以及这样的时钟缓冲器的相同晶体管的路径以更完全地匹配从逻辑瓦片到逻辑瓦片的时钟信号的延迟可能是有利的。值得注意的是,虽然在例示性实施例中,U型转弯电路位于逻辑瓦片的所有输出路径处,但是一个或多个逻辑瓦片可以包括在一个输出路径、一些输出路径或所有输出路径处不包括U型转弯电路的输出路径。
如以上所提到的,可编程/可配置逻辑电路系统的一个、一些或所有逻辑瓦片的时钟分配和传输的布局可以提供与集成电路的可编程/可配置逻辑电路系统的逻辑瓦片相关联的时钟信号的期望的或可编程的偏移。在一个实施例中,每个逻辑瓦片中的时钟分配和传输电路系统生成同步的且相对于在可编程/可配置逻辑电路系统的其它逻辑瓦片中采用的或由可编程/可配置逻辑电路系统的其它逻辑瓦片采用的瓦片时钟信号基本上无偏移或零偏移的本地时钟信号。
参考图3A-图3G,逻辑瓦片阵列在时钟信号输入处接收具有相同或基本上相同特性(例如,频率和相位)的多个时钟信号。例如,参考图3A-图3C,在一个实施例中,逻辑瓦片阵列包括两个时钟输入以接收时钟1信号。在一个实施例中,两个时钟信号被提供给位于逻辑瓦片阵列的周边的相对侧的对角处或逻辑瓦片阵列的周边的相对侧的对角的逻辑瓦片(例如,参见图3A的5×5逻辑瓦片阵列的逻辑瓦片1和逻辑瓦片25)。在另一个实施例中,时钟信号被提供给逻辑瓦片阵列的周边的相对侧的每个逻辑瓦片(例如,参见图3D和图3E)。在又另一个实施例中,时钟信号被提供给阵列的周边的每个逻辑瓦片(例如,参见图3G)。在一个实施例中,每个时钟1信号被路由或发送到逻辑瓦片阵列的相邻逻辑瓦片/从逻辑瓦片阵列的相邻逻辑瓦片路由或发送,使得每个逻辑瓦片接收时钟1信号。逻辑瓦片的时钟分配和传输电路系统除了将这种时钟信号路由或发送到相邻逻辑瓦片之外,还加入、提供或实现适当的延迟匹配(例如,经由U型转弯电路),以提供、生成和/或采用相对于在集成电路的逻辑瓦片阵列的其它逻辑瓦片中或由集成电路的逻辑瓦片阵列的其它逻辑瓦片提供、生成和/或采用的时钟信号基本上无偏移和/或相位差或零偏移和/或相位差的时钟信号。
例如,参考图4A、图4B、图5A和图5B,在一个实施例中,逻辑瓦片1-5的时钟分配和传输路径在瓦片1-5时钟信号和/或逻辑瓦片1-5的瓦片时钟之间提供基本上无偏移或零偏移。时钟信号分配路径及其方向由粗线和箭头指示。每个逻辑瓦片1-5的时钟分配和传输电路系统被编程为提供瓦片时钟信号和/或瓦片时钟,该瓦片时钟信号和/或瓦片时钟分别相对于其它瓦片时钟信号和/或瓦片时钟基本上无偏移或零偏移。
特别地,参考图4A的示例性实施例,时钟信号输入(“时钟1信号”)被施加到逻辑瓦片1并由其接收。由每个逻辑瓦片引入的总延迟为7个“单位”。用于:(i)与逻辑瓦片1相关联的瓦片1时钟信号的时钟信号分配路径加入三个U型转弯电路(从而提供总共7个单位的延迟),(ii)与逻辑瓦片2相关联的瓦片2时钟信号的时钟信号分配路径加入两个U型转弯电路(从而提供总共7个单位的延迟),(iii)与逻辑瓦片3相关联的瓦片3时钟信号的时钟信号分配路径加入一个U型转弯电路(从而提供总共7个单位的延迟),(iv)与逻辑瓦片4相关联的瓦片4时钟信号的时钟信号分配路径加入一个U型转弯电路(从而提供总共7个单位的延迟),以及(v)与逻辑瓦片5相关联的瓦片5时钟信号的时钟信号分配路径没有加入U型转弯电路(从而提供总共7个单位的延迟)。以这种方式,图4A的逻辑瓦片1-5的瓦片时钟信号之间基本上无偏移(在这个示例性实施例中,每个瓦片时钟信号在时钟分配路径中包括7个延迟单位,其中每个单位表示1个时钟分支的等效延迟,在这个示例性实施例中该等效延迟是一个时钟缓冲器的延迟加上其相关联的导线布线)。
在图4B的示例性实施例中,时钟信号输入(标记为“时钟2信号”)被施加到逻辑瓦片2并由其接收,该逻辑瓦片2在生成瓦片2时钟信号时加入了两个U型转弯电路。由逻辑瓦片2引入的总延迟为5个单位。另外,与瓦片1相关联的时钟生成路径在生成瓦片1时钟信号时加入了一个U型转弯电路(从而提供总共5个单位的延迟-逻辑瓦片2中的2个单位以及逻辑瓦片1上的3个单位)。逻辑瓦片3-5的瓦片时钟信号也包括总共5个单位的延迟。以这种方式,图4B的逻辑瓦片的瓦片时钟信号之间基本上无偏移(在这个示例性实施例中,每个瓦片时钟信号在时钟生成路径中包括5个延迟单位,其中每个单位表示1个时钟分支的等效延迟,在这个示例性实施例中该等效延迟是一个时钟缓冲器的延迟加上其相关联的导线/导体布线)。
参考图3D-图3G和图6A-图6C,在一个实施例中,形成逻辑瓦片阵列的周边中的一个或多个(或全部)周边的或在逻辑瓦片阵列的周边中的一个或多个(或全部)周边上的全部逻辑瓦片接收相同的时钟信号(或其衍生时钟信号)。例如,参考图3D、图3E、图6A和图6B,在一个实施例中,设置在逻辑瓦片阵列的相对周边上或形成逻辑瓦片阵列的相对周边的逻辑瓦片包括时钟信号输入以接收相同的时钟信号,并将时钟信号分配和/或发送到逻辑瓦片阵列的相关联的行中的相邻逻辑瓦片(参见图3D和图6A的B侧和D侧)或逻辑瓦片阵列的相关联的列中的相邻逻辑瓦片(参见图3E和图6B的A侧和C侧)。逻辑瓦片的时钟分配和传输电路系统实现从相关联的行和相关联的列的相邻逻辑瓦片到相邻逻辑瓦片发送或分配的时钟信号的延迟匹配。例如,参考图3D,逻辑瓦片2经由设置在逻辑瓦片N和逻辑瓦片2之间的行1的逻辑瓦片从相邻的逻辑瓦片1和从逻辑瓦片N接收时钟信号(即,时钟1信号)。逻辑瓦片2的时钟分配和传输电路系统实现从D侧(即,逻辑瓦片1)接收的时钟1信号的适当延迟匹配和/或实现从B侧(即,经由设置在它们之间的逻辑瓦片的逻辑瓦片N)接收的时钟1信号的适当延迟匹配。使用一个或多个延迟匹配的时钟信号,阵列的每个逻辑瓦片中的时钟分配和传输电路系统生成一个或多个本地时钟信号(即,一个或多个瓦片时钟),该一个或多个本地时钟信号是同步的并且相对于在集成电路的逻辑瓦片阵列的其它逻辑瓦片中或由集成电路的逻辑瓦片阵列的其它逻辑瓦片生成或采用的时钟信号基本上无偏移和/或相位差或零偏移和/或相位差。
在一个实施例中,逻辑瓦片可以采用输入到位于逻辑瓦片阵列的两个相对侧上的逻辑瓦片的时钟信号来生成一个或多个本地时钟。例如,参考图3D和图7A,逻辑瓦片2从B侧和D侧两侧接收时钟信号(时钟1信号)。在时钟信号的延迟匹配(相对于阵列的其它逻辑瓦片)之后,逻辑瓦片2的时钟分配和传输电路系统可以基于和/或使用时钟信号中的一个时钟信号或这两个时钟信号来生成一个或多个本地瓦片时钟。例如,在一个实施例中,在从相关联的行的逻辑瓦片接收到的每个时钟信号合适地延迟匹配之后,逻辑瓦片2的时钟分配和传输电路系统使多个时钟1信号电“短路”以生成本地时钟信号。即,逻辑瓦片的时钟分配和传输电路系统包括多路复用器以接收延迟匹配的时钟信号(来自(i)相关联的行和/或(ii)相关联的列中的相邻逻辑瓦片)并在多路复用器的输出处使时钟信号电短路(参见图7B和图7C)。这里,多路复用器在输入处接收多个时钟信号,每个时钟信号可以与施加到逻辑瓦片阵列的时钟信号输入的时钟信号相关联,其中,施加到多路复用器的控制信号在操作中选择两个或更多个输入以同时连接到输出,使得施加到多路复用器的输入的至少两个时钟信号在操作中在多路复用器的输出处被短路。如以上所讨论的,电路系统可以采用(一个或多个)本地瓦片时钟来执行或施行逻辑瓦片的功能或操作。
值得注意的是,本发明可以采用如在美国专利9,786,361的图4A和图4B中图示的那些多路复用器,其中这些多路复用器可以被编程以使得多个输入被选择/启用,从而经由多路复用器中的或多路复用器的(一个或多个)输入-输出路径将多个多路复用器输入同时连接到多路复用器输出。这里,施加到多路复用器的选择输入的控制信号独立控制给定多路复用器输入是否连接到输出,使得在操作中多路复用器的多于一个输入(或所有输入)可以同时连接到输出,从而在多路复用器的输出处使所选择的/启用的输入电短路。
在这个示例性实施例中,每个逻辑瓦片(例如,逻辑瓦片2)采用两个延迟匹配的时钟信号来生成一个或多个瓦片时钟(相对于可编程/可配置逻辑电路系统的其它逻辑瓦片的瓦片时钟具有期望的或可编程的偏移(例如,基本上无偏移或零偏移)和/或相位(例如,0度或180度)),该一个或多个瓦片时钟可以被逻辑瓦片中的电路系统采用(或其衍生可以被采用)以促进逻辑瓦片的功能或操作的实现和/或通信。由此,在一个实施例中,可以实现两输入多路复用器(N=2),其中两个多路复用器输入都被选择/启用,从而经由多路复用器中的或多路复用器的(一个或多个)输入-输出路径将输入同时连接到多路复用器的输出并在多路复用器的输出处使这样的输入短路。
(参见图7B和图7C)。
值得注意的是,在另一个实施例中,每个逻辑瓦片采用延迟匹配的时钟信号中的一个来生成一个或多个瓦片时钟(相对于可编程/可配置逻辑电路系统的其它逻辑瓦片的瓦片时钟具有期望的或可编程的偏移(例如,基本上无偏移或零偏移)和/或相位(例如,0度或180度)),该一个或多个瓦片时钟可以被采用以实现逻辑瓦片的功能或操作和/或与其它瓦片或逻辑瓦片阵列外部的通信。由此,在这个示例性实施例中,可以实现两输入多路复用器(N=2),其中输入中的一个输入被选择并且被施加到多路复用器的输出。(参见图7B和图7C)。
参考图3F和图6C,在另一个实施例中,在逻辑瓦片阵列的两个非相对周边上,形成逻辑瓦片阵列的周边中的一个或多个(或全部)周边的或在逻辑瓦片阵列的周边中的一个或多个(或全部)周边上的全部逻辑瓦片接收时钟信号。(例如,参见图3F的A侧和D侧以及图6C的A侧和B侧)。在这个实施例中,时钟信号被输入到形成图3F的阵列的A侧和D侧的周边或在图3F的阵列的A侧和D侧的周边上的逻辑瓦片,并且被分配和/或发送到逻辑瓦片阵列的逻辑瓦片的相关联的行中的/相关联的行的相邻逻辑瓦片(例如,从逻辑瓦片1到逻辑瓦片2等等,到逻辑瓦片N)以及被分配和/或发送到阵列的相关联的列中的/相关联的列的相邻逻辑瓦片(例如,从逻辑瓦片1到同一列中的全部逻辑瓦片-包括逻辑瓦片M)。图3F和图6C的逻辑瓦片阵列的每个逻辑瓦片的时钟分配和传输电路系统除了实现从逻辑瓦片到逻辑瓦片发送或分配的时钟信号的延迟匹配以减小相对于在阵列的其它逻辑瓦片中或由阵列的其它逻辑瓦片生成和采用的时钟信号的偏移和/或相位差之外,还使用时钟信号生成本地时钟信号,这些时钟信号既(i)被分配和/或发送到同一/相关联的行中的逻辑瓦片/从同一/相关联的行中的逻辑瓦片分配和/或发送,又(ii)被分配和/或发送到同一/相关联的列中的逻辑瓦片/从同一/相关联的列中的逻辑瓦片分配和/或发送(例如,参见图7A)。这里,每个逻辑瓦片的时钟分配和传输电路系统的瓦片时钟生成电路系统基于和/或使用输入到逻辑瓦片阵列中的延迟匹配的时钟信号来生成一个或多个本地瓦片时钟。如以上所讨论的,这样的(一个或多个)本地瓦片时钟(即,(一个或多个)瓦片时钟)可以被电路系统采用来执行或施行逻辑瓦片的功能或操作。
例如,类似于图3D、图3E、图6A和图6B的实施例,在一个实施例中,在对时钟1信号进行延迟匹配以减少或消除相对于时钟信号的偏移和/或相位差(即,延迟匹配时钟信号)之后,逻辑瓦片1的时钟分配和传输电路系统可以使时钟信号“短路”以基于两个延迟匹配的时钟1信号生成时钟信号。参考图7B和图7C,逻辑瓦片中的时钟分配和传输电路系统可以包括一个或多个多路复用器,以(从(i)相关联的行和(ii)相关联的列中的相邻逻辑瓦片)接收延迟匹配的时钟信号,并在多路复用器输出处使时钟信号电短路。在操作中,多路复用器在输入处接收多个时钟信号,每个时钟信号可以与施加到逻辑瓦片阵列的时钟信号输入的时钟信号相关联,其中施加到多路复用器的控制信号在操作中选择两个或更多个输入,使得施加到多路复用器的输入的至少两个时钟信号在操作中在多路复用器的输出处被短路。
再次,每个逻辑瓦片(例如,逻辑瓦片1)采用至少两个延迟匹配的时钟信号来生成一个或多个本地时钟信号,该一个或多个本地时钟信号可以被逻辑瓦片中的电路系统采用(或其衍生可以被采用)以促进逻辑瓦片的功能或操作的实现和/或通信。由此,可以实现两输入多路复用器(N=2)。(参见图7B和图7C)。
值得注意的是,由任何特定逻辑瓦片接收或采用的时钟信号的延迟匹配可以经由该特定逻辑瓦片中的或该特定逻辑瓦片的“(一个或多个)输入/输出路径”和/或经由阵列的其它逻辑瓦片中的或阵列的其它逻辑瓦片的“(一个或多个)输入/输出路径”来实现。例如,参考图6A,在一个实施例中,逻辑瓦片1向逻辑瓦片2提供具有2个水平“输入/输出路径”的延迟的信号,并从逻辑瓦片2接收具有6个水平“输入/输出路径”的延迟的信号。逻辑瓦片1还将1个附加的水平“输入/输出路径”延迟加入到接收到的信号中,以总共7个水平“输入/输出路径”延迟来延迟匹配时钟信号1。这里,全部列中的逻辑瓦片都以7个水平“输入/输出路径”延迟来延迟匹配时钟信号1,以便相对于由相关联的行中的其它逻辑瓦片(例如,逻辑瓦片2、逻辑瓦片3和逻辑瓦片4)使用的瓦片时钟信号生成、提供和/或采用零(或基本上零)偏移。阵列的其它行的逻辑瓦片实现相同的延迟匹配。
类似地,参考图6B,逻辑瓦片15接收具有4个垂直“输入/输出路径”的延迟(经由逻辑瓦片1和8中的/逻辑瓦片1和8的“输入/输出路径”加入)的信号并且还加入3个垂直“输入/输出路径”延迟,以获得总共7个垂直“输入/输出路径”的延迟。这里,所有列中的逻辑瓦片都以7个垂直“输入/输出路径”延迟来延迟匹配时钟信号1,以便相对于由相关联的列中的其它逻辑瓦片使用的瓦片时钟信号生成、提供和/或采用零(或基本上零)偏移。阵列的其它列的逻辑瓦片实现相同的延迟匹配。
参考图3G和图6D,在又另一个实施例中,形成逻辑瓦片阵列的周边的或在逻辑瓦片阵列的周边的上的全部逻辑瓦片包括至少一个时钟输入以接收时钟信号。在图示的实施例中,时钟信号被输入到形成逻辑瓦片阵列的A侧、B侧、C侧和D侧的周边或在逻辑瓦片阵列的A侧、B侧、C侧和D侧的周边上的逻辑瓦片,并且被分配和/或发送到逻辑瓦片阵列的逻辑瓦片的相关联的行中的/相关联的行的相邻逻辑瓦片,并且被分配和/或发送到阵列的相关联的列中的/相关联的列的相邻逻辑瓦片。例如,关于图6D的实施例(其参考图6A和图6B),在行“方向”的背景下(参见图6A),时钟1信号被输入到逻辑瓦片1中,延迟的版本被发送到逻辑瓦片2,进一步延迟的版本被发送到逻辑瓦片3,依此类推,其中更进一步延迟的版本被发送到逻辑瓦片7并由逻辑瓦片7接收。类似地,时钟1信号也被输入到逻辑瓦片7,延迟的版本被发送到逻辑瓦片6,进一步延迟的版本被发送到逻辑瓦片5,依此类推,其中更进一步延迟的版本被发送到逻辑瓦片1。在这个实施例中,时钟信号被输入到逻辑瓦片阵列的每一行的周边上的每个逻辑瓦片,并且此后被发送和/或分配到相关联的行中的/相关联的行的各个相邻逻辑瓦片。因此,输入到周边上的逻辑瓦片中的时钟信号被接收、发送和/或分配到相关联的行中的/相关联的行的相邻逻辑瓦片。
在列“方向”的背景下(参见图6B),时钟1信号被输入到逻辑瓦片1中,延迟的版本被发送到逻辑瓦片8,进一步延迟的版本被发送到逻辑瓦片15,依此类推,其中更进一步延迟的版本被发送到逻辑瓦片43并由逻辑瓦片43接收。类似地,时钟1信号也被输入到逻辑瓦片43,延迟的版本被发送到逻辑瓦片36,进一步延迟的版本被发送到逻辑瓦片29,依此类推,其中更进一步延迟的版本被发送到逻辑瓦片1。在这个实施例中,时钟信号被输入到逻辑瓦片阵列的每一列的周边上的每个逻辑瓦片,并且此后被发送和/或分配到相关联的行中的/相关联的行的各个相邻逻辑瓦片。因此,输入到周边上的逻辑瓦片中的时钟信号被接收、发送和/或分配到相关联的列中的/相关联的列的相邻逻辑瓦片。
继续参考图3G和图6D,每个逻辑瓦片的时钟分配和传输电路系统适当地延迟匹配从逻辑瓦片到逻辑瓦片接收、发送和/或分配的时钟信号,以减少或消除相对于在阵列的其它逻辑瓦片中或由阵列的其它逻辑瓦片生成和采用的时钟信号的偏移和/或相位差。时钟分配和传输电路系统的瓦片时钟生成电路系统接收延迟匹配的时钟信号,并使用一个或多个(或全部)这样的时钟信号来生成一个或多个本地时钟信号((一个或多个)瓦片时钟)。(例如,参见图7A)。即,在一个实施例中,既(i)接收、分配和/或发送到同一行中的逻辑瓦片/从同一行中的逻辑瓦片接收、分配和/或发送,又和/或(ii)接收、分配和/或发送到同一列中的逻辑瓦片/从同一列中的逻辑瓦片接收、分配和/或发送的时钟信号被采用来生成一个或多个本地时钟信号。
例如,参考图3G,逻辑瓦片1可以使用从A侧输入的时钟1信号(在适当的延迟匹配之后)、从B侧的阵列的周边上的逻辑瓦片N输入的时钟1信号(再次在适当的延迟匹配之后)、从C侧的阵列的周边上的逻辑瓦片M输入的时钟1信号(再次在适当的延迟匹配之后)以及从D侧输入的时钟1信号(在适当的延迟匹配之后)来生成本地瓦片时钟。这里,逻辑瓦片1的瓦片时钟生成电路系统基于和/或使用四个延迟匹配的时钟信号(例如,经由图7A、图7B和/或图7C的电路系统)来生成瓦片时钟。如以上所讨论的,这样的本地瓦片时钟可以由逻辑瓦片1中的电路系统采用以执行或施行逻辑瓦片的功能或操作。在图3G的阵列的每个其它逻辑瓦片中实现类似的操作。在图6D的阵列的逻辑瓦片中,情况相同。即,每个逻辑瓦片的时钟分配和传输电路系统的瓦片时钟生成电路系统使用(i)从两个相对侧向/从同一行中的逻辑瓦片和(ii)从两侧向/从同一列中的逻辑瓦片分配和/或发送的时钟信号来生成本地时钟信号。如上所述,在一个实施例中,在行方向上向/从逻辑瓦片接收、发送或分配的时钟信号在延迟匹配之后,以及在列方向上向/从逻辑瓦片发送或分配的时钟信号在延迟匹配之后由瓦片时钟生成电路系统采用来生成(例如,在一个实施例中,电“短路”-参见图7B和图7C)一个或多个本地时钟信号。
值得注意的是,在一个实施例中,图3G和图6D中图示的实施例的逻辑瓦片不需要采用所有输入时钟信号(即,在这个图示的实施例中,四个时钟信号输入到形成逻辑瓦片阵列的周边的或在逻辑瓦片阵列的周边上的逻辑瓦片中)。在这方面,每个逻辑瓦片的时钟分配和传输电路系统的瓦片时钟生成电路系统可以采用输入到阵列中的时钟信号中的一个、两个、三个或四个时钟信号来生成一个或多个本地时钟信号。即,每个逻辑瓦片的时钟分配和传输电路系统的电路系统可以在生成(一个或多个)本地时钟信号时采用由逻辑瓦片的时钟分配和传输电路系统接收的延迟匹配的时钟信号中的一个、两个、三个或四个延迟匹配的时钟信号。
因此,在这个实施例中,逻辑瓦片的时钟分配和传输电路系统可以使用(i)从一个或两个相对侧向/从同一行中的逻辑瓦片和/或(ii)从一侧或两侧向/从同一列中的逻辑瓦片分配和/或发送的时钟信号(即,四个延迟匹配的时钟信号)来生成本地时钟信号。像上面描述的那样,在逐瓦片的基础上,在行方向上向/从逻辑瓦片发送或分配两个时钟信号(沿着相关联的行从阵列的每一侧发送或分配的一个时钟信号),并且在延迟匹配之后,一个或两者被采用以生成由逻辑瓦片中的电路系统采用的一个或多个本地时钟信号(或其衍生信号被采用)。类似地,在列方向上向/从逻辑瓦片发送或分配两个时钟信号(沿着相关联的列从阵列的每一侧发送或分配的一个时钟信号),其中在延迟匹配之后,一个或两者被采用以生成由逻辑瓦片中的电路系统采用的一个或多个本地时钟信号(或其衍生信号被采用)。例如,在一个实施例中,延迟匹配的时钟信号中的两个、三个或四个被“短路”以生成一个或多个本地时钟信号(例如,相关联的逻辑瓦片的瓦片时钟)。(例如,参见图7A以及图7B和图7C的多路复用器)。
值得注意的是,在一个实施例中,所有时钟信号都使用相同的电路系统(例如,一个多路复用器)被一起短路。在另一个实施例中,来自行方向的延迟匹配的时钟信号被短路,并且来自列方向的延迟匹配的时钟信号被分开短路,此后,来自行方向的短路信号和来自列方向的短路信号然后被短路以生成一个或多个本地时钟信号。应该注意的是,用于短路时钟信号的所有组合和排列以及电路系统和技术都旨在落入本发明的范围内。
可编程/可配置逻辑电路系统的一个、一些或全部逻辑瓦片的时钟分配和传输的布局可以提供相同或不同输入时钟信号中的两个或更多个信号的期望的或可编程的偏移。在一个实施例中,一个或多个逻辑瓦片中的时钟分配和传输电路系统可以生成与多于一个输入时钟相关联的本地时钟信号,其中与每个输入时钟相关联的本地时钟信号是同步的并且相对于在可编程/可配置逻辑电路系统的一个或多个其它逻辑瓦片中采用的瓦片时钟信号基本上无偏移或零偏移。在另一个实施例中,一个或多个逻辑瓦片中的时钟分配和传输电路系统可以生成异步本地时钟信号,该异步本地时钟信号相对于在可编程/可配置逻辑电路系统的一个或多个其它逻辑瓦片中采用的瓦片时钟信号具有固定的或可编程的偏移。值得注意的是,对于每个逻辑瓦片,基于输入时钟生成的瓦片时钟可以相对于基于另一个不同的输入时钟生成的瓦片时钟是同步的或异步的。
特别地,参考图8和图9,在一个实施例中,相对于时钟1的逻辑瓦片1-5(图2B或图2C的类型)的时钟分配和传输路径在逻辑瓦片1-5的瓦片时钟(与时钟1相关联)之间提供基本上无偏移或零偏移。类似地,相对于时钟2的逻辑瓦片1-5的时钟分配和传输路径在逻辑瓦片1-5的瓦片时钟(与时钟2相关联)之间提供基本上无偏移或零偏移。时钟1的时钟信号分配路径及其方向由粗线和箭头指示。时钟2的时钟信号分配路径及其方向由虚线和箭头指示。在这个实施例中,每个逻辑瓦片1-5的时钟分配和传输电路系统被编程为提供与时钟1相关的瓦片时钟信号和/或瓦片信号,该瓦片时钟信号和/或瓦片信号分别相对于与时钟1相关联的其它瓦片时钟信号和/或瓦片信号基本上无偏移或零偏移。类似地,每个逻辑瓦片1-5的时钟分配和传输电路系统被编程为提供与时钟2相关的瓦片时钟信号和/或瓦片信号,该瓦片时钟信号和/或瓦片信号分别相对于与时钟2相关联的其它瓦片时钟信号和/或瓦片信号基本上无偏移或零偏移。
因此,在一个或多个逻辑瓦片基于不同的输入时钟接收、发送、分配和生成多个不同的时钟信号的那些实施例中,每个逻辑瓦片的时钟分配和传输电路系统可以采用每个路径的多个输入和输出时钟缓冲器以生成和分配此类时钟。在这个示例性实施例中,每个瓦片针对每个时钟路径生成、分配和支持两个瓦片输出时钟、两个瓦片输入时钟以及两个瓦片U型转弯电路,由此,每个逻辑瓦片将两个独立的时钟信号传播给那些相关的瓦片并生成两个本地时钟(与时钟1信号输入和时钟2信号输入对应的瓦片时钟信号-各自被采用来为相关联的逻辑瓦片生成独立的“瓦片时钟”)。
值得注意的是,使用时钟1和/或时钟2生成的瓦片时钟可以被采用以生成多个同步或异步瓦片时钟(基于时钟1和/或时钟2),这些瓦片时钟由例如逻辑电路系统(和存储器)采用以实现逻辑瓦片的或逻辑瓦片中的同步或异步功能或操作或/和与其它逻辑瓦片和/或可编程/可配置逻辑电路系统的外部输入和输出的同步或异步通信。这样的同步或异步时钟可能与时钟1、或时钟2、或时钟1和时钟2相关。
本发明的技术可以使用用于执行、施行和/或评估可编程/可配置逻辑电路系统的逻辑瓦片中的一个、一些或全部逻辑瓦片的时钟分配的体系架构的一个或多个处理器(适当地编程)来实现。该时钟分配体系架构可以选择性地将一个或多个(或者如果合适的话,可以没有)U型转弯电路加入到一个或多个逻辑瓦片的时钟信号路径中,以生成相对于集成电路的可编程/可配置逻辑电路系统的其它逻辑瓦片的瓦片时钟信号具有期望的或可编程的偏移的瓦片时钟信号。
虽然已经描述、图示、配置和/或设计了在延迟匹配之后在其之间基本上没有偏移的时钟输入信号,但是可以配置或设计(并且此后构造)这样的信号以包括相对于集成电路的可编程/可配置逻辑电路系统的其它逻辑瓦片的一个或多个时钟信号的预定的或编程的时钟偏移。可编程/可配置逻辑电路系统的一个、一些或全部逻辑瓦片的时钟分配的体系架构可以被设计为相对于集成电路的可编程/可配置逻辑电路系统的其它逻辑瓦片的时钟信号提供期望的或可编程的非零偏移。值得注意的是,例如,在(原位(in situ))使用期间和/或基于一种或多种操作条件,可编程的偏移可以是固定的或可编程的/可变的(无论是一次还是多次)。而且,可编程的偏移可以在制造、部署之后和/或在(例如,由与控制电路系统相关联的电子设备的用户和/或操作者原位)操作期间是固定的和/或可编程的。
本文描述和图示了许多发明。虽然已经描述和图示了本发明的某些实施例、特征、属性和优点,但是应该理解的是,根据描述和图示,本发明的许多其它的、以及不同的和/或类似的实施例、特征、属性和优点是清楚的。因此,本文描述和图示的本发明的实施例、特征、属性和优点不是穷尽的,并且应该理解的是,本发明的这样的其它的、类似的、以及不同的实施例、特征、属性和优点在本发明的范围内。
实际上,本发明既不限于任何单个方面或其实施例,也不限于这些方面和/或实施例的任何组合和/或排列。而且,本发明的每个方面和/或其实施例可以被单独采用或者与本发明的一个或多个其它方面和/或其实施例结合使用。
例如,在例示性示例性实施例中,时钟电路系统位于“芯片上”,例如,集成在集成电路的管芯中/上的时钟电路系统。这样的时钟电路系统(例如,锁相环(PLL)电路系统和/或延迟锁定环(DLL)电路系统可以部分地或全部地在可编程/可配置逻辑电路系统内部或外部(例如,在一个或多个逻辑瓦片中)生成。可替代地,时钟电路系统可以部分地或全部地在芯片外,从而在集成电路的管芯外部。无论如何,时钟电路系统生成由可编程/可配置逻辑电路系统的一个或多个逻辑瓦片采用以生成相关联的逻辑瓦片的瓦片时钟信号的时钟信号。该瓦片时钟可以由电路系统使用以促进逻辑瓦片的功能或操作的有序的实现和/或与其它逻辑瓦片以及外部输入和输出的通信。
而且,虽然已经将U型转弯电路描述和图示为位于相关联的输出路径处/中,但是U型转弯电路不必位于输出路径处/中并与输出路径相关联-而只与逻辑瓦片的时钟分配和传输电路系统相关联。
另外,如上所述,虽然图2A-图2C的逻辑瓦片的每个时钟路径包括至少一个U型转弯电路,但是一个或多个逻辑瓦片可以包括不包括U型转弯电路的时钟路径。而且,如上所述,设置在每个输出路径处的U型转弯电路可以是相同或不同类型的电路-例如,在第一输出路径处,U型转弯电路可以由一个缓冲器组成,并且在第二输出路径处,U型转弯电路可以由两个或更多个缓冲器组成。
实际上,逻辑瓦片中的U型转弯电路可以被加入到时钟路径中以对逻辑瓦片的时钟信号之间的时钟偏移和/或相位进行编程或平衡(例如,维持基本上无偏移或零偏移)。除U型转弯电路之外的电路或电路配置可以被采用以通过加入、匹配或提供逻辑瓦片的时钟信号的可编程延迟来对时钟偏移和/或相位进行编程或平衡。
而且,虽然用于一个或多个可编程/可配置逻辑电路系统的逻辑瓦片的时钟分配和传输路径可以生成独立的瓦片时钟(例如,使用独立的异步输入时钟),但不是可编程/可配置逻辑电路系统的所有的逻辑瓦片都可以生成和/或分配这样的独立时钟。例如,参考图10,逻辑瓦片3不生成与时钟1对应的一个或多个瓦片时钟,并且逻辑瓦片4不生成与时钟2对应的一个或多个瓦片时钟。类似地,逻辑瓦片2不生成与时钟2对应的一个或多个瓦片时钟-但是,时钟2的时钟分配路径包括逻辑瓦片2。
另外,禁用时钟路径的未选择部分或未被加入到时钟分配、生成和/或传输路径的逻辑瓦片的时钟分配和传输电路系统的部分(在下文中统称为“未选择的电路系统”)中的那些缓冲器、晶体管(以及其它有源或无源元件)可能是有利的。例如,参考图9,整个南时钟路径和/或北时钟路径的U型转弯电路和输出缓冲器可以被禁用(例如,被永久禁用或者如果和直到时钟路径被重新配置或重新编程-例如,原位或测试期间)。在一个实施例中,可以通过不向这样未选择的部分传播或提供电力来禁用电路系统(例如,在设计和/或制造期间)。在另一个实施例中,可以经由来自例如控制电路系统的一个或多个控制信号来禁用电路系统。
本发明可以与包括例如正方形、矩形、梯形、五边形和/或六边形的任何“形状”瓦片结合使用。在一个方向上的时钟输入和输出路径的传播延迟不同于另一个方向的情况下(例如,在垂直方向上引入的延迟与在水平方向上引入的延迟不同),控制电路系统可以对时钟分配路径进行编程以提供瓦片之间的水平和垂直传播延迟分量的关系。例如,参考图11,矩形形状的逻辑瓦片的示例性时钟分配和传输电路系统包括在垂直方向上与水平方向不同的输入和输出时钟信号路径长度,因此,逻辑瓦片的输入和输出路径可以包括一个输入/输出和U型转弯电路,以引入时钟信号路径的附加的垂直和水平传播延迟分量(其中,垂直路径的长度与水平路径不同)。在这些情况下,垂直时钟信号线传播延迟和水平时钟信号线传播延迟的关系可以由控制电路系统(和/或时钟分配和传输电路系统)在确定逻辑瓦片之间预定的或期望的偏移(例如,无偏移或零偏移)时单独地确定、计算和/或补偿。
参考图12,示例性时钟分配和分配路径及其方向由粗线和箭头指示,其中每个逻辑瓦片的时钟分配和传输电路系统被配置或编程为提供时钟分配和分配路径(每个具有相同的垂直和水平传播延迟分量-即,在这个示例性实施例中为5个水平传播延迟分量和2个垂直传播延迟分量),该时钟分配和分配路径提供了由每个逻辑瓦片采用的瓦片时钟信号的示例性编程关系(这里,基本上无偏移或零偏移)。在这个示例性实施例中,时钟信号输入由逻辑瓦片1接收,该逻辑瓦片1除了将时钟信号分配和发送到逻辑瓦片2之外,还加入延迟(该延迟包括传播延迟的垂直和水平分量),该延迟提供了由逻辑瓦片1采用的时钟信号与逻辑瓦片2-5(并且,在某些实施例中,可编程/可配置逻辑电路系统的其它逻辑瓦片中的一个、一些或全部逻辑瓦片)的时钟信号的预定关系。在这个示例性实施例中,每个逻辑瓦片已在某些情况下使用U型转弯电路系统加入相同的时钟延迟(5个水平和2个垂直),以平衡逻辑瓦片之间的时钟偏移。
因此,虽然许多实施例是在正方形形状瓦片的背景下描述的(其中传播延迟的垂直分量和水平分量相等或基本上相等),但是本发明可以在垂直和水平时钟信号线的长度不相等的情况下实现。在这些情况下,时钟信号线延迟与垂直和水平延迟的关系可以由控制电路系统单独地确定和/或计算,此后适当地被配置成提供预定的时钟偏移(在图12中为零)。本文描述和图示的所有发明可完全地应用于非正方形逻辑瓦片形状或传播延迟的垂直分量不同于传播延迟的水平分量的逻辑瓦片。为了简洁起见,将不重复本文结合非正方形形状的瓦片(或具有在逻辑瓦片上的第一方向上的传播延迟量不同于在逻辑瓦片上的第二方向上的传播延迟量的逻辑瓦片)阐述的本发明的讨论。因此,没有提供针对每个逻辑瓦片形状的单独讨论;但是,基于本公开,对于本领域的普通技术人员来说,对于例如正方形、矩形、梯形、五边形和/或六边形和/或具有例如基于时钟路径的方向而不同的传播延迟分量的逻辑瓦片的适用性将是清楚的)。
值得注意的是,本发明适用于超过x-y维度或平面的时钟电路系统和体系架构。例如,在3-D集成电路芯片的背景下,其中瓦片可以存在于不同的硅层上或者其中时钟体系架构在集成电路内垂直地经过,时钟路径将在z维度或平面上进行匹配。可以确定的是,根据本申请,本领域的普通技术人员将清楚本文中描述和/或图示的本发明对超过x-y维度或平面的适用性。
参考图13A,逻辑瓦片的时钟分配和传输电路系统可以包括瓦片时钟启用/禁用电路系统,以响应性地启用或禁用逻辑瓦片的本地瓦片时钟(即,瓦片时钟)的生成和/或输出(该本地瓦片时钟如本文所讨论的可以由例如逻辑电路系统(和/或存储器)采用以实现相关联的逻辑瓦片的功能或操作和/或同步与其它逻辑瓦片和/或可编程/可配置逻辑电路系统的外部输入和输出的通信)。瓦片时钟启用/禁用电路系统由控制电路系统控制-例如,该控制电路系统在逻辑瓦片中和/或在逻辑瓦片阵列的外部(诸如,例如,图1A中的“控制电路系统”)。在一个实施例中,一个或多个控制信号被施加到瓦片时钟启用/禁用电路系统,以便禁用本地瓦片时钟的生成和/或输出;这里,电路系统的默认情况是启用本地瓦片时钟的生成和/或输出。值得注意的是,虽然在这个例示性实施例中,瓦片时钟启用/禁用电路系统是与(AND)逻辑门,但是可以采用任何逻辑或电路系统-所有这些旨在落入本发明的范围内。
为了避免疑问,本文中描述和/或图示的任何和所有实施例的逻辑瓦片的时钟分配和传输电路系统可以包括瓦片时钟启用/禁用电路系统。为了简洁起见,没有提供对实现这种时钟分配和传输电路系统的每个实施例的单独讨论/图示;但是,基于本公开,该实现对于本领域普通技术人员而言是清楚的。
参考图13B,在另一个实施例中,逻辑瓦片阵列的逻辑瓦片的时钟分配和传输电路系统还包括用于接收和采用与由一个或多个逻辑瓦片实现的一个或多个功能/操作有关的逻辑瓦片中的网格时钟信号的电路系统。这里,时钟网格将网格时钟信号提供给逻辑瓦片。注意的是,该时钟网格与使用多路复用器输入实现的图7B中的“时钟网格”结构不同。在普通的硅设计中,使用金属化/布线将芯片上时钟网格一起短路,而不是如图7B和/或图7C中那样将多路复用器的多个输入一起短路。例如,在一个实施例中,多个逻辑瓦片的阵列接收一个或多个单独的时钟信号(如上所述)以及网格时钟(经由时钟网格体系架构),这可以被分配给每个逻辑瓦片并由逻辑瓦片采用以执行各种功能/操作。控制电路系统可以在阵列的一个或多个逻辑瓦片内并与由一个或多个逻辑瓦片实现的一个或多个功能/操作有关地来启用网格时钟(代替其它时钟信号)的使用。
参考图13B-图13D,在一个实施例中,时钟分配和传输电路系统包括时钟选择电路系统(例如,一个或多个时钟选择多路复用器),以选择性地并且响应性地输出信号中的一个信号以用作在执行由一个或多个逻辑瓦片实现的一个或多个功能/操作或与由一个或多个逻辑瓦片实现的一个或多个功能/操作有关时在相关联的逻辑瓦片中的本地时钟信号(即,瓦片时钟)。继续参考图13B,在一个实施例中,时钟选择电路系统包括一个或多个时钟选择多路复用器。这里,控制电路系统经由接收多个时钟信号(包括时钟网格时钟)的时钟选择多路复用器的控制来选择性地启用时钟网格信号的使用。在这个实施例中,逻辑瓦片的物理阵列的逻辑瓦片的时钟分配和传输电路系统还包括多个输入和输出路径(在这个图示的实施例中为四个路径-标记为“北时钟路径”、“东时钟路径”、“南时钟路径”和“西时钟路径”)以接收和/或生成具有期望的或可编程的偏移的瓦片时钟信号,并且另外接收时钟网格信号(经由网格时钟布局)。通过选择性地控制(一个或多个)时钟选择多路复用器,逻辑瓦片采用给定的时钟信号(例如,网格时钟信号)。即,在一个实施例中,时钟选择多路复用器响应性地输出网格时钟信号或者内部生成/衍生的时钟信号(例如,使用上述任何电路系统和/或技术生成的延迟匹配的时钟信号)作为由逻辑瓦片的电路系统使用以执行或施行例如功能和/或操作的瓦片时钟。控制电路系统可以经由这样的(一个或多个)时钟选择多路复用器的控制在一个或多个逻辑瓦片内并与由一个或多个逻辑瓦片实现的一个或多个功能/操作有关地来启用网格时钟(代替其它时钟信号)的使用。
因此,在一个实施例中,时钟选择多路复用器响应性地输出网格时钟信号或者内部生成/衍生的时钟信号(例如,延迟匹配的时钟信号)作为由逻辑瓦片的电路系统使用以执行或施行例如功能和/或操作的瓦片时钟。值得注意的是,在一个实施例中,时钟选择多路复用器相对于一个或多个逻辑瓦片中的其它时钟选择多路复用器被单独/独自地控制(例如,经由施加到一个或多个时钟选择多路复用器的单独的选择/控制信号);在另一个实施例中,一个或多个逻辑瓦片的时钟选择多路复用器作为组(例如,经由一个选择/控制信号)被控制。
在一个实施例中,控制电路系统在逐个瓦片的基础或逐个瓦片组的基础上确定给定逻辑瓦片内特定时钟信号的使用。即,一个或多个逻辑瓦片可以采用内部生成的瓦片时钟(基于例如延迟匹配的时钟信号),并且一个或多个其它逻辑瓦片可以采用经由时钟网格架构的时钟网格提供给逻辑瓦片的网格时钟信号。控制电路系统可以(在逐个逻辑瓦片的基础上)单独地和/或独自地经由这样的(一个或多个)时钟选择多路复用器的控制在一个或多个逻辑瓦片内-例如,与由这样的一个或多个逻辑瓦片实现的一个或多个功能/操作有关地来启用网格时钟信号(代替其它时钟信号)的使用。例如,控制电路系统可以将控制信号施加到(i)与一个或多个逻辑瓦片的第一组相关联的或一个或多个逻辑瓦片的第一组的时钟选择电路系统(例如,时钟选择多路复用器)以响应性地在一个或多个逻辑瓦片的第一组中输出和采用网格时钟,以及(i)与一个或多个逻辑瓦片的第二组相关联的或一个或多个逻辑瓦片的第二组的时钟选择电路系统(例如,时钟选择多路复用器)以响应性地在一个或多个逻辑瓦片的第二组中输出和采用内部生成的瓦片时钟(例如,基于延迟匹配的时钟信号)。实际上,在一个实施例中,控制电路系统可以单独地或独自地控制逻辑瓦片中的时钟选择电路系统(例如,经由将不同的输入选择信号施加到给定逻辑瓦片内的多路复用器来控制时钟选择多路复用器),以便促进逻辑瓦片内多于一个时钟信号的实现或使用。
在又另一个实施例中,控制电路系统(其可以包括存储器或者可以是存储器,该存储器例如存储表示控制信号的数据)可以将控制信号施加到与所有逻辑瓦片相关联的时钟选择多路复用器以响应性地输出和采用(i)在一个或多个逻辑瓦片的第一组中的网格时钟信号,或(ii)内部生成的瓦片时钟(例如,基于延迟匹配的时钟信号)。值得注意的是,这种控制信号可以存储在存储器中并且在相关联的逻辑瓦片的配置或重新配置期间(例如,在启动/初始化时)被施加到一个或多个时钟选择电路系统(例如,时钟选择多路复用器)。在一个实施例中,对于逻辑瓦片阵列的逻辑瓦片的给定配置(即,直到这样的逻辑瓦片被重新配置),时钟选择多路复用器的控制是固定的。在另一个实施例中,可以原位(即,在FPGA或集成电路的操作期间)修改控制信号。例如,由一个或多个逻辑瓦片(或一个或多个逻辑瓦片内的电路系统)采用的时钟信号可以在操作期间例如基于这样的一个或多个逻辑瓦片的功能、操作的执行或施行和/或通信而改变。
值得注意的是,在控制信号的数据状态存储在存储器中的情况下,控制信号的这种数据可以是固定的(启动/初始化)或动态的(在启动/初始化之后可修改)。这里,控制电路系统包括存储控制信号的(一个或多个)数据状态的存储器。参考图13C,在一个实施例中,然后可以读取存储在存储器中的(一个或多个)数据状态并将其作为控制信号施加到时钟选择电路系统(在一个实施例中,时钟选择电路系统是一个或多个时钟选择多路复用器的实施例或包括一个或多个时钟选择多路复用器-参见例如图13B)以实现在相关联的逻辑瓦片内使用一个或多个特定瓦片时钟(本地时钟信号)。
值得注意的是,时钟网格体系架构和电路系统可以在本文中描述和/或图示的任何实施例中实现。为了简洁起见,未提供对实现时钟网格体系架构的每个实施例的单独讨论/图示;但是,基于本公开,该实现对于本领域普通技术人员而言是清楚的。而且,图13B的时钟网格和与其相关的电路系统可以结合图13A的瓦片时钟启用/禁用电路系统来实现,使得在一个实施例中,当逻辑瓦片采用网格时钟时,瓦片时钟启用/禁用电路系统可以禁用本地瓦片时钟的生成和输出(该本地瓦片时钟是从或使用输入到阵列的一个或多个外围上的逻辑瓦片的发送/分配的和延迟匹配的时钟信号生成的(例如,参见图3A-图3G)。
术语“电路系统”除其它的意义外意味着电路(无论是集成的还是其它的)、一组这样的电路、一个或多个处理器、一个或多个状态机、实现软件的一个或多个处理器、一个或多个门阵列、可编程门阵列和/或现场可编程门阵列,或者一个或多个电路(无论是集成的还是其它的)、一个或多个状态机、一个或多个处理器、实现软件的一个或多个处理器、一个或多个门阵列、可编程门阵列和/或现场可编程门阵列的组合。术语“数据”除其它的意义外意味着可以是单个比特(或类似的)或多个比特(或类似的)的无论是以模拟的形式还是数字的形式的(一个或多个)电流或电压信号(复数或单数)。
存储数据、式子、关系和/或查找表的存储器可以是永久的、半永久的或暂时的(即,直到被重新编程)存储装置,该存储装置是分立的或驻留在(即,集成在)例如控制电路系统中。结合本发明,存储器可以存储可编程/可配置逻辑电路系统的逻辑瓦片的瓦片时钟信号和瓦片时钟之间的可编程偏移关系(无论是零还是非零)。因此,在一个实施例中,存储器可以是一次可编程的,或者由控制电路系统采用的数据、式子、关系和/或查找表可以是一次可编程的(例如,在测试期间或在制造时编程的)。在另一个实施例中,存储器是可多于一次编程的,因此,在测试和/或制造之后,可以修改由控制电路系统采用的预定值和/或频带范围。
值得注意的是,已经将U型转弯电路描述为由缓冲器组成。但是,U型转弯电路可以由现在已知的或以后开发的可以被采用以生成相对于集成电路的可编程/可配置逻辑电路系统的其它逻辑瓦片的瓦片时钟信号的期望的或可编程的偏移和/或相位的任何有源或无源元件组成。例如,在一个实施例中,可以采用一种或多种常规类型的缓冲器。
如以上提到的,本文中描述的技术可以使用执行、施行和/或评估本文中描述的功能或操作中的一个或多个功能或操作以生成本发明的时钟信号分配和传输网络或体系架构的一个或多个处理器(适当地编程)来实现。
值得注意的是,本文中公开的各种电路、电路系统和技术可以使用计算机辅助设计工具来描述,并且依据其行为、寄存器传送、逻辑部件、晶体管、布局几何形状和/或其它特性来表达(或表示)为在各种计算机可读介质中实施的数据和/或指令。可以实现这样的电路、电路系统、布局和路由表达的文件和其它对象的格式包括但不限于支持行为语言(诸如C、Verilog和HLDL)的格式、支持寄存器级描述语言(比如RTL)的格式以及支持几何形状描述语言(诸如GDSII、GDSIII、GDSIV、CIF、MEBES)的格式以及现在已知的或者以后开发的任何其它格式和/或语言。可以实施这样的格式化数据和/或指令的计算机可读介质包括但不限于各种形式的非易失性存储介质(例如,光学、磁性或半导体存储介质)和可以被用于通过无线、光或有线信令介质或其任意组合来传送这样的格式化数据和/或指令的载波。通过载波传送这样的格式化数据和/或指令的示例包括但不限于经由一种或多种数据传送协议(例如,HTTP、FTP、SMTP等)在互联网和/或其它计算机网络上进行传送(上传、下载、电子邮件等)。
实际上,当上述电路的这样的基于数据和/或指令的表达经由一个或多个计算机可读介质在计算机系统内被接收时,可以由计算机系统内的处理实体(例如,一个或多个处理器)结合一个或多个其它计算机程序(包括但不限于网表生成程序、布局和布线程序等)的施行而被处理,以生成这样的电路的物理表现(manifestation)的表示或图像。这样的表示或图像此后可以被用在设备制造中,例如,通过在设备制造过程中使得能够生成用于形成电路的各种部件的一个或多个掩模。
而且,本文中公开的各种电路和电路系统以及技术可以使用计算机辅助设计和/或测试工具经由模拟来表示。充电电路系统、控制电路系统和/或监控电路系统和/或由此实现的技术的模拟可以由计算机系统来实现,其中这样的电路系统的特性和操作以及由此实现的技术经由计算机系统被仿真、复制和/或预测。本发明还涉及创造性的充电电路系统、控制电路系统和/或监控电路系统和/或由此实现的技术的这种模拟,并且因此旨在落入本发明的范围内。对应于这样的模拟和/或测试工具的计算机可读介质也旨在落入本发明的范围内。
值得注意的是,本文中对“一个实施例”或“实施例”(或类似的)的引用意味着结合实施例描述的特定特征、结构或特性可以在本发明的一个、一些或全部实施例中被包括、采用和/或结合。在说明书中短语“在一个实施例中”或“在另一个实施例中”(或类似的)的使用或出现不是指相同的实施例,也不是指与一个或多个其它实施例必须相互排斥的单独的或可替代的实施例,也不限于单个排他的实施例。这同样应用于术语“实现”。本发明既不限于任何单个方面或其实施例,也不限于这样的方面和/或实施例的任意组合和/或排列。而且,本发明的每个方面和/或其实施例可以被单独采用或者与本发明的一个或多个其它方面和/或其实施例组合使用。为了简洁起见,本文中不单独讨论和/或图示某些排列和组合。
另外,本文中描述为“示例性”的实施例或实现不应被解释为例如相对于其它实施例或实现是优选的或有利的;而是旨在传达或指示这一个或多个实施例是(一个或多个)示例实施例。
最后,虽然已经在某些具体方面描述了本发明,但是许多附加的修改和变化对于本领域技术人员而言将是清楚的。因此,应当理解的是,在不脱离本发明的范围和精神的情况下,本发明可以以不同于具体描述的方式来实践。因此,本发明的实施例应当在所有方面都被认为是例示性而不是限制性的。
本文中的术语“第一”、“第二”等不表示任何顺序、数量或重要性,而是用于区分一个元件与另一个元件。而且,本文中的术语“一”和“一个”不表示数量的限制,而是表示至少一个所引用的项的存在。
另外,术语“逻辑瓦片”意味着例如被连接或被配置到可编程部件(例如,可编程逻辑部件)中的多个晶体管(通常超过数千)的设计单元或块,在本申请中,该设计单元或块能够连接到一个或多个相邻的“逻辑瓦片”(例如,在操作中或在操作期间)。术语(i)“集成电路”除其它意义外意味着处理器、控制器、状态机、门阵列、SOC、PGA和/或FPGA。
此外,术语“数据”除其它意义外还可以意味着无论是模拟形式还是数字形式的(一个或多个)电流或电压信号(可以是单个比特(或类似的)或多个比特(或类似的))。术语“零偏移”意味着零偏移或基本上零偏移(即,在零偏移的10%以内)。
术语“包含(comprises)”、“包含(comprising)”、“包括(includes)”、“包括(including)”、“具有(have)”以及“具有(having)”或其任何其它变化旨在涵盖非排他性的包括,使得包含元件列表的过程、方法、电路、制品或装置不仅包括那些元件,而且可以包括这样的过程、方法、制品或装置未明确列出的或固有的其它元件。在整个本文档中,术语“连接(connect)”、“被连接(connected)”、“正在连接(connecting)”或“连接(connection)”的使用应该被广义地解释为包括直接或间接(例如,经由一个或多个导体和/或中间设备/元件(有源或无源)和/或经由电感或电容耦合)),除非另有说明(例如,使用术语“直接连接”或“直接被连接”)。
Claims (20)
1.一种集成电路,包含:
以多个行和/或列布置的逻辑瓦片阵列,其中,在操作期间,每个逻辑瓦片能够配置成连接到与其相邻的至少一个逻辑瓦片,并且其中,所述逻辑瓦片阵列的每个逻辑瓦片包括:
至少一个输入时钟路径,其中,该输入时钟路径包括能够配置成接收时钟信号的电路系统;
多个输出时钟路径,其中,每个输出时钟路径包括能够配置成将瓦片输出时钟信号发送到逻辑瓦片阵列的与其相邻的一个或多个逻辑瓦片的电路系统,
瓦片时钟生成电路系统,耦接到输入时钟路径,能够配置成生成具有偏移的瓦片时钟,其中,所述瓦片时钟的偏移相对于由逻辑瓦片阵列的每个逻辑瓦片的瓦片时钟生成电路系统生成的瓦片时钟是平衡的,以及
耦接到所述瓦片时钟生成电路系统以使用或基于所述瓦片时钟来执行操作的电路系统;并且
其中,所述逻辑瓦片阵列包括:
第一逻辑瓦片,以在相关联的所述至少一个输入时钟路径的输入处接收第一外部时钟信号,其中,逻辑瓦片阵列的相邻的第一多个逻辑瓦片中的每个逻辑瓦片能够配置为使用以下来生成其瓦片时钟:(i)由第一逻辑瓦片接收到的第一外部时钟信号,或者(ii)从第一多个逻辑瓦片中的逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第一外部时钟信号的延迟版本,其中所述第一逻辑瓦片是所述第一多个逻辑瓦片中的一个,以及
第二逻辑瓦片,以在相关联的所述至少一个输入时钟路径的输入处接收第二外部时钟信号,其中,逻辑瓦片阵列的相邻的第二多个逻辑瓦片中的每个逻辑瓦片能够配置为使用以下来生成其瓦片时钟:(i)由第二逻辑瓦片接收到的第二外部时钟信号,或者(ii)从第二多个逻辑瓦片中的逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第二外部时钟信号的延迟版本,其中所述第二逻辑瓦片是所述第二多个逻辑瓦片中的一个,并且其中:
第一多个逻辑瓦片中的逻辑瓦片与第二多个逻辑瓦片中的逻辑瓦片不同,
所述第一多个逻辑瓦片中的逻辑瓦片中的至少一个逻辑瓦片能够配置为使用从所述第一多个逻辑瓦片中的逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第一外部时钟信号的延迟版本来生成其瓦片时钟,
所述第二多个逻辑瓦片中的逻辑瓦片中的至少一个逻辑瓦片能够配置为使用从所述第二多个逻辑瓦片中的逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第二外部时钟信号的延迟版本来生成其瓦片时钟,并且
第一外部时钟信号和第二外部时钟信号具有相同的时钟频率并且相对于彼此零偏移。
2.如权利要求1所述的集成电路,其中,所述逻辑瓦片阵列的每个逻辑瓦片的所述多个输出时钟路径中的每个输出时钟路径包括至少一个U型转弯电路。
3.如权利要求2所述的集成电路,其中,U型转弯电路中的所述至少一个U型转弯电路包括一个或多个缓冲器。
4.如权利要求1所述的集成电路,其中,第一逻辑瓦片位于所述逻辑瓦片阵列的第一侧的周边上,并且第二逻辑瓦片位于所述逻辑瓦片阵列的第二侧的周边上。
5.如权利要求4所述的集成电路,其中,所述逻辑瓦片阵列的第一侧与所述逻辑瓦片阵列的第二侧相对。
6.如权利要求5所述的集成电路,其中,第一逻辑瓦片位于所述逻辑瓦片阵列的第一侧的第一列中,并且第二逻辑瓦片位于所述逻辑瓦片阵列的第二侧的最后一列中。
7.如权利要求1所述的集成电路,其中,每个逻辑瓦片的瓦片时钟生成电路系统包括一个或多个缓冲器。
8.如权利要求1所述的集成电路,其中:
所述第一逻辑瓦片位于逻辑瓦片阵列的外部周边的第一侧上,并且所述第一逻辑瓦片在第一逻辑瓦片的形成外部周边的第一侧的至少一部分的一侧处接收第一外部时钟,并且
所述第二逻辑瓦片位于逻辑瓦片阵列的外部周边的第二侧上,并且所述第二逻辑瓦片在第二逻辑瓦片的形成外部周边的第二侧的至少一部分的一侧处接收第二外部时钟。
9.一种集成电路,包含:
以多个行和列布置的逻辑瓦片阵列,其中,在操作期间,每个逻辑瓦片能够配置成连接到与其相邻的至少一个逻辑瓦片,并且其中,所述逻辑瓦片阵列的每个逻辑瓦片包括:
至少一个输入时钟路径,其中,该输入时钟路径包括能够配置成接收时钟信号的电路系统;
多个输出时钟路径,其中,每个输出时钟路径包括能够配置成将瓦片输出时钟信号发送到逻辑瓦片阵列的与其相邻的一个或多个逻辑瓦片的电路系统,
瓦片时钟生成电路系统,耦接到输入时钟路径,能够配置成生成具有偏移的瓦片时钟,其中,所述瓦片时钟的偏移相对于由逻辑瓦片阵列的每个逻辑瓦片的瓦片时钟生成电路系统生成的瓦片时钟是平衡的,以及
耦接到所述瓦片时钟生成电路系统以使用或基于所述瓦片时钟执行操作的电路系统;并且
其中,所述逻辑瓦片阵列包括多列逻辑瓦片和多行逻辑瓦片,包括:
第一列逻辑瓦片,以接收第一外部时钟信号,其中,第一列逻辑瓦片中的每个逻辑瓦片在相关联的所述至少一个输入时钟路径的输入处接收第一外部时钟信号,并且其中,逻辑瓦片阵列的第一多个逻辑瓦片中的每个逻辑瓦片能够配置为使用以下来生成其瓦片时钟:(i)由第一列逻辑瓦片中的逻辑瓦片接收到的第一外部时钟信号,或者(ii)从第一列逻辑瓦片中的至少一个逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第一外部时钟信号的延迟版本,其中所述第一列逻辑瓦片中的逻辑瓦片是第一多个逻辑瓦片的一部分,以及
第二列逻辑瓦片,以接收第二外部时钟信号,其中,第二列逻辑瓦片中的每个逻辑瓦片在相关联的所述至少一个输入时钟路径的输入处接收第二外部时钟信号,并且其中,逻辑瓦片阵列的第二多个逻辑瓦片中的每个逻辑瓦片能够配置为使用以下来生成其瓦片时钟:(i)由第二列逻辑瓦片中的逻辑瓦片接收到的第二外部时钟信号,或者(ii)从第二列逻辑瓦片中的至少一个逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第二外部时钟信号的延迟版本,其中所述第二列逻辑瓦片中的逻辑瓦片是第二多个逻辑瓦片的一部分,并且其中:
第一多个逻辑瓦片中的逻辑瓦片与第二多个逻辑瓦片中的逻辑瓦片不同,
所述第一多个逻辑瓦片中的逻辑瓦片中的至少一个逻辑瓦片能够配置为使用从第一列逻辑瓦片中的逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第一外部时钟信号的延迟版本生成其瓦片时钟,
所述第二多个逻辑瓦片中的逻辑瓦片中的至少一个逻辑瓦片能够配置为使用从第二列逻辑瓦片中的逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第二外部时钟信号的延迟版本生成其瓦片时钟,并且
第一外部时钟信号和第二外部时钟信号具有相同的时钟频率并且相对于彼此零偏移。
10.如权利要求9所述的集成电路,其中,第一列逻辑瓦片位于所述逻辑瓦片阵列的第一侧的外部周边上,第二列逻辑瓦片位于所述逻辑瓦片阵列的第二侧的外部周边上,并且至少两个附加列逻辑瓦片设置在其间。
11.如权利要求10所述的集成电路,其中,所述逻辑瓦片阵列的第一侧与所述逻辑瓦片阵列的第二侧相对。
12.如权利要求9所述的集成电路,其中:
其中,所述逻辑瓦片阵列的第一多个逻辑瓦片中的每个逻辑瓦片还能够配置为使用以下来生成其瓦片时钟:(i)由第二列逻辑瓦片中的逻辑瓦片接收到的第二外部时钟信号,或者(ii)从第二多个逻辑瓦片中的至少一个逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第二外部时钟信号的延迟版本,并且
其中,所述逻辑瓦片阵列的第二多个逻辑瓦片中的每个逻辑瓦片还能够配置为使用以下来生成其瓦片时钟:(i)由第一列逻辑瓦片中的逻辑瓦片接收到的第一外部时钟信号,或者(ii)从第一多个逻辑瓦片中的至少一个逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第一外部时钟信号的延迟版本。
13.如权利要求12所述的集成电路,其中:
所述逻辑瓦片阵列的第一多个逻辑瓦片和第二多个逻辑瓦片中的每个逻辑瓦片的瓦片时钟生成电路系统使(i)由第一逻辑瓦片接收到的第一外部时钟信号或第一外部时钟信号的延迟版本和(ii)由第一逻辑瓦片接收到的第二外部时钟信号或第二外部时钟信号的延迟版本电短路,以生成逻辑瓦片的瓦片时钟。
14.如权利要求12所述的集成电路,其中:
所述逻辑瓦片阵列的第一多个逻辑瓦片和第二多个逻辑瓦片中的每个逻辑瓦片的瓦片时钟生成电路系统包括多路复用器以:(a)接收(i)由第一逻辑瓦片接收到的第一外部时钟信号或第一外部时钟信号的延迟版本和(ii)由第一逻辑瓦片接收到的第二外部时钟信号或第二外部时钟信号的延迟版本,以生成逻辑瓦片的瓦片时钟,以及(b)响应地输出以下中的一个(i)由第一逻辑瓦片接收到的第一外部时钟信号或第一外部时钟信号的延迟版本或(ii)由第一逻辑瓦片接收到的第二外部时钟信号或第二外部时钟信号的延迟版本,以生成逻辑瓦片的瓦片时钟,其中:
所述瓦片时钟生成电路系统基于或使用(i)由第一逻辑瓦片接收到的第一外部时钟信号或第一外部时钟信号的延迟版本或(ii)由第一逻辑瓦片接收到的第二外部时钟信号或第二外部时钟信号的延迟版本,经由多路复用器的输出生成瓦片时钟,以生成逻辑瓦片的瓦片时钟。
15.如权利要求9所述的集成电路,其中,所述逻辑瓦片阵列的每个逻辑瓦片的所述多个输出时钟路径中的每个输出时钟路径包括至少一个U型转弯电路。
16.如权利要求9所述的集成电路,其中,所述逻辑瓦片阵列中的至少一个逻辑瓦片的形状是矩形。
17.一种集成电路,包含:
以多个行和/或列布置的逻辑瓦片阵列,其中,在操作期间,每个逻辑瓦片能够配置成连接到与该逻辑瓦片相邻的至少一个逻辑瓦片,并且其中,所述逻辑瓦片阵列的每个逻辑瓦片包括:
至少一个输入时钟路径,其中,该输入时钟路径包括能够配置成接收时钟信号的电路系统;
多个输出时钟路径,其中,每个输出时钟路径包括能够配置成将瓦片输出时钟信号发送到逻辑瓦片阵列的与其相邻的一个或多个逻辑瓦片的电路系统,
瓦片时钟生成电路系统,耦接到输入时钟路径,能够配置成使用生成时钟信号的延迟量以在逻辑瓦片阵列的每个逻辑瓦片的瓦片时钟之间提供零偏移的路径来生成具有偏移的瓦片时钟,以及
耦接到所述瓦片时钟生成电路系统以使用或基于所述瓦片时钟执行操作的电路系统;并且
其中,所述逻辑瓦片阵列包括:
第一逻辑瓦片,以在相关联的所述至少一个输入时钟路径的输入处接收第一外部时钟信号,其中,逻辑瓦片阵列的第一多个逻辑瓦片中的每个逻辑瓦片能够配置成使用以下来生成其瓦片时钟:(i)由第一逻辑瓦片接收到的第一外部时钟信号,或者(ii)从第一多个逻辑瓦片中的逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第一外部时钟信号的延迟版本,其中所述第一逻辑瓦片是所述第一多个逻辑瓦片中的一个,以及
第二逻辑瓦片,以在相关联的所述至少一个输入时钟路径的输入处接收第二外部时钟信号,其中,逻辑瓦片阵列的第二多个逻辑瓦片中的每个逻辑瓦片能够配置成使用以下来生成其瓦片时钟:(i)由第二逻辑瓦片接收到的第二外部时钟信号,或者(ii)从第二多个逻辑瓦片中的逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第二外部时钟信号的延迟版本,其中所述第二逻辑瓦片是所述第二多个逻辑瓦片中的一个,并且其中:
第一多个逻辑瓦片中的逻辑瓦片与第二多个逻辑瓦片中的逻辑瓦片不同,
所述第一多个逻辑瓦片中的逻辑瓦片中的至少一个逻辑瓦片能够配置成使用从所述第一多个逻辑瓦片中的逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第一外部时钟信号的延迟版本来生成其瓦片时钟,
所述第二多个逻辑瓦片中的逻辑瓦片中的至少一个逻辑瓦片能够配置成使用从所述第二多个逻辑瓦片中的逻辑瓦片的所述多个输出时钟路径中的一个输出时钟路径接收到的第二外部时钟信号的延迟版本来生成其瓦片时钟,并且
第一外部时钟信号和第二外部时钟信号具有相同的时钟频率并且相对于彼此零偏移。
18.如权利要求17所述的集成电路,其中,第一逻辑瓦片位于所述逻辑瓦片阵列的第一侧的外部周边上,并且第二逻辑瓦片位于所述逻辑瓦片阵列的第二侧的外部周边上。
19.如权利要求18所述的集成电路,其中,所述逻辑瓦片阵列的第一侧与所述逻辑瓦片阵列的第二侧相对。
20.如权利要求19所述的集成电路,其中,第一逻辑瓦片位于所述逻辑瓦片阵列的第一列逻辑瓦片中,并且第二逻辑瓦片位于所述逻辑瓦片阵列的最后一列逻辑瓦片中,其中所述逻辑瓦片阵列中的至少两个附加列逻辑瓦片设置在第一列逻辑瓦片与最后一列逻辑瓦片之间。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762518699P | 2017-06-13 | 2017-06-13 | |
US62/518,699 | 2017-06-13 | ||
PCT/US2018/035758 WO2018231556A1 (en) | 2017-06-13 | 2018-06-02 | Clock distribution and generation architecture for logic tiles of an integrated circuit and method of operating same |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110603733A CN110603733A (zh) | 2019-12-20 |
CN110603733B true CN110603733B (zh) | 2023-05-05 |
Family
ID=64564335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880029985.7A Active CN110603733B (zh) | 2017-06-13 | 2018-06-02 | 集成电路的逻辑瓦片的时钟分配和生成体系架构及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10348307B2 (zh) |
EP (1) | EP3639370A4 (zh) |
CN (1) | CN110603733B (zh) |
WO (1) | WO2018231556A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3639370A4 (en) | 2017-06-13 | 2020-07-29 | Flex Logix Technologies, Inc. | CLOCK DISTRIBUTION AND GENERATION ARCHITECTURE FOR LOGIC PAVERS OF AN INTEGRATED CIRCUIT AND ITS OPERATING PROCESS |
US10921849B2 (en) * | 2018-01-03 | 2021-02-16 | Tesla, Inc. | Clock sprinklers for a system on a chip |
US11442881B2 (en) * | 2020-04-18 | 2022-09-13 | Flex Logix Technologies, Inc. | MAC processing pipelines, circuitry to control and configure same, and methods of operating same |
CN113901749B (zh) * | 2021-10-11 | 2022-09-30 | 江苏汤谷智能科技有限公司 | 一种fpga阵列结构及基于分部空间分段可编程时钟布线方法 |
US11855633B2 (en) | 2022-05-27 | 2023-12-26 | Stmicroelectronics (Rousset) Sas | Programmable logic array with reliable timing |
US11942935B2 (en) | 2022-07-08 | 2024-03-26 | Stmicroelectronics (Rousset) Sas | Programmable logic block with multiple types of programmable arrays and flexible clock selection |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7373538B1 (en) * | 2005-06-07 | 2008-05-13 | Xilinx, Inc. | Method for determining interconnect line performance within an integrated circuit |
US7375553B1 (en) * | 2003-05-28 | 2008-05-20 | Actel Corporation | Clock tree network in a field programmable gate array |
CN103684363A (zh) * | 2012-09-12 | 2014-03-26 | 辉达公司 | 用于片上互连的定时校准 |
CN106663078A (zh) * | 2014-09-04 | 2017-05-10 | 高通股份有限公司 | 延迟电路以及相关的系统和方法 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5682107A (en) | 1994-04-01 | 1997-10-28 | Xilinx, Inc. | FPGA architecture with repeatable tiles including routing matrices and logic matrices |
US6094066A (en) | 1996-08-03 | 2000-07-25 | Mission Research Corporation | Tiered routing architecture for field programmable gate arrays |
US5933023A (en) | 1996-09-03 | 1999-08-03 | Xilinx, Inc. | FPGA architecture having RAM blocks with programmable word length and width and dedicated address and data lines |
US6204689B1 (en) | 1997-02-26 | 2001-03-20 | Xilinx, Inc. | Input/output interconnect circuit for FPGAs |
US6396303B1 (en) * | 1997-02-26 | 2002-05-28 | Xilinx, Inc. | Expandable interconnect structure for FPGAS |
US6028463A (en) | 1997-10-15 | 2000-02-22 | Lucent Technologies Inc. | Programmable clock manager for a programmable logic device that can generate at least two different output clocks |
US6211695B1 (en) | 1999-01-21 | 2001-04-03 | Vantis Corporation | FPGA integrated circuit having embedded SRAM memory blocks with registered address and data input sections |
WO2000077652A2 (de) | 1999-06-10 | 2000-12-21 | Pact Informationstechnologie Gmbh | Sequenz-partitionierung auf zellstrukturen |
US6429715B1 (en) | 2000-01-13 | 2002-08-06 | Xilinx, Inc. | Deskewing clock signals for off-chip devices |
US6718477B1 (en) | 2000-03-06 | 2004-04-06 | William C. Plants | Delay locked loop for an FPGA architecture |
US6671865B1 (en) | 2001-11-27 | 2003-12-30 | Lsi Logic Corporation | High density input output |
US7028281B1 (en) | 2002-07-12 | 2006-04-11 | Lattice Semiconductor Corporation | FPGA with register-intensive architecture |
US6907595B2 (en) | 2002-12-13 | 2005-06-14 | Xilinx, Inc. | Partial reconfiguration of a programmable logic device using an on-chip processor |
US6825690B1 (en) * | 2003-05-28 | 2004-11-30 | Actel Corporation | Clock tree network in a field programmable gate array |
US6952813B1 (en) | 2003-07-30 | 2005-10-04 | Xilinx, Inc. | Method and apparatus for selecting programmable interconnects to reduce clock skew |
JP3990332B2 (ja) | 2003-08-29 | 2007-10-10 | 日本電気株式会社 | データ処理システム |
US7145362B1 (en) | 2004-09-10 | 2006-12-05 | Xilinx, Inc. | Clock signal-distribution network for an integrated circuit |
US7224184B1 (en) | 2004-11-05 | 2007-05-29 | Xilinx, Inc. | High bandwidth reconfigurable on-chip network for reconfigurable systems |
US7301368B2 (en) * | 2005-03-15 | 2007-11-27 | Tabula, Inc. | Embedding memory within tile arrangement of a configurable IC |
US7375550B1 (en) * | 2005-07-15 | 2008-05-20 | Tabula, Inc. | Configurable IC with packet switch configuration network |
JP4907521B2 (ja) | 2005-10-05 | 2012-03-28 | パナソニック株式会社 | 再構成可能な半導体集積回路及びその処理割り当て方法 |
US7729415B1 (en) | 2006-02-14 | 2010-06-01 | Xilinx, Inc. | High-speed interface for a programmable device |
US20070273403A1 (en) | 2006-05-26 | 2007-11-29 | Tai-Cheng Wang | Clock Tree For Programmable Logic Array Devices |
GB2440515B (en) * | 2006-08-01 | 2011-06-15 | Dyson Technology Ltd | A filter assembly |
US7843215B2 (en) | 2007-03-09 | 2010-11-30 | Quadric, Inc. | Reconfigurable array to compute digital algorithms |
US8230375B2 (en) | 2008-09-14 | 2012-07-24 | Raminda Udaya Madurawe | Automated metal pattern generation for integrated circuits |
US8205110B2 (en) * | 2008-11-03 | 2012-06-19 | Oracle America, Inc. | Synchronous operation of a system with asynchronous clock domains |
US8362482B2 (en) | 2009-04-14 | 2013-01-29 | Monolithic 3D Inc. | Semiconductor device and structure |
US8395191B2 (en) | 2009-10-12 | 2013-03-12 | Monolithic 3D Inc. | Semiconductor device and structure |
US7982497B1 (en) | 2010-06-21 | 2011-07-19 | Xilinx, Inc. | Multiplexer-based interconnection network |
US9173366B2 (en) * | 2013-07-23 | 2015-11-03 | Pioneer Hi-Bred International, Inc. | Canola variety inbred NS6266 |
EP2894572B1 (en) | 2014-01-09 | 2018-08-29 | Université de Rennes 1 | Method and device for programming a FPGA |
EP3146402B1 (en) | 2014-05-19 | 2020-06-24 | Flex Logix Technologies, Inc. | Clock distribution architecture for logic tiles of an integrated circuit and method of operation thereof |
US20160246712A1 (en) | 2015-02-25 | 2016-08-25 | HGST Netherlands B.V. | Indirection data structures implemented as reconfigurable hardware |
US20160321081A1 (en) | 2015-05-02 | 2016-11-03 | Hyeung-Yun Kim | Embedded systems of internet-of-things incorporating a cloud computing service of FPGA reconfiguration |
US9628083B1 (en) * | 2015-10-01 | 2017-04-18 | Quicklogic Corporation | Local routing network with selective fast paths for programmable logic device |
EP3639370A4 (en) | 2017-06-13 | 2020-07-29 | Flex Logix Technologies, Inc. | CLOCK DISTRIBUTION AND GENERATION ARCHITECTURE FOR LOGIC PAVERS OF AN INTEGRATED CIRCUIT AND ITS OPERATING PROCESS |
-
2018
- 2018-06-02 EP EP18817456.9A patent/EP3639370A4/en active Pending
- 2018-06-02 WO PCT/US2018/035758 patent/WO2018231556A1/en unknown
- 2018-06-02 CN CN201880029985.7A patent/CN110603733B/zh active Active
- 2018-06-02 US US15/996,430 patent/US10348307B2/en active Active
-
2019
- 2019-07-06 US US16/504,248 patent/US10587271B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7375553B1 (en) * | 2003-05-28 | 2008-05-20 | Actel Corporation | Clock tree network in a field programmable gate array |
US7373538B1 (en) * | 2005-06-07 | 2008-05-13 | Xilinx, Inc. | Method for determining interconnect line performance within an integrated circuit |
CN103684363A (zh) * | 2012-09-12 | 2014-03-26 | 辉达公司 | 用于片上互连的定时校准 |
CN106663078A (zh) * | 2014-09-04 | 2017-05-10 | 高通股份有限公司 | 延迟电路以及相关的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3639370A1 (en) | 2020-04-22 |
WO2018231556A1 (en) | 2018-12-20 |
US10348307B2 (en) | 2019-07-09 |
CN110603733A (zh) | 2019-12-20 |
EP3639370A4 (en) | 2020-07-29 |
US20190334526A1 (en) | 2019-10-31 |
US10587271B2 (en) | 2020-03-10 |
US20180358970A1 (en) | 2018-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110603733B (zh) | 集成电路的逻辑瓦片的时钟分配和生成体系架构及其操作方法 | |
US9882568B2 (en) | Clock distribution architecture for logic tiles of an integrated circuit and method of operation thereof | |
US10250262B2 (en) | Integrated circuit including an array of logic tiles, each logic tile including a configurable switch interconnect network | |
US9859896B1 (en) | Distributed multi-die routing in a multi-chip module | |
US10686448B2 (en) | Clock architecture, including clock mesh fabric for FPGA, and method of operating same | |
KR101058468B1 (ko) | 집적 회로용의 재구성 가능한 로직 패브릭과, 재구성 가능한 로직 패브릭을 구성하기 위한 시스템 및 방법 | |
EP1188241B1 (en) | SCALABLE ARCHITECTURE FOR HIGH DENSITY CPLD's HAVING TWO-LEVEL HIERARCHY OF ROUTING RESOURCES | |
US20070247189A1 (en) | Field programmable semiconductor object array integrated circuit | |
JPH08265136A (ja) | フィールドプログラマブルゲートアレイ用の相互接続アーキテクチュア | |
JPWO2007040192A1 (ja) | 再構成可能な半導体集積回路及びその処理割り当て方法 | |
US11916551B2 (en) | Process of routing tile-to-tile interconnects of an FPGA, and method of manufacturing an FPGA | |
EP2543145B1 (en) | Programmable integrated circuit with mirrored interconnect structure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |