具有逻辑瓦片的虚拟阵列的fpga及其配置和操作的方法

文档序号:1745867 发布日期:2019-11-26 浏览:22次 >En<

阅读说明:本技术 具有逻辑瓦片的虚拟阵列的fpga及其配置和操作的方法 (The method of the FPGA and its configuration and operation of virtual array with Logical tile ) 是由 A·科扎祖克 成·C·王 A·M·阿布雅卡尔 于 2018-05-09 设计创作,主要内容包括:一种集成电路,包括逻辑瓦片的物理阵列,其中,每个逻辑瓦片包括周边和多个外部I/O,所述多个外部I/O设置在逻辑瓦片的周边上的布局中,其中,每个逻辑瓦片的外部I/O的布局是相同的。物理阵列包括逻辑瓦片的第一虚拟阵列,该第一虚拟阵列被编程为执行数据处理操作、包括物理阵列的第一多个逻辑瓦片。物理阵列还包括逻辑瓦片的第二虚拟阵列,该第二虚拟阵列被编程为执行第二操作、包括物理阵列的第二多个逻辑瓦片。第二多个逻辑瓦片与第一多个逻辑瓦片不同。在一个实施例中,第一虚拟阵列的数据处理操作的执行独立于第二虚拟阵列的第二操作的执行。(A kind of integrated circuit, the physical array including Logical tile, wherein, each Logical tile includes periphery and multiple exterior I/O, the multiple exterior I/O is arranged in the layout on the periphery of Logical tile, wherein exterior I/O layout of each Logical tile is identical.Physical array includes the first virtual array of Logical tile, which is programmed to execute data processing operation, more than first including physical array a Logical tiles.Physical array further includes the second virtual array of Logical tile, which is programmed to execute the second operation, more than second including physical array a Logical tiles.A Logical tile more than second is different from more than first a Logical tiles.In one embodiment, execution of the execution of the data processing operation of the first virtual array independently of the second operation of the second virtual array.)

具有逻辑瓦片的虚拟阵列的FPGA及其配置和操作的方法

有关申请

该非临时申请要求于2017年5月26日提交的题为“FPGA having a Virtual Arrayof Logic Tiles,and Method of Configuring and Operating Same”的美国临时申请No.62/511,739的优先权和权益。该’739临时申请通过引用将其整体并入本文。

介绍

在一个方面,本发明涉及一种集成电路,该集成电路包括设置在其中/其上(下文统称为“其中”)的现场可编程门阵列(FPGA),其中FPGA包括可编程/可配置逻辑电路系统,该可编程/可配置逻辑电路系统包括瓦片(tile)的物理阵列,每个瓦片包括可编程组件(“瓦片”通常被称为“可配置逻辑块”(CLB)、“逻辑阵列块”(LAB)或“逻辑瓦片”--下文统称为“逻辑瓦片”),其中,逻辑瓦片的物理阵列在功能上和/或操作上“分区”以提供或形成逻辑瓦片的一个或多个虚拟阵列,该一个或多个虚拟阵列被编程、配置或限定为实现一个或多个功能或操作。逻辑瓦片的虚拟阵列可以是例如逻辑瓦片的物理阵列中的逻辑瓦片的物理连续或非连续子集。逻辑瓦片的虚拟阵列可以被编程、配置或限定为执行或实现一个或多个具体功能/操作。

在一个实施例中,多个逻辑瓦片的第一部分(第一虚拟阵列)被编程、配置或限定为实现第一功能/操作,并且逻辑瓦片的第二部分(第二虚拟阵列)被编程、配置或者限定为实现第二功能/操作。例如,实现第一功能/操作的逻辑瓦片的虚拟阵列可以被编程或配置为数据处理器或微控制器,并且实现第二功能/操作的逻辑瓦片的虚拟阵列可以被配置为具有互连网络的逻辑(例如,与处理器或控制器接口)、加速器、数字信号处理器(DSP)、数据加密引擎、滤波器、编码器、状态机和/或存储器。值得注意的是,在逻辑瓦片的物理阵列在功能上和/或操作上“分区”以形成多个虚拟阵列的情况下,在物理阵列的虚拟阵列中的每一个中逻辑瓦片的数量可以与FPGA的逻辑瓦片的物理阵列的其它虚拟阵列相同或不同。

逻辑瓦片的虚拟阵列中的一个或多个(或全部)可以被编程、配置或限定为独立于和/或依赖于其它虚拟阵列中的一个或多个(或全部)而操作。逻辑瓦片的虚拟阵列中的这样的一个或多个(或全部)可以在FPGA的全部或部分操作期间完全或部分独立地操作。在一个实施例中,逻辑瓦片的物理阵列可以被分区和编程、配置或限定为使得(i)逻辑瓦片的虚拟阵列中的一个或多个可以被配置为独立于其它虚拟阵列中的一个或多个(或全部)而操作,和(ii)逻辑瓦片的相同或不同虚拟阵列中的一个或多个可以被配置为依赖于其它虚拟阵列中的一个或多个(或全部)而操作。值得注意的是,逻辑瓦片的虚拟阵列中的每一个(或相对于物理阵列的其它逻辑瓦片)的独立和依赖操作的全部组合和置换旨在落入本发明的范围内。

逻辑瓦片的虚拟阵列中的一个或多个(或全部)可以包括、接收、生成和/或采用一个或多个不同时钟信号(或不同时钟域)。除此之外,或者代替它,虚拟阵列中的两个或更多个(或全部)可以包括、生成和/或采用一个或多个公共时钟信号(或公共时钟域),以便例如促进同步和/或同步操作(例如,在这种虚拟阵列的电路系统之间或在这种虚拟阵列的电路系统与外部电路系统或用户之间)。实际上,虚拟阵列中的两个或更多个(或全部)可以采用公共时钟信号(或公共时钟域),并且逻辑瓦片的一个或多个(或全部)虚拟阵列可以包括、接收、生成和/或采用(一个或多个)不同时钟信号(或(一个或多个)不同时钟域)。在逐个虚拟阵列的基础上,关于使用和生成的一个或多个不同时钟信号(或不同时钟域)和一个或多个公共时钟信号(或公共时钟域)的全部组合和置换旨在落入本发明的范围内。

在一个实施例中,逻辑瓦片的虚拟阵列中的一个或多个(或全部)包括和/或采用物理上不同或分离的外部I/O(例如,独立的外部I/O,以与逻辑瓦片的物理阵列外部的电路系统接口/通信)。在另一个实施例中,逻辑瓦片的虚拟阵列中的一个或多个(或全部)包括和/或采用物理上公共的I/O(例如,使用时分复用技术)。实际上,逻辑瓦片的虚拟阵列中的一个或多个(或全部)可以包括和/或采用物理上不同或分离的I/O以及物理上公共的I/O。在逐个虚拟阵列的基础上,物理上分离的I/O和物理上公共的I/O的全部组合和置换旨在落入本发明的范围内。

此外,在一个实施例中,虚拟阵列可以包括虚拟I/O,以连接到逻辑瓦片的物理阵列的其它部分(可以是另一个虚拟阵列)或促进与逻辑瓦片的物理阵列的其它部分(可以是另一个虚拟阵列)的通信。例如,虚拟I/O可以位于或设置在虚拟阵列中的逻辑瓦片的周边上,该虚拟阵列是逻辑瓦片的物理阵列的内部。这种虚拟I/O可以在虚拟阵列中的逻辑瓦片与物理阵列的其它部分之间(例如,在物理阵列中的逻辑瓦片与被配置为或执行数据处理器、微控制器、加速器、数据加密引擎、滤波器、DSP、编码器和/或状态机的操作的虚拟阵列中的逻辑瓦片之间)传输命令、地址和数据信号。在一个实施例中,虚拟I/O提供通信路径以在执行由逻辑瓦片的虚拟阵列执行的功能或操作之后输出数据和/或输入数据(i)以在功能或操作中使用和/或(ii)在其上要执行功能或操作(例如,加密)时输入数据。

物理阵列中的逻辑瓦片的虚拟阵列可以直接与逻辑瓦片的其它虚拟阵列中的一个或多个通信。例如,在一个实施例中,逻辑瓦片的一个或多个虚拟阵列可以使用互连网络或构造与逻辑瓦片的一个或多个其它虚拟阵列通信。例如,在上电、启动时,在初始化或重新初始化期间,和/或在复位或类似顺序/操作(可以在逻辑瓦片的虚拟阵列的配置之前、期间/同时或之后),可以配置这种互连网络或构造。实际上,在一个实施例中,虚拟阵列中的逻辑瓦片可以基于或使用第一时钟信号或第一时钟域同步地与一个或多个其它虚拟阵列中的逻辑瓦片通信或同步一个或多个其它虚拟阵列中的逻辑瓦片之间的通信,并且基于或使用第二时钟信号或第二时钟域与物理阵列外部进行通信。值得注意的是,虚拟阵列中的逻辑瓦片之间和当中全部通信组合旨在落入本发明的范围内。另外,一个或多个虚拟阵列与逻辑瓦片的物理阵列外部的电路系统之间的全部通信组合旨在落入本发明的范围内。实际上,通信的全部形式和/或方法(物理上或功能上)旨在落入本发明的范围内。此外,本发明可以采用促进逻辑瓦片的一个或多个其它虚拟阵列中的逻辑瓦片之间的通信的任何开关互连网络或构造。(参见例如,美国专利9,503,092,该美国专利通过引用并入本文)。

在一个实施例中,逻辑瓦片的虚拟阵列中的一个或多个(或全部)“共享”电路系统、存储器(例如,DRAM、SRAM等)、时钟生成或对准电路系统(例如,PLL、DLL、振荡器)和/或在物理上连续的逻辑瓦片的整个物理阵列外部的其它“资源”。例如,在一个实施例中,逻辑瓦片的多个虚拟阵列可以耦合到相同的时钟生成电路系统(例如,多个虚拟阵列可以接收相同的振荡器电路系统的一个或多个输出)和/或可以访问相同的物理嵌入或分立存储器。实际上,在一个实施例中,可以对这样的存储器进行分段或分区,使得某些子阵列、块或页面与特定虚拟阵列或虚拟阵列中的两个或更多个相关联或者配给或专用于特定虚拟阵列或虚拟阵列中的两个或更多个。存储器可以是任何种类、类型、大小和/或配置(例如,双端口)。值得注意的是,在一个实施例中,本发明的FPGA采用在美国专利申请No.15/239,958(该美国专利申请通过引用将其整体并入本文)中描述和/或示出的架构,例如,其中存储器设置或位于(i)虚拟阵列中的逻辑瓦片、(ii)第一虚拟阵列中的逻辑瓦片和第二虚拟阵列中的逻辑瓦片、和/或(iii)物理阵列中的逻辑瓦片(可以是也可以不是一个或多个虚拟阵列中的逻辑瓦片)之间,其中这样的逻辑瓦片可以控制、向设置在逻辑瓦片之间的存储器(例如,双端口SRAM存储器)写入数据以及从该存储器读取数据。

可以使用现在已知或以后开发的任何技术来配置包括逻辑瓦片的虚拟阵列中的一个或多个的逻辑瓦片的物理阵列。在一个实施例中,经由一个或多个编译器(下文统称为“编译器”)配置逻辑瓦片的物理阵列,在一个实施例中,编译器分离地生成和接收多个比特流(其被设计为实现至少一个特定功能/操作),其中每个比特流表示或对应于逻辑瓦片的相关联虚拟阵列的配置或程序数据。使用多个比特流,编译器可以生成编译的或“合并的”比特流,编译的或“合并的”比特流表示或对应于逻辑瓦片的物理阵列的某个部分(例如,逻辑瓦片的物理阵列的全部或基本上全部)的配置数据-该某个部分包括与“合并的”或组合的比特流(即,作为逻辑瓦片的每个虚拟阵列的每个比特流的复合比特流的一个比特流)对应或相关联的逻辑瓦片的每个虚拟阵列。当实行编译的或复合比特流时,逻辑瓦片的物理阵列被编程或配置。以这种方式,经由实现或实行单个复合比特流来配置物理逻辑瓦片的每个虚拟阵列(相对于经由与虚拟阵列相关联的多个分离或不同的比特流分离地编程或配置每个虚拟阵列中的电路系统)。

例如,在该实施例中,编译器生成与第一虚拟阵列相关联的比特流和与第二虚拟阵列相关联的比特流(以及与任何其它逻辑瓦片相关联的比特流),并且此后组合与逻辑瓦片的第一虚拟阵列(其被设计为实现第一功能/操作)和逻辑瓦片的第二虚拟阵列(其被设计为实现第二功能/操作)相关联的比特流以生成复合比特流,该复合比特流用于配置FPGA的逻辑瓦片的整个物理阵列-该整个物理阵列包括物理逻辑瓦片的每个虚拟阵列,或换种说法,与虚拟阵列相关联或对应的物理逻辑瓦片。因此,在该实施例中,可以分离地生成虚拟阵列的比特流,此后将该比特流和与逻辑瓦片的物理阵列对应的其它比特流(包括与(一个或多个)其它虚拟阵列相关联的比特流)“合并”或组合以生成复合比特流。然后可以实行或实现复合比特流以配置或编程FPGA的逻辑瓦片的物理阵列(包括逻辑瓦片的(一个或多个)虚拟阵列),以便使FPGA的可编程/可配置逻辑电路系统可操作。

配置数据可以存储在位于/驻留在集成电路上的存储器中。在一个实施例中,在逻辑瓦片的物理阵列和/或集成电路的上电或启动时和/或在初始化、重新初始化、配置和/或重新配置期间,将配置数据从存储器读出并应用于逻辑瓦片的物理阵列,并且响应地配置逻辑瓦片。如上所述,与(一个或多个)虚拟阵列对应的逻辑瓦片的配置数据的(一个或多个)比特流可以分离地或以复合形式应用于逻辑瓦片。

在一个实施例中,逻辑瓦片的一个或多个虚拟阵列(实现第一功能/操作)可以被锁定、固定和/或加密(在下文中统称为“加密”),使得这种(一个或多个)虚拟阵列的配置不可以例如由用户或设计者配置/重新配置、限定、修改和/或更改。另外,一个或多个其它虚拟阵列(实现与第一功能/操作不同的功能/操作)可以是未锁定的、可限定的或可修改的,使得可以例如由用户或设计者配置/重新配置、确定和/或限定这种(一个或多个)虚拟阵列的配置。在一个实施例中,编译器分离地生成与物理阵列(其包括逻辑瓦片的每个虚拟阵列)的配置相关联的比特流,并且此后通过将与第一和第二虚拟阵列相关联的比特流和可以限定或配置物理阵列的其它方面(例如,不是第一或第二虚拟阵列的部分的逻辑瓦片)的其它比特流(如果有的话)组合来生成复合比特流。复合配置数据可以存储在位于/驻留在集成电路上的存储器中。

在一个实施例中,在逻辑瓦片的物理阵列和/或集成电路的上电或启动时和/或在初始化、重新初始化、配置和/或重新配置期间,从存储器中读出复合配置数据。然后可以使用复合或一个组合的比特流来配置FPGA的逻辑瓦片的物理阵列(其包括“锁定”和“未锁定”虚拟阵列的配置或编程)。例如,在一个实施例中,编译器可以将与逻辑瓦片的第一虚拟阵列(其被设计为实现非用户可限定的第一功能/操作)和逻辑瓦片的第二虚拟阵列(其被设计为实现用户可限定的第二功能/操作)相关联的比特流组合或编译为限定FPGA的物理阵列的组合的或复合文件或比特流,以便编程或配置FPGA的逻辑瓦片的物理阵列的虚拟阵列。

本文描述和示出了许多发明。本发明既不限于任何单个方面也不限于其实施例,也不限于这些方面和/或实施例的任何组合和/或置换。此外,本发明的每个方面和/或其实施例可以单独采用或与本发明的一个或多个其它方面和/或其实施例组合使用。为简洁起见,本文不分离讨论和/或示出某些置换和组合。

具体实施方式

在第一方面,本发明涉及一种包括FPGA的集成电路,该FPGA具有在功能上和/或操作上“分区”以形成逻辑瓦片的多个虚拟阵列中的逻辑瓦片(例如,连续的逻辑瓦片)的物理阵列,其中每个虚拟阵列包括一个或多个逻辑瓦片。逻辑瓦片的物理阵列的虚拟阵列可以是例如逻辑瓦片的物理阵列中的逻辑瓦片的物理连续子集。逻辑瓦片的虚拟阵列可以是逻辑瓦片的物理阵列中的逻辑瓦片的物理连续或非连续子集。逻辑瓦片的虚拟阵列可以被编程、配置或限定为实现一个或多个特定和/或预定的功能/操作,例如数据处理器或微控制器(例如,DSP和相关联的逻辑电路系统)。虚拟阵列还可以被编程/配置/限定为实现其它特定和/或预定的功能/操作,诸如具有互连网络的逻辑(例如,与作为处理器或控制器的第一虚拟阵列接口)、加速器、数据加密引擎、滤波器、编码器、DSP(实现例如一个或多个乘法器-累加器电路和/或操作)、状态机和/或存储器。值得注意的是,与每个虚拟阵列相关联或分区为每个虚拟阵列中的逻辑瓦片的数量可以与FPGA的逻辑瓦片的物理阵列的其它虚拟阵列相同或不同。

逻辑瓦片的虚拟阵列可以被编程、配置和/或限定为(i)独立于其它虚拟阵列中的一个或多个(或全部)操作或执行,(ii)在FPGA的操作的全部或部分期间完全或部分独立地操作或执行,或(iii)与其它虚拟阵列中的一个或多个(或全部)一起或依赖于其它虚拟阵列中的一个或多个(或全部)执行或操作。实际上,在一个实施例中,逻辑瓦片的虚拟阵列中的一个或多个可以被编程、配置或限定为独立于其它虚拟阵列中的一个或多个来操作或执行其功能,以及逻辑瓦片的一个或多个其它虚拟阵列可以被编程、配置或限定为与一个或多个虚拟阵列一起或依赖于一个或多个虚拟阵列进行操作。值得注意的是,逻辑瓦片的每个虚拟阵列的独立和依赖操作的全部组合和置换旨在落入本发明的范围内。

参考图1A-图1D,简要地说,在一个实施例中,本发明的FPGA除了其它之外包括可编程/可配置逻辑电路系统,该逻辑电路系统包括逻辑瓦片的物理阵列。如上所述,每个逻辑瓦片通常包括数千个晶体管,这些晶体管可以被配置为执行组合和/或顺序功能(简单和/或复杂)。在一个实施例中,每个逻辑块可以包括一个或多个多路复用器或开关,该一个或多个多路复用器或开关可以布置在互连网络的多个开关矩阵或开关矩阵级中,以例如在集成电路的正常操作中或期间执行逻辑操作(基于(一个或多个)逻辑块的当前配置),和(ii)I/O(I/O引脚和相关联的I/O电路系统或块)-例如,设置在逻辑瓦片的***、周边或边缘上的I/O引脚以及与这种I/O引脚相关联的I/O电路系统或块,以促进逻辑瓦片的电路系统与可编程/可配置逻辑电路系统外部的电路系统之间的互连。值得注意的是,每个逻辑瓦片的外部I/O(I/O引脚和相关联的I/O电路系统/块)通常沿着逻辑瓦片的整个周边或边界散布-例如,在逻辑瓦片在四侧具有方形或矩形形状的情况下。(参见例如,图1D)。因此,在一个实施例中,逻辑瓦片阵列中的每个逻辑瓦片具有逻辑瓦片的周边上的公共外部I/O布局(这有利地促进了物理阵列中的逻辑瓦片的平铺(tiling))。

在本发明的一个方面中,本发明的逻辑瓦片的物理阵列在功能上或操作上“分区”以形成逻辑瓦片的一个或多个虚拟阵列(每个虚拟阵列包括一个或多个物理逻辑瓦片)。(一个或多个)逻辑瓦片的虚拟阵列被编程、配置或限定为实现具体功能/操作,例如数据处理器、微控制器、逻辑(例如,与另一虚拟阵列(例如,处理器或控制器)接口)、加速器、数据加密引擎、滤波器、DSP、编码器和/或状态机。例如,参考图2A-图2D,在一个实施例中,可编程/可配置逻辑电路系统的逻辑瓦片的物理阵列被分区为两个虚拟阵列,每个虚拟阵列包括一个或多个物理逻辑瓦片。在该实施例中,虚拟阵列1和虚拟阵列2各自包括逻辑瓦片的物理阵列中的逻辑瓦片的物理连续子集。虚拟阵列1被编程/配置/限定为实现功能f(1)(例如,数据处理器或微控制器(例如,具有支持逻辑电路系统的DSP))并且虚拟阵列2被编程/配置/限定为实现f(2)(例如,具有互连网络的支持逻辑(例如,与作为处理器或控制器的第一虚拟阵列接口)、加速器、数据加密引擎、滤波器、编码器、状态机和/或存储器)。逻辑瓦片的物理阵列的M个逻辑瓦片与虚拟阵列1相关联或在功能上或操作上分区以形成虚拟阵列1,并且逻辑瓦片的物理阵列的N个逻辑瓦片与虚拟阵列2相关联或在功能上或操作上分区以形成虚拟阵列2-其中M和N是正整数(即1、2、3、......),M和N可以是相同的整数或不同的整数。

值得注意的是,逻辑瓦片的物理阵列可以在功能上或操作上“分区”成整个物理阵列的子集,以形成逻辑瓦片的多于两个的虚拟阵列。(参见例如,图3A-图3C)。可以设计、配置或限定每个虚拟阵列以实现一个或多个(或全部)唯一或非唯一功能或操作。实际上,尽管许多实施例将虚拟阵列描述为被编程、配置或限定为实现或执行功能,但该功能可以是单个功能/操作或多个有关或无关的功能/操作(例如,有关功能/操作的组合)。

此外,逻辑瓦片的物理阵列和/或逻辑瓦片的虚拟阵列可以是任何大小(行或列)和/或形状(即,行相对于列)。例如,参考图3A-图3C,多个逻辑瓦片的物理阵列可以被布置成X个虚拟阵列(其中X是正整数),包括被编程、配置或限定为实现功能/操作f(1)的虚拟阵列1(具有M个逻辑瓦片,其中M是正整数),被编程/配置/限定为实现功能/操作f(2)的虚拟阵列2(具有N个逻辑瓦片,其中N是正整数)等,以及被编程/配置/限定为实现功能/操作f(x)的虚拟阵列X(具有Y逻辑瓦片,其中Y是正整数)。如上所述,这样的功能可以是一个或多个(或全部)唯一或非唯一的功能或操作。值得注意的是,每个虚拟阵列可以包括相同或不同数量的物理逻辑瓦片并且可以以任何方式关于可编程/可配置逻辑电路系统的逻辑瓦片的物理阵列进行组织,任何方式包括例如列(参见图3A,其中虚拟阵列相对于物理阵列以列方式分区/组织)、行(参见图3B,其中虚拟阵列相对于物理阵列以行方式分区/组织)、以及行和列(参见图3C,其中虚拟阵列相对于物理阵列既不以列方式也不以行方式分区/组织)。值得注意的是,尽管每个虚拟阵列可以被示为包括多个连续的逻辑瓦片,但是虚拟阵列还可以包括一个或多个非连续的逻辑瓦片(即,具有一个或多个逻辑瓦片的虚拟阵列与该虚拟阵列的其它逻辑瓦片不连续)。

参考图2A-图2D和图3A-图3C,可以编程/配置/限定逻辑瓦片的虚拟阵列中的一个或多个(或全部),以独立于其它虚拟阵列中的一个或多个(或全部)进行操作。例如,参考图2A和图3A-图3C,虚拟阵列1可以在FPGA的全部或部分操作期间相对于虚拟阵列2完全或部分独立地操作。此外,在一个实施例中,虚拟阵列1可以被编程、配置或限定为独立于虚拟阵列X操作并且依赖于虚拟阵列2操作。(参见例如,图3A和图3C)。值得注意的是,逻辑瓦片的每个虚拟阵列的独立和依赖操作的全部组合和置换旨在落入本发明的范围内。

参考图2B-图2D,逻辑瓦片的虚拟阵列可以相对于由(一个或多个)其它虚拟阵列接收、生成和/或采用的信号时钟包括、接收、生成和/或采用一个或多个唯一信号(或时钟域)和/或非唯一时钟信号(或时钟域)。例如,(一个或多个)阵列1时钟(其由虚拟阵列1接收和采用)可以是与(一个或多个)阵列2时钟(其由虚拟阵列2接收和采用)的特性相同或不同的特性(例如,频率和/或相位)。除此之外,或者代替它,虚拟阵列中的两个或更多个(或全部)可以生成和/或采用一个或多个公共时钟信号(或公共时钟域),以便例如促进同步操作(例如,在这种虚拟阵列的电路系统之间,或这种虚拟阵列的电路系统和外部电路系统之间)。(参见例如,图2B中的(一个或多个)阵列时钟))。实际上,虚拟阵列中的两个或更多个(或全部)可以采用公共时钟信号(或公共时钟域),并且逻辑瓦片的一个或多个虚拟阵列可以包括、生成和/或采用(一个或多个)不同的时钟信号(或(一个或多个)不同的时钟域)。值得注意的是,在逐个虚拟阵列的基础上,关于使用和生成的一个或多个不同时钟信号(或不同时钟域)和一个或多个公共时钟信号(或公共时钟域)的全部组合和置换旨在落入本发明的范围内。

虚拟阵列中的逻辑瓦片可以直接与逻辑瓦片的其它虚拟阵列的一个或多个逻辑瓦片通信。参考图2B和图2C,在一个实施例中,一个或多个虚拟阵列中的逻辑瓦片可以使用虚拟I/O与其它逻辑瓦片(例如,一个或多个不同虚拟阵列的一个或多个逻辑瓦片)通信(例如,数据、控制和/或地址信号),在一个实施例中,虚拟I/O是逻辑瓦片的“未使用的”外部I/O(参见图1C和图1D),该“未使用的”外部I/O位于逻辑瓦片的与例如相邻虚拟阵列的相邻逻辑瓦片的周边物理上相对的周边上。当I/O不用于与FPGA或可编程/可配置逻辑电路系统外部的电路系统通信时(例如,当逻辑瓦片的外部I/O不位于逻辑瓦片的物理阵列的***或周边上时(即,在逻辑瓦片的周边上的外部I/O位于虚拟阵列的***或周边上以及可编程逻辑电路系统的逻辑瓦片阵列的***或周边的内部),这种外部I/O是“未使用的”。在外部I/O位于虚拟阵列的***或周边上以及逻辑瓦片阵列的***或周边内部的情况下,“未使用的”外部I/O可以重新用作虚拟I/O,虚拟I/O可以被配置或用于电连接到可编程/可配置逻辑电路系统的相邻/相对逻辑瓦片上的未使用的外部I/O(例如,相邻虚拟阵列的虚拟I/O)。这里,采用这种虚拟I/O来提供逻辑瓦片的物理阵列中的逻辑瓦片之间的直接通信-在该实施例中,逻辑瓦片是相邻虚拟阵列中的逻辑瓦片。

因此,在一个实施例中,虚拟阵列1和虚拟阵列2包括虚拟I/O以连接或促进它们之间的通信。(还参见图7B的逻辑瓦片00和01)。这种虚拟I/O可以在虚拟阵列1和2的逻辑瓦片之间(以及物理阵列的其它逻辑瓦片之间)传输/接收控制、地址和/或数据信号。例如,在一个实施例中,虚拟I/O提供或促进通信路径,以(i)输入数据(a)以在(诸如,数据处理器、微控制器、加速器、数据加密引擎、滤波器、DSP、编码器和/或状态机的)功能或操作中使用,和/或(b)在其上要执行功能或操作(例如,加密)时输入数据和/或(ii)在执行由逻辑瓦片的虚拟阵列执行的功能或操作(例如,加密操作)之后输出数据。

值得注意的是,一个或多个逻辑瓦片的外部I/O中的一个、一些或全部(无论(一个或多个)逻辑瓦片是否是虚拟阵列)可以是“未使用的”,尽管这些外部I/O位于在逻辑瓦片的物理阵列的***或周边上。这里,外部I/O不用于与逻辑瓦片的物理阵列外部的电路系统通信。实际上,在一个实施例中,虚拟阵列不直接与可编程/可配置逻辑电路系统外部的电路系统通信,因此没有外部I/O。在该实施例中,逻辑瓦片的虚拟阵列可以经由虚拟I/O和/或互连网络或构造直接与物理阵列的其它逻辑瓦片(例如,另一虚拟阵列中的逻辑瓦片)通信。

参考图2C和图2D,除了虚拟I/O之外,或者代替它,在一个实施例中,逻辑瓦片的一个或多个虚拟阵列可以使用互连网络或构造与逻辑瓦片的一个或多个其它虚拟阵列通信。例如在上电、启动时,在初始化或重新初始化期间,和/或在复位或类似顺序/操作(其可以在逻辑瓦片的虚拟阵列的配置之前、期间/同时或之后),可以配置这种开关互连网络或构造。在一个实施例中,虚拟阵列的一个或多个逻辑瓦片可以基于或使用美国专利9,503,092(其通过引用并入本文)中描述和/或示出的一个或多个网络与另一个虚拟阵列的一个或多个逻辑瓦片互连。实际上,除此之外或代替它,给定虚拟阵列中的逻辑瓦片中的一个或多个(或全部)也可以基于或使用美国专利9,503,092中描述和/或示出的一个或多个网络进行互连。

例如,两个虚拟阵列中的逻辑瓦片可以经由混合模式互连架构或网络进行通信,其中在逻辑瓦片和网状网络(例如,逻辑瓦片中的给定状态的多个开关互连到不同虚拟阵列的另一个逻辑瓦片中的相同级的多个其它开关)内实现分层网络,实现为连接虚拟阵列中的逻辑瓦片(例如,在一个实施例中,网状互连是混合模式开关互连架构的最高级-参见例如图7A-其中虚拟阵列1和虚拟阵列2的一个或多个(或全部)逻辑瓦片中的互连网络的最高级的每个开关矩阵连接到(i)该逻辑瓦片中该级的多个开关矩阵和(ii)虚拟阵列2的至少一个逻辑瓦片中的最高级的多个开关矩阵)。值得注意的是,虚拟阵列中的逻辑瓦片之间和当中(以及之内)的全部通信组合旨在落入本发明的范围内。另外,一个或多个虚拟阵列与逻辑瓦片的物理阵列外部的电路系统之间的全部通信组合(包括形式和方法)旨在落入本发明的范围内。

继续参考图2B-图2D,在一个实施例中,逻辑瓦片的虚拟阵列可以包括和/或采用物理上不同或分离的外部I/O。除此之外或代替它,逻辑瓦片的虚拟阵列包括和/或采用物理上公共的I/O。实际上,逻辑瓦片的虚拟阵列中的一个或多个(或全部)可以包括和/或采用物理上不同或分离的I/O以及物理上公共的I/O。在逐个虚拟阵列的基础上,物理上分离的I/O以及物理上公共的I/O的全部组合和置换旨在落入本发明的范围内。

如上所述,逻辑瓦片的虚拟阵列中的一个或多个(或全部)可以“共享”电路系统、存储器(例如,DRAM、SRAM等)、时钟生成或对准电路系统(例如,PLL、DLL、振荡器)和/或在物理上连续的逻辑瓦片的整个物理阵列外部的其它“资源”。例如,参考图2B,虚拟阵列1和虚拟阵列2耦合到时钟生成电路系统(例如,以接收振荡器电路系统的一个或多个输出)和/或可以访问相同的物理嵌入或分立存储器。在一个实施例中,可以将与FPGA相关联的物理嵌入或分立存储器分段或分区,使得某些子阵列、块或页面与特定虚拟阵列或虚拟阵列中的两个或更多个相关联或配给或专用于特定虚拟阵列或虚拟阵列中的两个或更多个。

如上所述,在一个实施例中,本发明的FPGA采用美国专利申请No.15/239,958中描述和/或示出的架构,其中存储器设置在逻辑瓦片之间并与逻辑瓦片相邻。(参见例如,图7C)。简而言之,分立存储器设置在虚拟阵列中的逻辑瓦片以及其它逻辑瓦片(其可以是另一个虚拟阵列或虚拟阵列的一部分)的逻辑瓦片10和11之间。逻辑瓦片经由存储器I/O连接到存储器以促进通信(如在美国专利申请No.15/239,958中描述和示出的,从相邻逻辑向存储器读取数据和/或从存储器向相邻逻辑写入数据。例如,在一个实施例中,存储器是设置在(i)逻辑瓦片00和逻辑瓦片01和(ii)逻辑瓦片10和逻辑瓦片11之间的双端口存储器。值得注意的是,设置在(i)逻辑瓦片00和逻辑瓦片10以及(ii)逻辑瓦片01和逻辑瓦片11之间的虚拟I/O可以用于在虚拟阵列中的逻辑瓦片以及物理阵列的其它部分的逻辑瓦片之间传输控制信号、地址和数据(例如,虚拟I/O连接到虚拟阵列之间的通信总线,该虚拟阵列被配置为或执行数据处理器、微控制器、逻辑、加速器、数据加密引擎、滤波器、DSP、编码器和/或状态机以及物理阵列的其它逻辑瓦片(例如,与另一虚拟阵列(例如,处理器或控制器)接口的操作)。

值得注意的是,存储器可以是任何种类、类型、大小和/或配置。

可以使用现在已知或以后开发的任何技术来编程或配置逻辑瓦片的物理阵列-全部这些技术旨在落入本发明的范围内。在一个实施例中,限定、配置或编程逻辑瓦片的每个虚拟阵列的比特流被分离地应用于物理阵列(作为分离或不同的比特流),从而分离地编程或配置每个虚拟阵列。在另一个实施例中,(例如,通过一个或多个编译器)为每个虚拟阵列(例如,分离地)生成表示或对应于逻辑瓦片的相关联的虚拟阵列的配置的配置数据的比特流。然后将与逻辑瓦片的虚拟阵列相关联的比特流提供给编译器,该编译器使用比特流来生成组合的、编译的或“合并的”比特流,这样的比特流表示或对应于逻辑瓦片的物理阵列的配置数据-逻辑瓦片的物理阵列包括逻辑瓦片的每个虚拟阵列。此后,复合比特流被广播或应用于逻辑瓦片的物理阵列,复合比特流又编程或配置FPGA的可编程/可配置逻辑电路系统的逻辑瓦片的物理阵列,从而将逻辑瓦片的子集配给或分区为逻辑瓦片的(一个或多个)虚拟阵列。

例如,参考图4A-图4D,一个或多个编译器分离地生成与逻辑瓦片的虚拟阵列相关联或表示逻辑瓦片的虚拟阵列(其被设计或编程为实现一个或多个功能/操作)的比特流,并且使用这样的比特流生成或编译复合比特流。然后采用复合比特流来配置或编程FPGA的逻辑瓦片的物理阵列-逻辑瓦片的物理阵列包括物理逻辑瓦片的每个虚拟阵列。这里,复合比特流被广播或应用于物理阵列逻辑瓦片以编程或配置每个虚拟阵列以实现一个或多个预定功能/操作。也就是说,通过将物理阵列分区为逻辑瓦片的(一个或多个)虚拟阵列中的逻辑瓦片的子集,将复合比特流广播或应用于逻辑瓦片的整个物理阵列,以编程或配置FPGA的可编程/可配置逻辑电路系统的逻辑瓦片的物理阵列-每个虚拟阵列被设计或编程为实现一个或多个功能/操作(例如,处理器、控制器、加速器、数据加密引擎、滤波器、编码器、DSP(实现例如一个或多个乘法器-累加器电路和/或执行一个或多个乘法器-累加器操作)、状态机)。因此,在该实施例中,可以分离地生成虚拟阵列的比特流,此后(例如,经由一个或多个编译器)将比特流与对应于逻辑瓦片的物理阵列的其它比特流组合、编译或“合并”,然后复合比特流被实行、广播或实现以同时配置FPGA的物理逻辑瓦片的虚拟阵列,从而使FPGA可操作。

值得注意的是,在一个实施例中,可以锁定、固定和/或加密逻辑瓦片的一个或多个虚拟阵列(例如,实现预限定的功能/操作),使得不可以配置/重新配置、限定、修改和/更改该虚拟阵列的配置(例如,在配置逻辑瓦片的物理阵列之前)。除此之外或代替它,一个或多个其它虚拟阵列(实现例如相同或不同的功能/操作)可以是未锁定的、可限定的或可修改的,使得可以配置/重新配置、确定和/或限定第二虚拟阵列的配置。例如,在一个实施例中,逻辑瓦片的物理阵列包括被“锁定”、固定和/或加密的逻辑瓦片的一个或多个虚拟阵列,使得第一用户或设计者被禁止访问这些虚拟阵列中的一个或多个的配置数据(从而禁止编程、配置、重新限定或修改上述(一个或多个)虚拟阵列的功能/操作)。另外,一个或多个其它虚拟阵列可以是“未锁定”的、可编程的、可限定的或可修改的,使得第一用户或设计者不被禁止访问那些虚拟阵列中的一个或多个的配置数据(从而不被禁止编程、配置、限定或修改这种(一个或多个)虚拟阵列的功能/操作)。以这种方式,第一用户可以编程或限定某些虚拟阵列,而不编程或限定其它虚拟阵列(和/或甚至访问编程这样的其它虚拟阵列的数据)。

在该实施例中,可以通过经由分离或不同的比特流分离地应用限定、配置或编程逻辑瓦片的“锁定”和“未锁定”虚拟阵列中的每一个的(一个或多个)比特流,来编程或配置逻辑瓦片的物理阵列。在另一个实施例中,可以通过(使用编译器)组合或编译与逻辑瓦片的“锁定”和“未锁定”虚拟阵列相关联的比特流来使用复合比特流(如上所述)编程或配置逻辑瓦片的物理阵列,此后可以广播、实行、应用或实现与物理阵列(其包括上述虚拟阵列)相关联的复合或组合的配置比特流,以编程或配置FPGA的“锁定”和“未锁定”虚拟阵列,以便使FPGA可操作。例如,参考图4A,在一个实施例中,虚拟阵列1可以是“锁定”虚拟阵列,而虚拟阵列2可以是“未锁定”虚拟阵列。这里,编译器可以生成包括与虚拟阵列1(其被设计为实现被“锁定”、固定和/或加密的第一功能/操作,使得第一用户或设计者被禁止编程、配置、限定或修改)相关联的比特流以及与虚拟阵列2(其可以是“未锁定”的,从而用户可编程、可限定或可配置)相关联的比特流的复合文件或比特流。此后,可以采用或广播复合比特流以编程或配置FPGA的整个物理阵列(其还编程或配置锁定和未锁定虚拟阵列)。

值得注意的是,可以在具有一个或多个“锁定”虚拟阵列和一个或多个“未锁定”虚拟阵列的那些实施例中采用这样的过程或技术。(参见例如,图4B-图4D)。例如,参考图4B,虚拟阵列1和虚拟阵列x可以是“锁定”虚拟阵列,并且至少虚拟阵列2可以是“未锁定”虚拟阵列。其它虚拟阵列(如果有的话)可以是“锁定”或“未锁定”的。这里,一个或多个编译器(i)生成与f(1)、f(2)...f(x)相关联或对应的比特流,并且此后(ii)使用各个比特流通过组合各个比特流生成复合比特流,以生成与f(1)+f(2)+...+f(x)相关联或对应的组合的或复合比特流。然后可以将复合比特流应用或广播到FPGA的可编程/可配置逻辑电路系统,以编程逻辑瓦片的物理阵列(其提供物理阵列的功能上和/或操作上“分区”为物理逻辑瓦片的功能上和/或操作上相关联的子集,以“形成”或提供本发明的虚拟阵列)。

这里描述和示出了许多发明。虽然已经描述和示出了本发明的某些实施例、特征、属性和优点,但是应该理解,本发明的许多其它以及不同和/或类似的实施例、特征、属性和优点从描述和说明中是清楚的。因此,本文描述和示出的本发明的实施例、特征、属性和优点并非详尽无遗,并且应当理解,本发明的这些其它类似以及不同的实施例、特征、属性和优点在本发明的范围内。

实际上,本发明既不限于任何单个方面也不限于其实施例,也不限于这些方面和/或实施例的任何组合和/或置换。此外,本发明的每个方面和/或其实施例可以单独使用或与本发明的一个或多个其它方面和/或其实施例组合使用。

例如,可以编程/配置/限定本发明的逻辑瓦片的虚拟阵列中的一个或多个(或全部),以独立于其它虚拟阵列中的一个或多个(或全部)进行操作。逻辑瓦片的虚拟阵列中的这样的一个或多个(或全部)可以在FPGA的全部或部分操作期间完全或部分独立地操作。在一个实施例中,逻辑瓦片的虚拟阵列中的一个或多个可以被编程/配置/限定为独立于其它虚拟阵列中的一个或多个(或全部)来操作,以及逻辑瓦片的相同或不同虚拟阵列中的一个或多个可以被编程/配置/限定为依赖于其它虚拟阵列中的一个或多个(或全部)进行操作。值得注意的是,逻辑瓦片的每个虚拟阵列的独立和依赖操作的全部组合和置换旨在落入本发明的范围内。

此外,如上所述,逻辑瓦片的物理阵列的(一个或多个)虚拟阵列可以采用现在已知或以后开发的任何时钟电路系统和技术。例如,在一个实施例中,虚拟阵列采用网状时钟电路系统和技术。例如,参考图5A和图5B,在一个实施例中,多个逻辑瓦片的物理阵列被布置成两个虚拟阵列,这两个虚拟阵列包括被编程/配置/限定为实现第一功能/操作f(1)的虚拟阵列1(具有M个逻辑瓦片,其中M是正整数)和被编程/配置/限定为实现第二功能/操作f(2)的虚拟阵列2(具有N个逻辑瓦片,其中N是正整数)。每个虚拟阵列可以接收一个或多个分离的时钟信号以及网状时钟,该一个或多个分离的时钟信号以及网状时钟可以被分配给每个逻辑瓦片并由逻辑瓦片使用以执行各种功能/操作。FPGA的控制电路系统可以使得能够在虚拟阵列的一个或多个物理逻辑瓦片内并且关于由逻辑瓦片的一个或多个虚拟阵列实现的一个或多个功能/操作使用网状时钟(代替其它时钟信号)。值得注意的是,网状时钟电路系统(和网状时钟)可以在图2A-图2D、图3A-图3C和图4A-图4D中描述和/或示出的任何虚拟阵列实施例中实现。

例如,参考图5B,在一个实施例中,控制电路系统经由接收多个时钟信号(包括时钟网时钟)的多路复用器的控制选择性地使得能够使用时钟网信号。在该实施例中,逻辑瓦片的物理阵列中的逻辑瓦片的时钟分配和传输电路系统包括多个输入和输出路径(在所示实施例中的四个路径-标记为“北时钟路径”、“东时钟路径”、“南时钟路径”和“西时钟路径”)以生成具有期望或可编程偏斜的逻辑瓦片时钟信号,并且另外(经由网状时钟布局)接收时钟网信号。通过选择性地控制(一个或多个)时钟选择多路复用器,逻辑瓦片采用给定时钟信号(例如,网状时钟信号)。也就是说,在一个实施例中,时钟选择多路复用器响应地输出网状时钟信号或内部生成/得出的时钟信号作为瓦片时钟,瓦片时钟由逻辑瓦片的电路系统用于执行或实行例如功能和/或操作。控制电路系统可以经由这样的(一个或多个)时钟选择多路复用器的控制,使得能够在一个或多个物理逻辑瓦片内并且关于由逻辑瓦片的一个或多个虚拟阵列实现的一个或多个功能/操作使用网状时钟(代替其它时钟信号)。

值得注意的是,这里可以如关于时钟网阐明的方式中修改地采用美国专利9,240,791的时钟分配和传输电路系统。美国专利9,240,791通过引入并入于此,用于说明/解释时钟分配和传输电路系统的各方面,但是被修改为包括多路复用器以响应地选择要由逻辑瓦片的电路系统用于执行或实行例如功能和/或操作的时钟信号(例如,网状时钟信号)。

此外,逻辑瓦片的一个或多个虚拟阵列可以被编程、配置或限定为实现现在已知或以后开发的任何功能/操作。例如,在一个实施例中,一个或多个虚拟阵列被编程或配置为数据处理器、微控制器、加速器、数据加密引擎、滤波器和/或编码器。(在图6中,还参见,被配置或编程为微控制器单元的虚拟阵列1的示例性实施例(具有例如经由一个或多个乘法器-累加器电路配置和/或被配置为执行一个或多个乘法器-累加器操作的DSP)。

另外,逻辑瓦片的一个或多个虚拟阵列可以完全或部分地位于逻辑瓦片的物理阵列的周边或***上或完全位于其内部。(参见例如,图8A-图8E)。如上所述,在逻辑瓦片的物理阵列包括多个虚拟阵列的情况下,虚拟阵列可以包括相同或不同数量的物理逻辑瓦片,并且可以以任何方式关于可编程/可配置逻辑电路系统的逻辑瓦片的物理阵列进行组织。全部组合和置换旨在落入本发明的范围内。参考图8A-图8E,尽管未示出,但是(一个或多个)虚拟阵列可以(i)接收分离/不同的时钟信号和/或公共时钟信号,(ii)包括分离的外部I/O(以与FPGA外部的电路系统通信)和(iii)经由虚拟I/O和/或开关矩阵互连网络彼此通信(参见例如,图2B-图2D和与之有关的描述)。

此外,为了清楚起见,不是在附图的所有示例性实施例中示出I/O(例如,外部I/O和虚拟I/O)、时钟特征和/或存储器。然而,为了避免,这里描述和示出的示例性实施例(例如,图3A-图3C、图4A-图4D和图8A-图8E)可以采用本文描述和示出的任何I/O架构/实施例(参见例如,图1C、图1D、图2B-图2D和图7B)、开关互连网络架构/实施例(参见例如,图7A)、时钟架构/实施例(参见例如,图2B-图2D、图5A和图5B)和/或存储器架构/实施例(参见例如,图2B-图2D和图7C)。

值得注意的是,本文公开的各种电路、电路系统和技术可以使用计算机辅助设计工具来描述,并且在其行为、寄存器传递、逻辑组件、晶体管、布局几何形状和/或其它特性方面表达(或表示)为在各种计算机可读介质中体现的数据和/或指令。可以实现这种电路、电路系统、布局和布线表达的文件和其它对象的格式包括但不限于支持诸如C、Verilog和HLDL之类的行为语言的格式,支持RTL之类的寄存器级描述语言的格式,和支持诸如GDSII、GDSIII、GDSIV、CIF、MEBES之类的几何形状描述语言的格式,以及现在已知或以后开发的任何其它格式和/或语言。可以体现这种格式化数据和/或指令的计算机可读介质包括但不限于各种格式的非易失性存储介质(例如,光学、磁性或半导体存储介质)和可以用于通过无线、光学或有线信令介质或其任何组合来传递这种格式化数据和/或指令的载波。通过载波传递这种格式化数据和/或指令的示例包括但不限于经由一个或多个数据传递协议(例如,HTTP、FTP、SMTP等)在因特网和/或其它计算机网络上的传递(上载、下载、电子邮件等)。

实际上,当经由一个或多个计算机可读介质在计算机系统内接收时,上述电路的这种基于数据和/或指令的表达可以由计算机系统内的处理实体(例如,一个或多个处理器)结合实行一个或多个其它计算机程序来处理,其它计算机程序包括但不限于网表生成程序、放置和布线程序等,以生成这种电路的物理表现的表示或图像。此后,例如,通过使得能够在器件制造过程中生成用于形成电路的各种组件的一个或多个掩模,可以在器件制造中使用这种表示或图像。

此外,可以使用计算机辅助设计和/或测试工具经由仿真来表示本文公开的各种电路、电路系统和技术。实现的电路、电路系统、布局和布线和/或技术的仿真由此可以由计算机系统实现,其中经由计算机系统模拟、复制和/或预测由此实现的这种电路、电路系统、布局和技术的特性和操作。本发明还涉及由此实现的本发明电路、电路系统和/或技术的这种仿真,并且因此旨在落入本发明的范围内。对应于这种仿真和/或测试工具的计算机可读介质也旨在落入本发明的范围内。

值得注意的是,本文提及“一个实施例”或“实施例”(或类似)意指关于该实施例描述的特定特征、结构或特性可以被包括、采用和/或结合在本发明的实施例的一个、一些或全部中。本说明书中的短语“在一个实施例中”或“在另一个实施例中”(或类似)的使用或出现不是指相同的实施例,也不是一个或多个其它实施例的必须相互排斥的分离的或替代的实施例,也不限于单一的排他性实施例。这同样适用于术语“实施方式”。本发明既不限于任何单个方面也不限于其实施例,也不限于这些方面和/或实施例的任何组合和/或置换。此外,本发明的每个方面和/或其实施例可以单独采用或与本发明的一个或多个其它方面和/或其实施例组合使用。为简洁起见,本文不分离讨论和/或示出某些置换和组合。

此外,如上所述,本文描述为“示例性”的实施例或实施方式不应被解释为例如相对于其它实施例或实施方式是理想的、优选的或有利的;相反,它旨在传达或指示实施例或多个实施例是(一个或多个)示例实施例。

尽管已经在某些具体方面描述了本发明,但是对于本领域技术人员来说许多其它修改和变化是明显的。因此,应该理解,在不脱离本发明的范围和精神的情况下,可以以不同于具体描述的方式实施本发明。因此,本发明的实施例应该在所有方面都被认为是说明性/示例性的而非限制性的。

值得注意的是,术语“包括”、“包括有”、“包含”、“包含有”、“具有”和“有”或其任何其它变型旨在涵盖非排他性的包含,使得包括元件列表的过程、方法、电路、物品或设备不仅包括那些元件,而可以包括未明确列出的或者这种过程、方法、物品或设备固有的其它元件。此外,在整个本文档中术语“连接”、“被连接”、“连接到”或“连接”的使用应广义地解释为包括直接或间接(例如,经由一个或多个导体和/或中间器件/元件(有源或无源)和/或经由电感或电容耦合)),除非另有说明(例如,使用术语“直接连接”或“直接被连接”)。

本文的术语“第一”、“第二”等不表示任何顺序、数量或重要性,而是用于将一个元件与另一个元件区分开。此外,本文中的术语“一(a)”和“一个(an)”不表示数量的限制,而是表示存在至少一个所引用的项目。

此外,术语“逻辑瓦片”意指多个晶体管(通常多于数千个)的设计单元或块,多个晶体管被连接或配置为例如可编程组件(例如,可编程逻辑组件),在本申请中,逻辑瓦片能够连接到一个或多个相邻的“逻辑瓦片”。术语(i)“集成电路”除其它之外意指处理器、控制器、状态机、门阵列、SOC、PGA和/或FPGA。

此外,术语“电路系统”除其它之外意指电路(无论是集成的还是其它的)、一组这样的电路、一个或多个处理器、一个或多个状态机、实现软件的一个或多个处理器、一个或多个门阵列、可编程门阵列和/或现场可编程门阵列,或者一个或多个电路(无论是集成的还是其它的)、一个或多个状态机、一个或多个处理器、实现软件的一个或多个处理器、一个或多个门阵列、可编程门阵列和/或现场可编程门阵列的组合。术语“数据”除其它之外意指(一个或多个)电流或电压信号(复数或单数),无论是模拟形式还是数字形式,可以是单个比特(或类似)或多个比特(或类似)。此外,术语“初始化操作”意指鲁棒型存储器部(或其存储元件)和/或集成电路的上电、启动、初始化、重新初始化、配置和/或重新配置操作。术语数据处理操作意指包括数字信号处理、编码、解码、加密、解密和/或其它形式的数据处理的操作。

48页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:频率产生器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!