CN205068374U - 用于在集成电路设备中处理数据的电路 - Google Patents
用于在集成电路设备中处理数据的电路 Download PDFInfo
- Publication number
- CN205068374U CN205068374U CN201520732569.7U CN201520732569U CN205068374U CN 205068374 U CN205068374 U CN 205068374U CN 201520732569 U CN201520732569 U CN 201520732569U CN 205068374 U CN205068374 U CN 205068374U
- Authority
- CN
- China
- Prior art keywords
- register
- circuit
- input end
- coupled
- output terminal
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
一种用于在集成电路设备中处理数据的电路,包括:选择电路;第一寄存器,其耦合到所述选择电路的第一输出端;第二寄存器,其被实施为锁存器并耦合到所述选择电路的第二输出端;以及信号线,其在所述第一寄存器的所述输出端与所述选择电路的输入端之间耦合。所述选择电路实现所述第一寄存器的输出信号到所述第二寄存器的输入端的耦合。还公开了一种用于在集成电路设备中处理数据的方法。
Description
技术领域
本发明大体涉及集成电路设备,并且具体涉及用于在集成电路设备中处理数据的电路和方法。
背景技术
数据传输是许多集成电路设备以及具有集成电路设备的系统的重要部分。通常通过集成电路设备经由输入/输出端口来传输数据。数据可以不同的格式并根据多种数据通信协议在系统中传输。然而,与时钟信号或数据信号相关联的偏斜可显著地影响数据的传输。
当把数据锁存在电路内时,需要确保电路的保持时间足够用于捕获正确的数据。确保诸如可编程逻辑设备(PLD)的一些集成电路中的充足的保持时间可具有挑战性。也就是说,跨越不同时钟区域的非理想时钟树布置导致显著的偏斜,从而需要根据用户设计中寄存器的位置来改变信号的延迟。
用于解决信号的延迟的常规解决方案包括添加缓冲器,例如,其可在查找表(LUT)中实施。然而,附加LUT增大功率和路由成本,其中高度拥塞的设计中的路由成本甚至更高昂。另一个解决方案包括任选延迟元件的实施。然而,任选延迟元件增加附加硅和静态功率成本,即使未使用延迟。
因此,提供用于处理集成电路中的数据的更有效电路是有益的。
发明内容
描述了一种用于在集成电路设备中处理数据的电路。所述电路包括:选择电路;第一寄存器,其耦合到所述选择电路的第一输出端;第二寄存器,其被实施为锁存器并耦合到所述选择电路的第二输出端;以及信号线,其在所述第一寄存器的所述输出端与所述选择电路的输入端之间耦合。所述选择电路实现所述第一寄存器的输出信号到所述第二寄存器的输入端的耦合。
用于在集成电路设备中处理数据的另一个电路包括多个可配置逻辑元件。每个可配置逻辑元件包括:查找表;选择电路,其耦合到所述查找表的输出端;第一寄存器,其耦合到所述选择电路的第一输出端;以及第二寄存器,其被实施为锁存器并耦合到所述选择电路的第二输出端。所述选择电路实现所述第一寄存器的输出端到所述第二寄存器的输入端的所述耦合。所述电路还包括可编程互连元件,所述可编程互连元件可经配置以将所述多个可配置逻辑元件中的第一可配置逻辑元件的输出端耦合到所述多个可配置逻辑元件中的第二可配置逻辑元件的输入端。
还描述了在集成电路设备中处理数据的方法。所述方法包括:提供选择电路,所述选择电路具有多个输入端和至少一个输出端;将第一寄存器的输出路由到所述选择电路的输入端;将第二寄存器实施为锁存器;以及将所述选择电路的所述至少一个输出端耦合到所述第二寄存器的输入端。
附图说明
图1为具有可编程资源的集成电路的框图;
图2为示出图1的可编程资源的一部分的框图;
图3为示出2的可编程资源的两个可配置逻辑元件的连接的电路图;
图4为与图3的电路的操作关联的时序图;
图5为诸如图3的CLE302和304的可配置逻辑元件的电路图;
图6为图5的多路复用器502的框图;
图7为具有可实施图1至图6电路中的任一个的可编程资源的设备的框图;
图8为图7的设备的可配置逻辑元件的框图;
图9为具有可控制延迟的互连电路的框图,所述可控制延迟可耦合到图8的设备的可配置逻辑元件的输入;
图10为用于对具有可编程资源的设备进行编程的系统的框图;
图11为示出在集成电路设备中处理数据的方法的流程图;以及
图12为示出在集成电路设备中处理数据的方法的另一个流程图。
考虑到以下详细描述和权利要求,将认识到其它特征。
具体实施方式
尽管本说明书包括定义被视为新颖的本发明的一或多个具体实施的特征的权利要求,但相信结合附图考虑说明书,将更好地理解电路和方法。尽管公开了各种电路和方法,应当理解所述电路和方法仅仅为创造性布置的示例,这些示例可以不同的形式实施。因此,在本说明书内公开的具体结构和功能细节不应理解为限制性,而仅仅作为用于权利要求的基础并且作为用来教导本领域技术人员以实际上任何适合的具体结构来不同地采用本发明的表示基础。进一步地,本文所使用的术语和短语并非旨在限制,而是提供电路和方法的可理解描述。
下面阐述的电路和方法提供用于处理数据的改善的电路,并且可被实施为集成电路的可重复电路块,所述可重复电路选择性地通过可编程互连元件连接。所述电路还可以是可编程的以实现不同的操作,诸如用于将数据注册为锁存器或触发器的常规操作、或者操作如锁定锁存器解除集成电路的两个寄存器之间的保持约束。更具体地,所述电路可被实施为集成电路的可配置逻辑元件(CLE)的增强,以实现低成本的锁定锁存器实施。尽管可在任何类型的集成电路中实施所述电路和方法,但增强的可配置逻辑元件的使用可找到在诸如现场可编程门阵列(FPGA)的可编程逻辑设备(PLD)中的特定应用,如下面更详细地描述。
根据下面所描述的各种实施,提供了一种不具有附加路由成本的低功率解决方案,其用于解除从第一寄存器到第二寄存器的保持约束。也就是说,通过锁存所述第一寄存器的所述输出端解除所述保持约束,诸如在负电平触发的锁存器上。这种布置实现从所述第一寄存器到所述锁存器的最小保持用延迟约束,这是因为其位于与耦合到所述第一寄存器的所述时钟相同的时钟沿上。可使用反相器来实施负沿触发的锁存器,其中时钟信号可耦合到锁存器,或者由反相器生成的反相时钟信号可以选择性地耦合到锁存器的时钟输入。
可在具有可配置资源诸如可配置逻辑元件的电路中实施用于在集成电路设备中处理数据的电路,所述可配置资源可以在图案中实施并且通过可编程互连元件进行连接。所述电路:可包括选择电路;第一寄存器,其耦合到所述选择电路的第一输出端;第二寄存器,其被实施为锁存器且耦合到所述选择电路的第二输出端,以及信号线,其在所述第一寄存器的所述输出端和所述选择电路的输入端之间耦合;其中所述选择电路实现所述第一寄存器的输出信号到所述第二寄存器的输入端的所述耦合。所述选择电路可用于实现所述第二寄存器的输出端到所述第一寄存器的输入端的耦合。所述电路可进一步包括经耦合以接收时钟信号的第一反相器,其中所述时钟信号耦合到所述第一寄存器的输入端并且所述第一反相器的输出耦合到所述第二寄存器的时钟输入端。
首先转向图1,其为具有可编程资源的集成电路设备100的框图。具体地,输入/输出(I/O)端口102耦合到控制电路104,所述控制电路104控制具有配置存储器108的可编程资源106。可通过配置控制器110将下面参考图7至图10更详细描述的配置数据提供到所述配置存储器108。所述可编程资源还包括可配置逻辑元件(CLE)109。单独的存储器112,例如,其可为非易失性存储器,可耦合到所述控制电路104和所述可编程资源106。另一个电路114可耦合到所述控制电路104和所述存储器112,并且可通过I/O端口116传输在所述集成电路设备之外的信号。其它I/O端口可耦合到所述集成电路设备的电路,诸如耦合到所述控制电路104的I/O端口118,如图所示。被实施为锁定锁存器的电路布置可在所述可编程资源106中实施,诸如在一或多个CLE109中。也就是说,实施锁定锁存器所需的寄存器和锁存器可在单个CLE中实施,以便当将数据从CLE路由到另一个CLE时提供改善的时序,如下面更详细地描述。
现转向图2,框图示出图1的可编程资源106的一部分,并且更具体地示出可选择性地使用可编程互连元件耦合的多个CLE。图2的所述可编程资源包括可布置在列202中的CLE109,如图所示。将参考图5和图8更详细地示出并描述CLE的示例。还提供了实现时钟信号到所述各种CLE的路由的时钟元件。例如,所述时钟元件可包括时钟树,所述时钟树具有时钟列206和具有多个水平时钟(HCLK)路由块210的水平时钟行208。还示出了第二水平时钟行212。时钟元件实现了通过CLE的寄存器对数据进行锁存。示出了用于在两个CLE之间路由时钟信号的数据路径214。如下面进一步详细描述的,通过各种路径诸如路径214对电路进行路由,以满足适当的时序要求。如果未满足所述时序要求或者为了在某些CLE之间提供最优路径,则可对电路进行重新路由。
现转向图3,电路图示出可编程资源的两个可配置逻辑元件(诸如可编程资源106的CLE109)的连接。具体地,第一CLE302通过数据路径306耦合到第二CLE304。例如,所述数据路径306(例如,其可对应于图2的所述数据路径214)被选择以满足某些时序要求。所述CLE302包括耦合到第二寄存器310的第一寄存器308,其中所述第二寄存器可被配置为锁存器。可通过充当锁存器的寄存器310来实施CLE302,或者可选地,所述CLE302可为可以选择性地配置的可配置电路,使得寄存器310充当锁存器,如参考图5和图8更详细地描述。
数据耦合到所述寄存器308的输入端313,并且输出端314耦合到所述寄存器310的输入端316。所述寄存器的输出端318耦合到所述路径306,其可在可编程互连元件中实施,如参考图7至图10更详细地描述。
CLE304还包括耦合在一起的一对寄存器322和324,其中所述数据路径306耦合到寄存器322的输入端320。所述寄存器322的输出325耦合到所述寄存器324的输入端326。寄存器324还可以选择性地经配置以充当锁存器,如将参考图5和图8描述的。时钟信号还耦合到所述寄存器的时钟输入端。时钟信号(CLK)被提供到不同的时钟输入端,其中所述时钟信号被分别指定为在所述时钟输入端330、332和334处的Clk1、Clk1A和Clk2。应当理解,尽管这些时钟信号在被沿不同的路径路由到它们相应的时钟输入端时通常具有不同的时序,但Clk1和Clk1A将接近,因为它们在相同的CLE内路由到时钟输入端。然而,在所述寄存器322的时钟输入端处的Clk2可与所述寄存器308和310的所述时钟输入端具有一定的距离,并且因此具有不同的时序。
通过将所述寄存器308实施为负电平触发的锁存器而将所述寄存器308和310实施为锁定锁存器,其中将反相Clk1A信号施加到所述寄存器310的所述时钟输入端。图4中示出用于图3电路布置的设置和保持。将寄存器310实施为负电平触发的锁存器和使耦合到所述时钟输入端的所述时钟信号反相,解除了从所述寄存器308到所述寄存器310(即,锁存器)的最小保持用延迟约束,这是因为它们在相同的时钟沿上被触发。
尽管所述锁定锁存器的功能仅要求寄存器308、310和322,其中寄存器310被配置为锁存器,可编程资源106的所有所述CLE109优选地能够被选择性地配置,使得串联耦合的一对寄存器中的一个寄存器可经配置以充当锁存器。也就是说,在CLE中的每个中实施所述锁定锁存器功能提供了将电路放置并路由在集成电路中的更大灵活性。进一步地,当锁定锁存器的所述寄存器至锁存器对中的所述锁存器处于相同的CLE中时,在集成电路中实现锁定锁存器的实施需要最少的附加电路,如下面参考图5和图8更详细地描述。
现转向图5,其示出了可配置逻辑元件的电路图,诸如图3的CLE302或304。如上所述,可如图5所示来实施集成设备的CLE中的每个,以在任何CLE位置处提供图5的CLE功能。图5的CLE包括耦合到查找表504的多路复用器502。所述查找表504在对应多个输入端508处耦合到多个数据线506。所述查找表504的输出端509耦合到所述多路复用器502的对应输入端510。将在图8中描述关于所述查找表504的附加细节,同时将参考图6描述所述多路复用器502的附加细节。
所述多路复用器502的第一输出端512耦合到所述寄存器308的输入端514,其中输出端518通过信号线521耦合到所述多路复用器502的输入端502。尽管所述信号线521可在实施图5CLE的集成电路的可编程资源中实施,但所述信号线优选地被实施为与所述CLE关联的指定信号线,以最小化当把所述寄存器308的输出端提供到所述寄存器310的输入端时的任何延迟。类似地,所述多路复用器502的输出端522耦合到所述寄存器310的所述输入端316。所述寄存器310的所述输出端318通过信号线529耦合到所述多路复用器502的另一个输入端528。所述信号线529还优选为与所述CLE相关联的专用信号线。
如以上参考图3所描述,图5的电路实现反相时钟信号的选择和路由,所述反相时钟信号相对于被提供到所述寄存器308、所述寄存器310的所述时钟信号。图5的电路布置是可配置的以实现被提供到所述寄存器308的所述时钟信号或者反相时钟信号的耦合,其中所述反相时钟信号相对于被提供到所述寄存器308的所述时钟信号。更具体地,时钟控制电路530包括多路复用器532和反相器534。耦合到所述时钟控制电路530的输入端536的时钟信号耦合到所述反相器534的输入端540。所述时钟信号还耦合到所述多路复用器532的第一输入端542,而所述反相器534的输出端544耦合到所述多路复用器532的第二输入端546。可编程存储器元件548(例如,其可为存储在配置存储器诸如配置存储器108中的配置位)耦合到控制端子549以控制所述多路复用器532的所述操作。所述多路复用器532的输出端550耦合到所述寄存器310的所述时钟输入端332。因此,在如下面将更详细描述的初始配置或部分重配置期间,所述存储器元件548可经配置以选择所需的时钟信号,所述时钟信号耦合到所述寄存器310的所述时钟输入端332。如上所述,当图5的CLE旨在被实施为锁定锁存器时,可选择反相时钟信号并且所述寄存器310或308可经配置以充当锁存器。所述反相器540的另一个益处为,由于可以在相同行中具有两个锁存器的异相时钟,因此所述反相器540有助于基于锁存器的设计实施。因此,可通过共享输入和使用被锁存在相同行中的输出来实施时间借用功能。
第二时钟控制电路560包括多路复用器562和反相器564。耦合到所述时钟控制电路560的输入端566的输入时钟信号(CLK)耦合到所述反相器564的输入端570。所述时钟信号还耦合到所述多路复用器562的第一输入端572,而所述反相器564的输出端574耦合到所述多路复用器562的第二输入端576。可编程存储器元件578耦合到控制端子579,以控制所述多路复用器562的操作。所述多路复用器562的输出端580耦合到所述反相器534的所述输入端540。所述第二时钟控制电路560实现用于所述CLE的所述时钟相位的总体选择。
现在转向图6,示出了图5的多路复用器502的框图。更具体地,第一多路复用器602和第二多路复用器604经耦合以接收各种输入,其中所述多路复用器602经耦合以接收所述信号线521,并且所述多路复用器604经耦合以接收所述信号线529。通过生成所述多路复用器502的两个输出,各种输入,包括所述寄存器308和310的输出,可被路由到所述寄存器308和310的输入端。
通过将相同可配置块中的锁定锁存器电路所需的锁存器实施为驱动锁存器的寄存器,不存在附加延时,从而导致相比于使用单独CLE的寄存器作为用于CLE的寄存器的输出端的锁存器的改善的性能。进一步地,通过实现时钟信号或者被路由到所述寄存器中的一个的反相时钟信号的选择,可选择可配置块诸如CLE的常规操作或者所述CLE的增强操作,以使得所述可配置块能够充当锁定锁存器。如将参考图8更详细地描述,CLE可被实施为每个查找表(LUT)两个寄存器,其中两个寄存器共享相同的时钟并且所述寄存器中的一个还可被配置为锁存器以实现锁定锁存器的功能。为实现有效的锁定锁存器(即,较低的功率和最少的路由要求),需要提供使得所述两个寄存器能够驱动彼此的足够的连接性。可通过将寄存器输出端作为附加输入端耦合到所述CLE的多路复用电路来实现所述足够的连接性,如图5所示。可实施关于时钟的附加反相器,以使得两个寄存器能够接收相位相差180度的时钟,并因此提供负电平触发的锁存器。
现转向图7,其示出了具有可实施图1至图6的电路的可编程资源的设备的框图。尽管可在任何类型的集成电路设备中实施具有可编程资源的设备,诸如具有可编程资源的专用集成电路(ASIC),其它设备包括专用可编程逻辑设备(PLD)。一种类型的PLD为复杂可编程逻辑设备(CPLD)。CPLD包括两个或更多个“功能块”,这些功能块连接在一起并通过互连切换矩阵连接到输入/输出(I/O)资源。所述CPLD的每个功能块包括两层与/或结构,所述两层与/或结构类似于在可编程逻辑阵列(PLA)或可编程阵列逻辑(PAL)设备中使用的两层与/或结构。另一种类型的PLD为现场可编程门阵列(FPGA)。在典型的FPGA中,可配置逻辑块(CLB)的阵列耦合到可编程输入/输出块(IOB)。CLB和IOB通过可编程路由资源的层次结构而互连。通常通过将配置比特流从芯片外存储器加载到所述FPGA的配置存储器单元来自定义这些CLB、IOB和可编程路由资源。对于这些类型的可编程逻辑设备中的两者,出于所述目的,通过被提供到所述设备的配置比特流的配置数据位来控制所述设备的功能。所述配置数据位可存储在易失性存储器(例如,静态存储器单元,如在FPGA和一些CPLD中)中,在非易失性存储器(例如,闪存,如在一些CPLD中)中,或者在任何其它类型的存储器单元中。如上所述,所述配置位可用于将CLE的寄存器配置为锁存器,并将反相时钟信号路由到所述锁存器。
图7的设备包括FPGA体系结构700,所述FPGA体系结构700具有大量不同的可编程瓦片,包括多千兆位收发器(MGT)701、CLB702、随机存取存储器块(BRAM)703、输入/输出块(IOB)704、配置和时钟逻辑(配置/时钟)705、数字信号处理块(DSP)706、专用输入/输出块(I/O)707(例如,配置端口和时钟端口),以及其它可编程逻辑708,诸如数字时钟管理器、模/数转换器、系统监控逻辑等等。一些FPGA还包括专用处理器块(PROC)710,例如,所述专用处理器块(PROC)710可用于实施软件应用。
在一些FPGA中,每个可编程瓦片包括可编程互连元件(INT)711,所述可编程互连元件711具有往返每个相邻瓦片中的对应互连元件的标准化连接。因此,所述可编程互连元件一起实施用于所示FPGA的可编程互连结构。所述可编程互连元件711还包括往返相同瓦片内的所述可编程逻辑元件的连接,如通过在图7的顶部处包括的示例所示。
例如,CLB702可包括可配置逻辑元件(CLE)712,所述可配置逻辑元件(CLE)712可被编程以实施用户逻辑加上单个可编程互连元件711。除了一或多个可编程互连元件之外,BRAM703还可包括BRAM逻辑元件(BRL)713。所述BRAM包括与配置逻辑块的分布式RAM分开的专用存储器。通常,瓦片中所包括的互连元件的数目取决于所述瓦片的高度。在所描绘的实施例中,BRAM瓦片具有与五个CLB相同的高度,但也可使用其它数目。除了合适数目的可编程互连元件以外,DSP瓦片706还可包括DSP逻辑元件(DSPL)714。例如,除了可编程互连元件711的一个实例以外,IOB704可包括输入/输出逻辑元件(IOL)715的两个实例。通过出于所述目的被提供到所述设备的配置比特流的配置数据位来控制所述设备的连接的位置。响应于配置比特流的比特,所述可编程互连实现包括互连线的连接,所述互连线将用于将各种信号耦合到在可编程逻辑中实施的电路,或者诸如BRAM或所述处理器的其它电路。
在所描绘的实施例中,靠近裸片的中心的柱状区域用于配置、时钟和其它控制逻辑。从所述列延伸的配置/时钟分布区域709用于跨越所述FPGA的宽度来分布所述时钟和配置信号。利用图7中示出的体系结构的一些FPGA包括附加逻辑块,所述附加逻辑块破坏组成所述FPGA的大部分的规则柱状结构。所述附加逻辑块可为可编程块和/或专用逻辑。例如,图7中示出的处理器块PROC710跨越CLB和BRAM的若干列。
应注意,图7旨在仅示出示范性FPGA体系结构。列中逻辑块的数目、所述列的相对宽度、列的数目和顺序、所述列中所包括的逻辑块的类型、所述逻辑块的相对尺寸,以及在图7的顶部处所包括的互连/逻辑实施仅仅为示范性的。例如,在实际的FPGA中,在CLB出现的任何地方通常包括多于一个邻近列的CLB,以便促进用户逻辑的有效实施。尽管图7的实施例涉及具有可编程资源的集成电路,但应理解,可在任何类型的ASIC中实施在下面更详细描述的电路和方法中。
现转向图8,其示出了图7的设备的可配置逻辑元件的框图。具体地,图8以简化的形式示出图7的配置逻辑块702的可配置逻辑元件。在图8的实施例中,切片M801包括四个查找表(LUTM)801A至801D,每个由六个LUT数据输入端A1至A6、B1至B6、C1至C6和D1至D6驱动,并且每个提供两个LUT输出信号O5和O6。来自LUT801A至801D的O6输出端子分别驱动切片输出端子A至D。经由输入多路复用器通过所述FPGA互连结构来供应所述LUT数据输入信号,这可通过可编程互连元件811实施,并且还可将所述LUT输出信号供应到所述互连结构。切片M还包括:驱动输出端子AMUX至DMUX的输出选择多路复用器811A至811D;驱动存储器元件802A至802D的数据输入端子的多路复用器812A至812D;组合的多路复用器816、818和819;弹跳多路复用器电路822至823;电路530和560(它们一起提供在所述输入时钟路径上的任选反相,如参考图5所描述,其中一对寄存器中的第一寄存器和第二寄存器接收相位差180度的时钟信号);以及具有多路复用器814A至814D、815A至815D、820至821以及异或门813A至813D的进位逻辑。所有这些元件耦合在一起,如图8中所示。其中未示出图8中所示多路复用器的选择输入端,所述选择输入端由配置存储器单元控制。也就是说,存储在所述配置存储器单元中的所述配置比特流的配置位耦合到所述多路复用器的所述选择输入端,以选择到所述多路复用器的正确输入。为清楚起见,从图8并从本文其它所选图形中省略众所周知的这些配置存储器单元。
在所描绘的实施例中,每个存储器元件802A至802D可被编程以充当同步或异步触发器或锁存器。通过对同步/异步选择电路803编程,为所有四个存储器元件进行同步与异步功能之间的选择。当对存储器元件被编程以使S/R(置位/复位)输入信号提供置位功能时,REV输入端子提供复位功能。当对所述存储器元件编程以使所述S/R输入信号提供复位功能时,所述REV输入端子提供所述置位功能。通过时钟信号CK对存储器元件802A至802D记时,其中例如可通过全球时钟网络或通过互连结构提供所述时钟信号CK。此类可编程存储器元件在FPGA设计的领域是众所周知的。每个存储器元件802A至802D将寄存的输出信号AQ至DQ提供到所述互连结构。由于每个LUT801A至801D提供两个输出信号O5和O6,因此LUT可经配置以充当具有五个共享输入信号(IN1至IN5)的两个5输入LUT,或者作为具有输入信号IN1至IN6的一个6输入LUT。
在图8的实施例中,每个LUTM801A至801D可以在若干模式中的任一个中起作用。当在查找表模式时,每个LUT具有六个数据输入信号IN1至IN6,这些数据输入信号经由输入多路复用器通过所述FPGA互连结构供应。基于信号IN1至IN6的值,从配置存储器单元可编程地选择64个数据值中的一个。当在RAM模式时,每个LUT充当单个64位RAM或者具有共享寻址的两个32位RAM。经由输入端子Dl1(经由用于LUT801A至801C的多路复用器817A至817C)将RAM写数据供应到64位RAM,或者经由输入端子Dl1和Dl2供应到所述两个32位RAM。通过来自多路复用器806的时钟信号CK并通过来自多路复用器807的写使能信号WEN来控制所述LUTRAM中的RAM写操作,其可选择性地经过所述时钟使能信号CE或所述写使能信号WE。在移位寄存器模式中,每个LUT充当两个16位移位寄存器,或者其中两个16位移位寄存器串联耦合以创建单个32位移位寄存器。经由输入端子Dl1和Dl2中的一者或两者来提供移入信号。可通过所述LUT输出端子来提供16位和32位移出信号,并且还可经由LUT输出端子MC31更直接地提供32位移出信号。还可经由输出选择多路复用器811D和CLE输出端子DMUX而将LUT801A的32位移出信号MC31提供到一般互连结构,以用于移位寄存器链接。
除了提供所述时钟控制电路530和560之外,其中所述时钟控制电路530和560实现合适的时钟信号的选择以实施如参考图5描述的锁定锁存器,所述存储器元件802A至802D(例如,可为寄存器)的输出被馈送回到多路复用器,以实现一个存储器元件的输出到另一个存储器元件的输入的路由。更具体地,通过信号线830将存储器元件802A的输出路由到多路复用器812B的输入,所述信号线830在此处被示为切片M801的专用信号线。类似地,通过信号线832将存储器元件802B的输出路由到多路复用器812A的输入。通过信号线834将切片M801的第二对或存储器元件的存储器元件802C的输出路由到多路复用器812D的输入。最后,通过信号线836将存储器元件802D的输出路由到多路复用器812C的输入。所述存储器元件802A至802D还可被编程以实施为寄存器或锁存器。如图8所示,存储器元件802A至802D中的每个分别耦合到可编程存储器元件840至846,其可通过上述配置位进行编程。因此,可在设备诸如图7和图8的设备或任何其它合适的设备中实施上述电路和方法。
现转向图9,其示出了互连电路的框图,所述互连电路具有耦合到图8的设备的可配置逻辑元件的输入端的可控延迟。如图9中所示,互连元件902耦合到一或多个互连多路复用器904,所述互连多路复用器904的输出端耦合到具有用户可选择延迟元件的延迟电路906。具体地,所述延迟电路906包括耦合到多路复用器910的第一输入端909的延迟元件908。所述多路复用器904的非延迟输出端耦合到所述多路复用器910的第二输入端912,其通过存储器元件914进行控制。这些任选的延迟元件可被实施以补偿大范围的延迟。尽管示出了单个延迟元件,但应当理解,也可使用多个延迟元件或者具有很多分接头的可编程延迟元件。使用用于补偿小偏斜的任选缓冲器,同时所述延迟元件使得能够补偿约一半时钟周期的大偏斜。尽管任选的延迟提供这样的优势,所述优势为通过实现延迟线中所需的分接头来允许从非常低的值到高值对一些偏斜进行补偿,但实现所述范围的偏斜补偿的成本在每个任选延迟缓冲器的大量分接头的方面可为高的。
现转向图10,示出了一种用于对具有可编程资源的设备进行编程的系统的框图。具体地,计算机1002经耦合以接收来自存储器1006的电路设计1004,并生成存储在非易失性存储器1006中的配置比特流。如下面更详细地描述,所述电路设计可为高级设计,诸如在硬件描述语言(HDL)中定义的电路设计。此外,所述计算机可经配置以运行生成配置比特流的软件,所述配置比特流存储在所述非易失性存储器1008中并被提供到集成电路1010,所述集成电路1010可为可编程集成电路,诸如上述图7至9中的集成电路。
现转向图11,流程图示出在集成电路设备中处理数据的方法。在方框1102处生成设计。然后在方框1104处提供所述设计的布置。基于方框1106处的布置对所述设计进行路由。然后在方框1108处确定是否满足保持时间。如果满足,则在方框1110处生成比特流。如果不满足,则在方框1112处改变未满足其保持时间的源寄存器。然后在方框1114处确定是否需要置换用户寄存器。如果不需要置换,则在方框1106处再次对设计进行路由。如果需要置换,则在方框1116处移除并取代寄存器,并且在方框1104处再次布置所述设计。
现转向图12,另一个流程图示出在集成电路设备中处理数据的方法。在方框1202处,在集成电路设备中实施查找表。在方框1204处,选择电路耦合到所述查找表的输出端。在方框1206处,所述选择电路的第一输出被路由到第一寄存器的输入,并且所述第一寄存器的输出端耦合到所述选择电路的输入端。在方框1208处,第二寄存器被实施为锁存器。在方框1210处,所述选择电路的第二输出端耦合到所述第二寄存器的输入端。在方框1212处,提供经耦合以接收时钟信号的第一反相器,其中所述时钟信号耦合到所述第一寄存器的输入端,并且所述第一反相器的输出端耦合到所述第二寄存器的时钟输入端。在方框1214处,在第一可配置逻辑元件的所述第二寄存器的输出端与第二可配置逻辑元件的第三寄存器的输入端之间路由路径。在方框1216处,在所述第二寄存器的输出端到所述第二可配置逻辑元件的第三寄存器的输入端之间建立最小路径。然后在方框1218处,确定在所述第二寄存器的输出端到所述第二可配置逻辑元件的第三寄存器的输入端之间的最小路径中是否满足保持时间。如果不满足保持时间,则在方框1220处对所述第二寄存器的输出端到所述第二可配置逻辑元件的第三寄存器的输入端之间的路径进行重新路由。如果满足保持时间,则在方框1222处生成配置比特流。
可因此理解的是,已经描述了在集成电路设备中处理数据的电路和方法。本领域技术人员将理解的是,将会看到存在结合所公开的发明的许多替代方案和等价物。因此,本发明不应受限于前述实施例,而是仅通过以上权利要求限制。
Claims (14)
1.一种用于在集成电路设备中处理数据的电路,所述电路包括:
选择电路;
第一寄存器,所述第一寄存器耦合到所述选择电路的第一输出端;
第二寄存器,所述第二寄存器被实施为锁存器并且耦合到所述选择电路的第二输出端;以及
信号线,所述信号线在所述第一寄存器的所述输出端与所述选择电路的输入端之间耦合;
其中所述选择电路实现所述第一寄存器的输出信号到所述第二寄存器的输入端的所述耦合。
2.根据权利要求1所述的电路,其中所述信号线包括专用信号线。
3.根据权利要求1所述的电路,其进一步包括经耦合以接收时钟信号的第一反相器,其中所述第一反相器的输出端耦合到所述第二寄存器的时钟输入端。
4.根据权利要求3所述的电路,其进一步包括第一时钟控制电路,所述第一时钟控制电路具有时钟选择多路复用器,所述时钟选择多路复用器经耦合以在第一输入端处接收所述时钟信号并且进一步经耦合以在第二输入端处接收在所述第一反相器的所述输出端处生成的反相时钟信号。
5.根据权利要求4所述的电路,其进一步包括:
第二时钟控制电路,所述第二时钟控制电路具有第二反相器,所述第二反相器包括耦合到所述第一反相器的输入端的输出端;以及
其中所述第二时钟控制电路实现输入时钟信号或反相输入时钟信号到所述第一反相器的所述输入端的所述耦合。
6.根据权利要求1所述的电路,其进一步包括配置存储器,所述配置存储器具有配置位,所述配置位用于配置所述选择电路以实现所述第一寄存器的所述输出端到所述第二寄存器的所述输入端的所述耦合。
7.根据权利要求6所述的电路,其中所述配置存储器具有用于将所述第二寄存器配置为锁存器的配置位。
8.一种用于在集成电路设备中处理数据的电路,所述电路包括:
多个可配置逻辑元件,每个可配置逻辑元件包括:
查找表;
选择电路,所述选择电路耦合到所述查找表的输出端;
第一寄存器,所述第一寄存器耦合到所述选择电路的第一输出端;以及
第二寄存器,所述第二寄存器被实施为锁存器并且耦合到所述选择电路的第二输出端;
其中所述选择电路实现所述第一寄存器的输出端到所述第二寄存器的输入端的所述耦合;以及
可编程互连元件,所述可编程互连元件能够经配置以将所述多个可配置逻辑元件中的第一可配置逻辑元件的输出端耦合到所述多个可配置逻辑元件中的第二可配置逻辑元件的输入端。
9.根据权利要求8所述的电路,其中所述多个可配置逻辑元件中的每个可配置逻辑元件进一步包括第一时钟控制电路,所述第一时钟控制电路具有时钟选择多路复用器及第一反相器,所述第一反相器经耦合以接收时钟信号,所述时钟选择多路复用器经耦合以在第一输入端处接收所述时钟信号并且进一步经耦合以在第二输入端处接收在所述第一反相器的输出端处生成的反相时钟信号。
10.根据权利要求9所述的电路,其中所述多个可配置逻辑元件中的每个可配置逻辑元件进一步包括:
第二时钟控制电路,所述第二时钟控制电路具有第二反相器,所述第二反相器包括耦合到所述第一反相器的输入端的输出端;
其中所述第二时钟控制电路实现输入时钟信号或反相输入时钟信号到所述第一反相器的所述输入端的所述耦合。
11.根据权利要求8所述的电路,其进一步包括具有配置位的配置存储器,所述配置位用于配置所述多个可配置逻辑元件中的可配置逻辑元件的所述选择电路,以实现所述第一寄存器的输出端到所述第二寄存器的输入端的所述耦合。
12.根据权利要求11所述的电路,其中所述配置存储器具有用于将所述可配置逻辑元件的所述第二寄存器配置为锁存器的配置位。
13.根据权利要求11所述的电路,其中每个可配置逻辑元件包括信号线,所述信号线在所述第一寄存器的所述输出端与所述选择电路的输入端之间耦合。
14.根据权利要求8所述的电路,其中所述多个可配置逻辑元件中的每个可配置逻辑元件进一步包括信号线,所述信号线在所述第一寄存器的所述输出端与所述选择电路的输入端之间耦合。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/503,845 | 2014-10-01 | ||
US14/503,845 US9606572B2 (en) | 2014-10-01 | 2014-10-01 | Circuits for and methods of processing data in an integrated circuit device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN205068374U true CN205068374U (zh) | 2016-03-02 |
Family
ID=55394900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201520732569.7U Active CN205068374U (zh) | 2014-10-01 | 2015-09-21 | 用于在集成电路设备中处理数据的电路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9606572B2 (zh) |
CN (1) | CN205068374U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105680847A (zh) * | 2016-03-03 | 2016-06-15 | 深圳市同创国芯电子有限公司 | 一种fpga电路及其设计方法 |
CN110463042A (zh) * | 2017-03-21 | 2019-11-15 | 赛灵思公司 | 能够实现电路选择的电路和方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107808683B (zh) * | 2016-09-09 | 2021-02-19 | 硅存储技术公司 | 用于读取阵列中的闪存单元的带位线预充电电路的改进读出放大器 |
US10541686B1 (en) * | 2018-11-15 | 2020-01-21 | Xilinx, Inc. | Circuit and method for ensuring a stable IO interface during partial reconfiguration of a reprogrammable integrated circuit device |
US11520371B2 (en) * | 2020-02-10 | 2022-12-06 | Northwestern University | Compute-adaptive clock management for machine learning accelerators |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3820030A (en) * | 1973-09-05 | 1974-06-25 | Gte Information Syst Inc | Pulse sampling and synchronization circuit |
US5053986A (en) * | 1990-02-21 | 1991-10-01 | Stardent Computer, Inc. | Circuit for preservation of sign information in operations for comparison of the absolute value of operands |
US6247036B1 (en) * | 1996-01-22 | 2001-06-12 | Infinite Technology Corp. | Processor with reconfigurable arithmetic data path |
US8788896B2 (en) * | 2012-01-11 | 2014-07-22 | Lsi Corporation | Scan chain lockup latch with data input control responsive to scan enable signal |
JP6254834B2 (ja) * | 2012-12-06 | 2017-12-27 | 株式会社半導体エネルギー研究所 | 半導体装置 |
KR101326117B1 (ko) * | 2013-06-25 | 2013-11-06 | 홍익대학교 산학협력단 | 위상 반전 록킹 알고리즘을 이용한 디지털 지연 고정 루프 회로 및 제어방법 |
-
2014
- 2014-10-01 US US14/503,845 patent/US9606572B2/en active Active
-
2015
- 2015-09-21 CN CN201520732569.7U patent/CN205068374U/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105680847A (zh) * | 2016-03-03 | 2016-06-15 | 深圳市同创国芯电子有限公司 | 一种fpga电路及其设计方法 |
CN105680847B (zh) * | 2016-03-03 | 2019-02-12 | 深圳市紫光同创电子有限公司 | 一种fpga电路及其设计方法 |
CN110463042A (zh) * | 2017-03-21 | 2019-11-15 | 赛灵思公司 | 能够实现电路选择的电路和方法 |
CN110463042B (zh) * | 2017-03-21 | 2024-01-26 | 赛灵思公司 | 能够实现电路选择的电路和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160098059A1 (en) | 2016-04-07 |
US9606572B2 (en) | 2017-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN205068374U (zh) | 用于在集成电路设备中处理数据的电路 | |
US7843215B2 (en) | Reconfigurable array to compute digital algorithms | |
JP6035429B2 (ja) | 集積回路のための柔軟性がより高いクロックネットワークアーキテクチャ | |
US10528513B1 (en) | Circuit for and method of providing a programmable connector of an integrated circuit device | |
EP0744835A2 (en) | Improved programmable gate array | |
US8493090B1 (en) | Multiplexer-based interconnection network | |
JP4907521B2 (ja) | 再構成可能な半導体集積回路及びその処理割り当て方法 | |
US20150194964A1 (en) | Controllable storage elements for an ic | |
US10068048B1 (en) | Generating clock trees for a circuit design | |
CN106797212B (zh) | 在集成电路器件中提供电压电平移位的电路和方法 | |
US10587270B2 (en) | Coarse-grain programmable routing network for logic devices | |
US8205180B1 (en) | Method of and system for generating a logic configuration for an integrated circuit | |
US6255847B1 (en) | Programmable logic device | |
Konishi et al. | PCA-1: A fully asynchronous, self-reconfigurable LSI | |
KR20230002937A (ko) | 컴퓨팅 데이터흐름 아키텍처 | |
US9577615B1 (en) | Circuits for and methods of reducing duty-cycle distortion in an integrated circuit implementing dual-edge clocking | |
CN105391443B (zh) | 用于可编程逻辑装置的逻辑单元 | |
US20080204072A1 (en) | Programmable Logic Device | |
US8988125B1 (en) | Circuits for and methods of routing signals in an integrated circuit | |
US6711716B1 (en) | Metal programmable clock distribution for integrated circuits | |
US7307452B2 (en) | Interconnect structure enabling indirect routing in programmable logic | |
US10049177B1 (en) | Circuits for and methods of reducing power consumed by routing clock signals in an integrated | |
US9729153B1 (en) | Multimode multiplexer-based circuit | |
JP5698268B2 (ja) | ミラーリングされた相互接続構造を有するプログラマブル集積回路 | |
CN211531080U (zh) | 集成电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |