可编程逻辑IC的块存储器布局和体系架构及其操作方法与流程

文档序号:14186020阅读:207来源:国知局

本非临时申请要求于2015年9月1日提交的标题为“Block Memory Layout and Architecture for Programmable Logic IC,and Method of Operating Same”的美国临时申请号62/213,080的优先权,通过引用将该申请整体结合进本文。



背景技术:

在一个方面,本发明针对集成电路及其布局/体系架构,包括具有多个逻辑瓦片(tile)和块存储器(例如,动态和/或静态随机存取存储器单元块或阵列(诸如DRAM、SRAM、闪存、EPROM、EEPROM和/或MRAM);值得注意的是,所有存储器类型及其组合旨在在本发明的范围内被调用)的可编程或可配置逻辑电路系统(circuitry)。在一个实施例中,一个或多块个存储器的阵列被布置在集成电路的可编程/可配置逻辑电路系统的逻辑瓦片阵列的连续的逻辑瓦片之间和/或与集成电路的可编程/可配置逻辑电路系统的逻辑瓦片阵列的一个或多个逻辑瓦片相邻。值得注意的是,集成电路可以是例如处理器、控制器、状态机、门阵列、可编程门阵列(PGA)、现场可编程门阵列(FPGA)以及片上系统(SOC),并且集成电路的布局/体系架构可以在其中实现。例如,在一个实施例中,在处理器、控制器、状态机、门阵列、PGA、FPGA和SOC的可编程或可配置逻辑电路系统中采用本发明的逻辑瓦片和块存储器布局/体系架构(其中块存储器的一个或多个阵列被布置在连续的逻辑瓦片之间和/或与逻辑瓦片阵列中的一个或多个逻辑瓦片相邻地定位)。

简而言之,FPGA是可以由用户、客户和/或设计者在制造之前和/或制造之后进行配置和/或重新配置(在下文中,除非另有说明,否则统称为“配置”等(例如,“配置(configure)”、“配置为(configuring)”和“可配置”))的集成电路。除了其它部件外,FPGA还包括具有可编程逻辑部件的多个瓦片(通常称为“可配置逻辑块”(CLB)、“逻辑阵列块”(LAB)或“逻辑瓦片”—本文中统称为“逻辑瓦片”)以及促进该多个逻辑瓦片之间的通信的可配置的互连件的网络。(参见图1A)。

每个逻辑瓦片通常包括数千个晶体管,这些晶体管通常被组织为逻辑和I/O–例如,多个(i)逻辑块,以执行组合性的功能和/或顺序性功能,每个逻辑块包括一个或多个多路复用器或开关,其中该多路复用器或开关可以被布置在互连网络的多个开关矩阵或开关矩阵级中,以在例如集成电路的正常操作中或在集成电路的正常操作期间(基于一个或多个逻辑块的那个当前配置)执行逻辑操作,以及(ii)I/O(I/O引脚和相关联的I/O电路系统或I/O块)–例如,被布置在逻辑瓦片的外围(periphery)、周边(perimeter)或边缘(edge)上的I/O引脚,以及与这样的I/O引脚相关联的I/O电路系统或I/O块,以促进逻辑瓦片的电路系统与可编程/可配置逻辑电路系统外部的电路系统之间的互连。(参见图1B和图1C)。逻辑瓦片的每个逻辑块的晶体管可以被配置为执行组合性功能和/或顺序性功能(简单功能和/或复杂功能)。值得注意的是,I/O(I/O引脚和相关联的I/O电路系统/块)通常沿着逻辑瓦片的整个周边或边界(border)散布–例如,在逻辑瓦片具有正方形或矩形形状的那些情况下,I/O在所有四条边上散布。(例如参见图1C)。值得注意的是,I/O引脚是信号的进入/离开逻辑瓦片的物理点;信号的进入/离开逻辑瓦片的所有物理形式旨在落入本发明的范围内(例如,集成电路中的/集成电路的导体或金属布线)。

附图说明

本发明可以结合附图中图示的实施例来实现。这些附图示出了本发明的不同方面,并且,在适当的情况下,在不同图中图示的相同结构、部件、材料和/或元件的附图标记被类似地进行标记。应当理解,除了具体示出的那些结构、部件、材料和/或元件之外,结构、部件、材料和/或元件的各种组合是被预想到并且在本发明的范围内的。

此外,本文描述和图示了许多发明。本发明既不限于其任何单个方面或实施例,也不限于这些方面和/或实施例的任意组合和/或排列。而且,本发明的每个方面和/或其实施例可以被单独采用或者与本发明的一个或多个其它方面和/或其实施例组合使用。为了简洁起见,在本文中分没有开讨论和/或图示某些排列和组合。值得注意的是,本文描述为“示例性”的实施例或实现不被解释为优选的或有利的(例如,优于其它实施例或实现的);而是旨在反映或指示一个或多个实施例是一个或多个“示例”实施例。

图1A图示了包括控制电路系统、时钟电路系统、存储器和可编程/可配置逻辑电路系统(该可编程/可配置逻辑电路系统包括多个逻辑瓦片,其中每个逻辑瓦片包括逻辑晶体管(该逻辑晶体管可以互连,例如,作为具有两个或更多个输入端的多路复用器或开关,该输入端电耦合至相关联的配置单元,当该配置单元被编程时,确定多路复用器的操作))的方框图表示;

图1B图示了图1A的可编程/可配置逻辑电路系统的示例性逻辑瓦片的框图表示,其中逻辑瓦片包括逻辑和I/O,例如,多个(i)逻辑块,每个逻辑块包括例如多个查找表、算术块、数据多路复用器、触发器和控制/复位电路系统,(ii)I/O(布置在逻辑瓦片的外围、周边或边缘上的I/O和I/O电路系统或I/O块,以促进逻辑瓦片的电路系统与可编程/可配置逻辑外部的电路系统之间的互连,以及(iii)由一个或多个多路复用器或开关组成的互连网络,该一个或多个多路复用器或开关可以被布置或配置成具有多个开关矩阵或开关矩阵级的互连网络,以例如执行或促进当前配置的集成电路的正常操作中的或正常操作期间的逻辑操作的执行;值得注意的是,I/O(例如,I/O引脚)通常沿着逻辑瓦片的整个周边、外围或边界(例如,在逻辑瓦片具有正方形或长方形形状的情况下,I/O在所有四个边上)布置;值得注意的是,I/O是指一个输入/输出(可以是单向导体和/或双向导体)和/或多个输入/输出(即,多于一个单向导体和/或多于一个双向导体);

图1C图示了图1A和图1B的可编程/可配置逻辑电路系统的示例性逻辑瓦片的框图表示,其中逻辑瓦片(该逻辑瓦片电耦合至I/O电路系统或块)的外部I/O位于逻辑瓦片的所有边上(即,沿着逻辑瓦片的整个周边散布);值得注意的是,该外部I/O是分离于或独立于用于可编程/可配置逻辑电路系统的逻辑瓦片之内的和/或逻辑瓦片之间的网络的内部互连的逻辑瓦片的I/O的;

图2A-图2C图示了根据本发明的某些方面的、包括控制电路系统、时钟电路系统、存储器和可编程/可配置逻辑电路系统(其包括多个逻辑瓦片)的示例性集成电路的示例性框图表示,其中根据本发明的各方面存储器被布置在连续的逻辑瓦片之间和/或与逻辑瓦片(其在可编程/可配置逻辑电路系统的内部)的内部边界或侧边(side)相邻地定位;值得注意的是,存储器可以是动态或静态随机存取存储器块或存储器阵列(诸如DRAM、SRAM、闪存、EPROM、EEPROM和/或MRAM(所有存储器类型旨在本发明的范围内被调用));

图3A-图3H图示了根据本发明的某些方面的、包括多个逻辑瓦片(其中,在说明性实施例中,被组织为阵列)和多个存储器块或存储器阵列的示例性可编程/可配置逻辑电路系统的示例性框图表示,其中,在一个实施例中,一个或多个动态或静态随机存取存储器块或存储器阵列电耦合至一个或多个相邻的逻辑瓦片并且与其可操作地相关联;这样的存储器可以是现在已知或以后开发的任何类型,包括例如DRAM、SRAM、闪存、EPROM、EEPROM和/或MRAM;此外,示例性可编程/可配置逻辑电路系统可以实现逻辑电路系统中的一种类型的存储器或者实现不同存储器类型的任意组合,所有的组合都旨在落入本发明的范围内;值得注意的是,在本发明的一个实施例中,存储器块或存储器阵列可以经由这样的逻辑瓦片的预定I/O(例如,I/O引脚和I/O电路系统或块)(例如,没有被采用于将逻辑瓦片的电路系统和可编程/可配置逻辑电路系统外部的电路系统互连的I/O–即,逻辑瓦片的未使用的I/O)电耦合至与存储器相关联的逻辑瓦片的逻辑块;在根据本发明的某些方面的一个实施例中,预定I/O包括不位于可编程/可配置逻辑电路系统的外围或周边上的那些逻辑瓦片的那些I/O;

图4图示了具有四个逻辑瓦片的示例性可编程/可配置逻辑电路系统的示例性框图表示,其中布置在可编程/可配置逻辑电路系统的外围内部(即,没有布置在可编程/可配置逻辑电路系统的外围)的逻辑瓦片的外部I/O典型地被禁止用于作为外部I/O的接口的目的,并且在根据本发明的某些方面的一个实施例中,这样的I/O被采用为与被布置在连续的逻辑瓦片之间的存储器和/或与一个或多个逻辑瓦片相邻地定位的存储器进行接口的存储器I/O;

图5A-图5D图示了根据本发明的某些方面的逻辑瓦片和块随机存取存储器(诸如DRAM、SRAM、闪存、EPROM、EEPROM和/或MRAM)的示例性布局的示例性示意框图表示,其中,在这些说明性的实施例中,在连续的可编程/可配置逻辑电路系统的逻辑瓦片之间和/或位于与逻辑瓦片阵列的逻辑瓦片相邻地布置存储器块或存储器阵列,并且经由存储器I/O电耦合至一个或多个这样的逻辑瓦片,该存储器I/O在本实施例中对应于逻辑瓦片的未使用I/O(例如,没有被采用来将逻辑瓦片的电路系统和可编程/可配置逻辑电路系统外部的电路系统进行互连的一个或多个I/O引脚以及相关联的I/O电路系统或块,并且在该示例性实施例中,该存储器I/O对应于没有位于可编程/可配置逻辑电路系统的外围或周边上的I/O引脚和I/O电路系统或块)(再次,I/O引脚是信号的进入/离开的物理点;信号的进入/离开逻辑瓦片的所有物理形式均旨在落入本发明的范围内);

图6A和图6B图示了根据本发明的某些方面的逻辑瓦片和块两端口(two-port)或双端口(dual-port)SRAM(例如,1K×36b 2端口RAM(1R1W)或2K×18b真双端口RAM)的示例性布局的示例性示意框图表示,其中,在这些说明性实施例中,存储器块或存储器阵列电耦合至相关联的逻辑瓦片存储器I/O,在本实施例中,该逻辑瓦片存储器I/O对应于逻辑瓦片的未使用I/O(不位于可编程/可配置逻辑电路系统的外围或周边上的I/O引脚(以及相关联的I/O电路系统或块)-例如参见图4);值得注意的是,插入图A图示了用于两端口或双端口SRAM实现的信号);在一个实施例中,本发明可以包括ECC电路系统(参见图6B);重要的是,虽然说明性实施例中的存储器是SRAM,但是块动态或静态随机存取存储器可以是DRAM、闪存、EPROM、EEPROM和/或MRAM或现在已知的或以后开发的任何其它存储器;

图6C图示了根据本发明的某些方面的、在图6A和图6B中图示的双端口SRAM实现的1K×36b两端口(1R1W)和2K×18b真双端口配置中采用的某种辅助逻辑的示例性示意框图;为了清楚起见,没有图示出逻辑瓦片;在这些说明性实施例中,存储器块或存储器阵列电耦合至相关联的逻辑瓦片存储器I/O(参见例如图5A、图6A和图6B),在本实施例中该逻辑瓦片存储器I/O对应于逻辑瓦片的未使用I/O(这里,可以采用不位于可编程/可配置逻辑电路系统的外围或周边上的I/O引脚(以及相关联的I/O电路系统或块)来与其相邻的存储器进行接口–例如,与图4进行比较);

图7图示了根据本发明的某些方面的逻辑瓦片和块单端口SRAM(例如,对于总共144Kb的SRAM,具有四个实例2K×18b单端口SRAM的逻辑瓦片的两个实例)的示例性布局的示例性示意框图表示,其中,在这些说明性实施例中,存储器块或存储器阵列电耦合至相关联的逻辑瓦片存储器I/O,在本实施例中,该逻辑瓦片存储器I/O对应于逻辑瓦片的未使用I/O(这里,不位于可编程/可配置逻辑电路系统的外围或周边上的I/O引脚(以及相关联的I/O电路系统或块)–例如,与图4进行比较);值得注意的是,插入图A图示了用于单端口SRAM实现的信号);重要的是,虽然说明性实施例中的存储器是SRAM,但是块动态或静态随机存取存储器可以是DRAM、闪存、EPROM、EEPROM和/或MRAM或现在已知的或以后开发的任何其它存储器,所有这些都旨在落入本发明的范围内;

图8A和图8B图示了根据本发明的某些方面的、在单端口乒乓缓冲器体系架构中逻辑瓦片和块单端口SRAM(例如,1K×36b 2端口RAM(1R1W)-2K×18b单端口RAM或两个2K×36b的乒乓缓冲器的四个实例)的示例性布局的示例性示意框图表示,其中,在这些说明性实施例中,在本实施例中存储器块或存储器阵列再次电耦合至对应于逻辑瓦片的未使用I/O的相关联的逻辑瓦片存储器I/O;值得注意的是,插入图A图示了用于单端口SRAM实现的信号);在一个实施例中,根据本发明的体系架构可以采用ECC电路系统(参见图8B)。重要的是,如上文所注意到的,虽然说明性实施例中的存储器是SRAM,但是块动态或静态随机存取存储器可以使用现在已知的或者以后开发的任何存储器(包括类型和/或体系架构)来实现;

图8C图示了根据本发明的某些方面的、在图8A和图8B中图示的单端口SRAM实现的2K×36b乒乓缓冲器和两个2K×18b单端口配置中采用的某种辅助逻辑的示例性示意框图;为了清楚起见,没有图示出逻辑瓦片;在这些说明性实施例中,存储器块或存储器阵列电耦合至相关联的逻辑瓦片存储器I/O(参见例如图5A、图8A和图8B),在该实施例中,该逻辑瓦片存储器I/O对应于逻辑瓦片的未使用I/O(这里,不位于可编程/可配置逻辑电路系统的外围或周边上的I/O引脚以及相关联的I/O电路系统或块可被用于与存储器进行接口–例如与图4进行比较);

图9A图示了根据本发明的某些方面的逻辑瓦片和块双端口SRAM(例如,2K×18b的八个实例)的另一个示例性布局的示例性示意框图表示,其中,在这些说明性实施例中,存储器块或存储器阵列电耦合至相关联的逻辑瓦片存储器I/O,在本实施例中,该逻辑瓦片存储器I/O对应于逻辑瓦片的未使用I/O(不位于可编程/可配置逻辑电路系统的外围或周边上的I/O引脚,因此,这些I/O引脚和相关联的I/O电路系统或块可用于与布置在连续逻辑瓦片之间的存储器进行接口–例如与图4进行比较);值得注意的是,图9C中图示的插入图A图示了用于双端口SRAM实现的信号);在这个实施例中,不需要采用辅助逻辑来在1R1W到双端口之间进行转换;如在其它示例性实施例中那样,虽然说明性实施例中的存储器是SRAM,但是块动态或静态随机存取存储器可以是现在已知的或者以后开发的任何其它存储器;

图9B图示了如在图9A中图示的布置在可编程/可配置逻辑电路系统的逻辑瓦片阵列的逻辑瓦片之间的存储器的框图,其中,在这个示例性实施例中,布置在逻辑瓦片阵列的连续逻辑瓦片之间的存储器包括双端口SRAM的八个实例(为了清楚起见,没有图示出连接到相关联的逻辑瓦片的存储器I/O的信号输入端以及信号)。

图9C图示了图9A的插入图A,其绘出了包括连接到相关联逻辑瓦片的存储器I/O的信号的双端口SRAM实现;

图10图示了根据本发明的某些方面的示例性可编程/可配置逻辑电路系统的示例性框图表示,其中,在该示例性实施例中,根据本发明的某些方面,可编程/可配置逻辑电路系统包括四个逻辑瓦片和布置在可编程/可配置逻辑电路系统的外围的内部(即,没有被布置在可编程/可配置逻辑电路系统的外围上–例如参见图4)的逻辑瓦片的存储器I/O引脚,以及可用于由可编程/可配置逻辑电路系统外部的电路系统访问的外部I/O引脚;值得注意的是,在这个逻辑瓦片的2×2阵列的示例性实施例中,存储器被布置在相邻逻辑瓦片的每条边缘或侧边上并且耦合到逻辑瓦片的存储器I/O引脚,以促进存储器和与其相邻的逻辑瓦片之间的通信;在一个实施例中,双端口存储器被布置在(i)逻辑瓦片00和逻辑瓦片01之间以及(ii)逻辑瓦片10和逻辑瓦片11之间,并且单端口存储器被布置在(i)逻辑瓦片01和逻辑瓦片11之间以及(ii)逻辑瓦片00和逻辑瓦片10之间;在一个方面,存储器与(N-1)×(N-1)阵列线性地成比例;

图11图示了根据本发明的某些方面的示例性可编程/可配置逻辑电路系统(7×7逻辑瓦片配置)的示例性框图表示,其中可编程/可配置逻辑电路系统包括四十九个逻辑瓦片,并且逻辑瓦片的存储器I/O被布置在可编程/可配置逻辑电路系统的外围的内部(即,未布置在可编程/可配置逻辑电路系统的外围上的I/O引脚)并连接到块动态或静态随机访问存储器;根据本发明的某些方面,外部I/O(为了清楚起见未图示)被布置在可编程/可配置逻辑电路系统的外围,并且可用于由可编程/可配置逻辑电路系统外部的电路系统访问;值得注意的是,这样的存储器可以是现在已知的或者以后开发的任何类型,包括例如DRAM、SRAM、闪存、EPROM、EEPROM和/或MRAM;实际上,本发明的可编程/可配置逻辑电路系统可以采用不同存储器类型的任意组合,所有这些组合都旨在落入本发明的范围内;

图12A至图12C图示了根据本发明的某些方面的、其中存储器被布置在“中央瓦片”区域的位置中的伪3×3逻辑瓦片体系架构的示例性可编程/可配置逻辑电路系统的示例性框图表示;可以是块RAM的任何配置或体系架构的存储器与相邻的逻辑瓦片通信和/或由相邻的逻辑瓦片采用;值得注意的是,任何伪n×m逻辑瓦片体系架构具有位于体系架构的一个或多个瓦片区域中的块RAM(例如参见图12C,其中逻辑瓦片1-8和存储器可以被重复为伪9×9逻辑瓦片体系架构);在一个示例性实施例中,块存储器经由对应于逻辑瓦片的未使用I/O(例如,没有被采用来将逻辑瓦片的电路系统和可编程/可配置逻辑电路系统外部的电路系统进行互联的I/O引脚和相关联的I/O电路系统或块)的存储器I/O电耦合至一个或多个(或全部)相邻的逻辑瓦片;这样的块RAM可以是现在已知的或者以后开发的任何类型,包括例如DRAM、SRAM、闪存、EPROM、EEPROM和/或MRAM;

图13和图14图示了根据本发明的某些方面的包括多个逻辑瓦片和多个存储器块或存储器阵列的示例性可编程/可配置逻辑电路系统的示例性框图表示,其中,每个存储器块或存储器阵列(动态或静态随机存取存储器)电耦合至两个或更多个逻辑瓦片并且与其可操作地相关联,其中一个或多个这样的逻辑瓦片不是相邻的逻辑瓦片;相邻和/或非相邻存储器-逻辑瓦片配置/体系架构的所有组合均旨在落入本发明的范围内;值得注意的是,在本发明的一个实施例中,存储器块或存储器阵列可以经由这样的逻辑瓦片的预定I/O(例如,没有被采用来将逻辑瓦片的电路系统和可编程/可配置逻辑电路系统外部的电路系统进行互连的I/O引脚和I/O电路系统或块—即,未使用的I/O电路系统或逻辑瓦片块)电耦合至与存储器相关联的逻辑瓦片的逻辑电路系统或块;在根据本发明的某些方面的另一个实施例中,非相邻存储器块经由促进瓦片与瓦片通信的互连网络与存储器互连;

图15A-图15E图示了根据本发明的某些方面的、包括控制电路系统、时钟电路系统、存储器和可编程/可配置逻辑电路系统(该逻辑电路系统包括多个逻辑瓦片)的示例性集成电路的示例性框图表示,其中根据本发明的方面,逻辑被布置在连续的逻辑瓦片之间和/或与可编程/可配置逻辑电路系统的内部中的逻辑瓦片阵列的逻辑瓦片相邻地定位;该逻辑可以是任何非存储器电路系统,包括例如加速器、乘法器(例如,一个或多个浮点乘法器和/或定点乘法器)、加密电路系统(例如,一个或多个加密/解密引擎)、信号处理器和/或定制逻辑;值得注意的是,根据本发明的方面,所布置的逻辑和存储器两者都可以被布置在连续的逻辑瓦片之间或者与逻辑瓦片阵列(该逻辑瓦片阵列在可编程/可配置逻辑电路系统的内部)的逻辑瓦片的内部边界、边缘或侧边相邻地定位(参见图15D和图15E);如本文所讨论的,存储器可以是动态、静态和/或内容可寻址随机存取存储器块或存储器阵列,诸如TCAM、DRAM、SRAM、闪存、EPROM、EEPROM和/或MRAM(所有存储器类型旨在本发明的范围内被调用)。

再次,本文描述和图示了许多发明。本发明既不限于其任何单个方面或其实施例,也不限于这些方面和/或实施例的任意组合和/或排列。本发明的每个方面和/或其实施例可以被单独采用或者与本发明的一个或多个其它方面和/或其实施例组合使用。为了简洁起见,这些组合和排列中的许多没有在本文分开讨论。

具体实施方式

在第一方面,本发明针对集成电路(例如,处理器、控制器、状态机、门阵列、PGA、FPGA和SOC)及其布局/体系架构,包括具有多个逻辑瓦片和布置在逻辑瓦片阵列的一个或多个逻辑瓦片之间并且与之并置(juxtaposed)的一个或多个存储器阵列或块的可编程或可配置逻辑电路系统。例如,在一个实施例中,存储器阵列或存储器块是位于连续逻辑瓦片之间和/或与处理器、控制器、状态机、门阵列、PGA、FPGA和SOC的可编程或可配置逻辑电路系统的一个或多个逻辑瓦片相邻地定位的静态或非易失性存储器(例如,SRAM)。值得注意的是,存储器可以是SRAM、DRAM、闪存、EPROM、EEPROM和/或MRAM或现在已知的或者以后开发的其它存储器,所有这些存储器都旨在落入本发明的范围内。而且,可编程/可配置逻辑电路系统及其布局可以包括布置在相邻逻辑瓦片之间的一种类型的存储器(例如,SRAM、闪存或MRAM)或多个不同类型的存储器(例如,SRAM、闪存和MRAM);不同类型的存储器的所有组合和/或排列都旨在落入本发明的范围内。

参考图2A,在根据本发明的集成电路(及其布局)的一个实施例中,存储器阵列或存储器块位于可编程/可配置逻辑电路系统的周边内并且在连续逻辑瓦片之间和/或与逻辑瓦片相邻。存储器阵列或块(例如,单端口或双端口存储器)可以被适当地组织、设计或配置,以连接到与其并置的逻辑瓦片中的任一个或两者。事实上,图示的存储器阵列或存储器块可以由多个阵列或块组成,并且在一个实施例中,存储器阵列或存储器块的一部分连接到相邻的逻辑瓦片中的一个并且另一部分连接到另一个相邻的逻辑瓦片。如上所注意到的,存储器阵列或存储器块可以是SRAM、DRAM、闪存、EPROM、EEPROM和/或MRAM或现在已知的或者以后开发的任何其它存储器。此外,可以在整个可编程/可配置逻辑电路系统中采用相同类型的存储器(例如,SRAM)或者可以采用不同类型的存储器(例如,SRAM、DRAM、闪存和/或MRAM)。如以上提到的,不同类型的存储器的所有组合和/或排列都旨在落入本发明的范围内。

存储器可以被布置在不形成可编程/可配置逻辑电路系统的边界或周边的一部分的逻辑瓦片的边界、边缘或侧边中的一个、一些或全部上。例如,继续参考图2A,上面最左侧的逻辑瓦片在不形成可编程/可配置逻辑电路系统的周边的一部分的两边上与存储器阵列或存储器块并置或相邻。但是,参考图2C和图2B,上面最左侧的逻辑瓦片仅在一条侧边或边缘上与存储器阵列块并置。因此,在这个实施例中,逻辑瓦片的一个或多个其它侧边与相邻的逻辑瓦片并置(并且在期望紧凑布局的那些情况下是紧邻(abut)的)。值得注意的是,继续参考图2C和图2B,存储器阵列或存储器块可以和与其并置的两个逻辑瓦片均互连和相关联,或者仅仅和上面最左侧的逻辑瓦片互连和相关联(在这种情况下,另一个逻辑瓦片将被连接到一个或多个存储器阵列或存储器块并且与其可操作地相关联,其中该存储器阵列或存储器块与不是可编程/可配置逻辑电路系统的周边或边界的一部分的逻辑瓦片的侧边并置或相邻)。再次,存储器阵列或块可以由被适当地组织、设计或配置的一个或多个阵列或块组成(例如,单端口或双端口存储器)以连接到一个或多个相关联的逻辑瓦片。

在另一方面,本发明针对具有可编程/可配置逻辑电路系统的集成电路及其布局,可编程/可配置逻辑电路系统具有经由逻辑瓦片上的I/O“引脚”连接到这样的逻辑瓦片的一个或多个存储器阵列或存储器块。简而言之,可编程/可配置逻辑电路系统的逻辑瓦片包括位于和沿着瓦片的周边(例如,整个周边)散布的I/O“引脚”(例如,在逻辑瓦片具有正方形或矩形形状的那些情况下,I/O引脚位于并散布在所有四条边上)。位于形成可编程/可配置逻辑电路系统的周边的一部分的逻辑瓦片的周边上的那些I/O引脚通常被用来与可编程/可配置逻辑电路系统外部的电路系统进行互连。布置在不形成可编程/可配置逻辑电路系统的周边的一部分的那些侧边或边界上的I/O引脚通常被禁用。(例如参见图4)。即,布置在或位于可编程/可配置逻辑电路系统的周边的内部的逻辑瓦片的周边上的I/O引脚通常被禁用,并且不用于连接到在可编程/可配置逻辑电路系统外部的电路系统。本发明的范围内的瓦片与瓦片的通信通常使用互连网络来执行(例如,用户可编程/可定义的–例如参见于2016年2月11日提交的美国专利申请号15/041,085,该申请要求于2015年2月22日提交的美国临时申请号62/119,215的优先权,标题为“Mixed-Radix and/or Mixed-Mode Switch Matrix Architecture and Integrated Circuit,and Method of Operating Same”;这两者都通过引用被结合进本文中;还参见美国专利申请号14/777,477),并且通常不采用本文图示的I/O“引脚”。为了清楚起见,本文没有详细图示和/或讨论瓦片与瓦片的互连和通信。

因此,在本发明的这个方面,逻辑瓦片经由位于可编程/可配置逻辑电路系统的周边的内部的逻辑瓦片的一条或多条周边、边界或侧边上的I/O“引脚”连接到(与其并置的)一个或多个存储器阵列或块。在本发明的一个实施例中,在不位于可编程/可配置逻辑电路系统的周边上的逻辑瓦片的周边上的I/O引脚可用于并且可以被采用来互连到与逻辑瓦片的那个周边并置的一个或多个存储器阵列或块。存储器可以被一个或多个相关联的逻辑瓦片(例如,与存储器相邻地定位和/或与存储器通信的(一个或多个)逻辑瓦片)中的电路系统采用,以用作通用存储器,诸如但不限于,暂存存储器、先进先出(FIFO)存储器和/或数据/指令RAM。

参考图3A、图5A和图5B,在一个示例性实施例中,存储器(BRAM)经由I/O“引脚”连接到并置的逻辑瓦片。在这一点,存储器的数据、地址和控制信号可以被应用到逻辑瓦片的未使用I/O引脚/从逻辑瓦片的未使用I/O引脚应用。(将图4的逻辑瓦片00、逻辑瓦片10和逻辑瓦片01与图5A和图5B的逻辑瓦片00、逻辑瓦片10和逻辑瓦片01进行比较)。在这个实施例中,位于存储器的周边并与存储器并置和进行接口的那些I/O引脚是存储器I/O。如上所述,I/O电路系统与这样的I/O引脚相关联。

值得注意的是,存储器可以由被适当地组织、设计或配置为连接到一个或多个相关联的逻辑瓦片的一个或多个阵列或块组成。例如,在一个实施例中,存储器可以是允许与存储器并置的两个逻辑瓦片对存储器中的数据进行接口和访问的两端口或双端口类型存储器(例如,两端口或双端口SRAM)。参考图5A、图6A和图6B,逻辑瓦片00和逻辑瓦片10连接到与存储器的相对的边并置的存储器。实际上,在一个示例性实施例中,两端口或双端口SRAM可以是1K×36b 2端口RAM(1R1W)或2K×18b真双端口RAM。

参考图5A和图7,在另一个示例性实施例中,存储器是单端口存储器(例如,单端口SRAM)。在一个特定的实施例中,单端口存储器可以是四个2K×18b的实例,总计达144Kb的SRAM。

参考图5A、图8A和图8B,在还有的另一个示例性实施例中,存储器是单端口乒乓缓冲器体系架构中的单端口存储器(例如,单端口SRAM)。例如,单端口乒乓缓冲器体系架构可以包括四个1K×36b 2端口RAM(1R1W)或2K×18b单端口RAM的实例,或者两个2K×36b的乒乓缓冲器。

参考图5B、图9A、图9B和图9C,在另一个示例性实施例中,存储器是双端口存储器(例如,双端口SRAM)。双端口存储器可以由促进与逻辑瓦片的短边或边缘进行接口的八个2K×18b的实例组成。

如上所述,存储器阵列或块可以是SRAM、DRAM、闪存、EPROM、EEPROM和/或MRAM或现在已知的或者以后开发的任何其它存储器。因此,虽然许多说明性实施例绘出了SRAM,但是也可以采用这样的其它存储器类型。

参考图10和图11,在一个实施例中,可编程/可配置逻辑电路系统包括布置在不形成可编程/可配置逻辑电路的周边的一部分的逻辑瓦片的所有侧边或边缘上的存储器。如上所述,本发明包括逻辑瓦片-存储器布局,其中存储器没有布置在逻辑瓦片的不形成可编程/可配置逻辑电路系统的周边的一部分的所有侧边或边缘上。(参见例如图3B-3H)。在这些实施例中,沿着逻辑瓦片的一个或多个(但不是全部)周边的外部I/O被采用来与存储器进行接口,并且逻辑瓦片的一个或多个周边的未使用的外部I/O没有被采用来与存储器进行接口。这里,存储器阵列或存储器块可以被适当地组织、设计或配置(例如,单端口或双端口存储器)以适应特定的逻辑瓦片-存储器布局。值得注意的是,逻辑瓦片-存储器布局的所有组合和排列都旨在落入本发明的范围内。

本文描述和图示了许多发明。虽然已经描述和图示了本发明的某些实施例、特征、属性和优点,但是应该理解的是,根据描述和图示本。发明的许多其它的、以及不同的和/或类似的实施例、特征、属性和优点是清楚的。因此,本文描述和图示的本发明的实施例、特征、属性和优点不是穷尽的,并且应该理解的是,本发明这样的其它的、类似的、以及不同的实施例、特征、属性和优点在本发明的范围内。

实际上,本发明既不限于其任何单个方面或实施例,也不限于这些方面和/或实施例的任何组合和/或排列。而且,本发明的每个方面和/或其实施例可以被单独采用或者与本发明的其它方面和/或其实施例中的一个或多个组合使用。

例如,本发明可以采用任何类型或配置的存储器。此外,可编程/可配置逻辑电路系统可以在整个可编程/可配置逻辑电路系统中包括相同类型的存储器(例如,SRAM),或者可以采用不同类型的存储器(例如,SRAM、DRAM、闪存和/或MRAM)。值得注意的是,不同类型的存储器的所有组合和/或排列都旨在落入本发明的范围内。

值得注意的是,存储器可以分散在可编程/可配置逻辑电路系统的周边之内(并且与和其相关联的逻辑瓦片相邻)(参见例如图2A-图2C和图3A-图3H)或者位于特定位置,例如,相对于可编程/可配置逻辑电路系统的所有逻辑瓦片的中央(参见例如图12A和图12B)或可编程/可配置逻辑电路系统的逻辑瓦片的子集的中央(参见例如图12C)。

虽然在许多实施例中,存储器与和其相邻的逻辑瓦片进行接口/通信。但是,在其它实施例中,存储器与不与其相邻的一个或多个瓦片通信。例如,参考图13,逻辑瓦片1和逻辑瓦片5分别采用存储器1和存储器2,以作为例如暂存存储器、先进先出(FIFO)存储器和/或数据/指令RAM操作。逻辑瓦片1和逻辑瓦片5可以分别经由提供瓦片与瓦片通信的、具有逻辑瓦片2和逻辑瓦片6的互连网络,分别与存储器1和存储器2进行互连。类似地,参考图14,逻辑瓦片3和逻辑瓦片7可以经由具有逻辑瓦片2和逻辑瓦片6的互连网络分别与存储器3和存储器4互连。

应该注意,在一个实施例中,可以采用不相邻的逻辑瓦片的未使用的外部I/O作为存储器I/O,以促进或提供与相关联的存储器的直接通信。例如,在存储器体系架构采用了比可用于相邻逻辑瓦片更多的I/O的情况下,电连接非相邻逻辑瓦片的I/O可能是有利的。因此,参考图13和图14,在一个实施例中,逻辑瓦片1的未使用的外部I/O可以被采用作为存储器1的数据、地址和/或控制(其中这样的未使用的外部I/O是逻辑瓦片1的存储器I/O;如本文所注意到的,I/O通常包括I/O引脚和相关联的I/O电路系统或块)。

此外,在一个实施例中,经由金属层1至金属层4将存储器接口或连接(例如,地址、数据和控制)路由到(一个或多个)相关联的逻辑瓦片的存储器I/O可能是有利的。这样的路由体系架构通过实现使瓦片与瓦片的互连网络连接(参见例如于2016年2月11日提交的美国专利申请号15/041,085,该申请要求美国临时申请号62/119,215的优先权)路由到在金属层5和金属层6上行进,有利于将存储器(BRAM)布置在连续的逻辑瓦片之间,并且使之与可编程/可配置逻辑电路系统的逻辑瓦片阵列的一个或多个相关联的逻辑瓦片并置或相邻。

虽然已经在将存储器布置在或使其位于可编程/可配置逻辑电路系统的内部中的逻辑瓦片阵列的连续逻辑瓦片之间的上下文中描述了本发明和/或本发明的实施例,但是这样的讨论、发明和/或实施例也适用于将逻辑布置在或使其位于可编程/可配置逻辑电路系统内部中的逻辑瓦片阵列的连续逻辑瓦片之间。(参见图15A-E)。这里,逻辑可以是与逻辑瓦片阵列的一个或多个逻辑瓦片(优选地,与逻辑相邻的一个或多个逻辑瓦片)可操作地相关联的任何非存储器电路系统,包括例如加速器、乘法器(例如,一个或多个浮点乘法器和/或定点乘法器)、加密电路系统(例如,一个或多个加密/解密引擎)、信号处理器和/或定制逻辑。为了简洁起见,不提供针对具有布置在或与可编程/可配置逻辑电路系统的逻辑瓦片的内部侧边、边缘或边界相邻地定位的逻辑的每个可编程/可配置逻辑电路系统逻辑的单独讨论;但是,基于本公开内容(例如,对于布置在/位于集成电路的可编程/可配置逻辑电路系统的逻辑瓦片阵列的连续逻辑瓦片之间的逻辑,其中这样的逻辑被电耦合至阵列的逻辑瓦片中的一个或多个逻辑瓦片并且可操作地与其关联),对于本领域普通技术人员而言,适用性是清楚的。因此,本文描述和图示的、在存储器被布置在阵列的连续逻辑瓦片之间的上下文中阐述的所有发明完全适用于具有布置在集成电路可编程/可配置逻辑电路系统的逻辑瓦片阵列的连续逻辑瓦片之间和/或与集成电路可编程/可配置逻辑电路系统的逻辑瓦片阵列的一个或多个逻辑瓦片相邻的逻辑的集成电路。而且,逻辑和存储器两者都可以布置在阵列的连续的逻辑瓦片之间和/或与阵列的一个或多个逻辑瓦片相邻。(参见图15D和图15E)。布置在可编程/可配置逻辑电路系统内部的阵列的连续逻辑瓦片之间和/或位于与可编程/可配置逻辑电路系统内部的阵列的逻辑瓦片相邻处的逻辑和存储器的所有组合和/或排列都旨在落入本发明的范围内。

而且,虽然已经结合特定存储器类型(例如,SRAM)描述和/或图示了本发明的发明和/或实施例,但是这样的发明和/或其实施例可应用于任何存储器类型(例如,TCAM、DRAM、闪存和/或MRAM)。为了简洁起见,不提供针对每种存储器类型的单独讨论;但是,基于本公开内容,对于本领域普通技术人员而言,适用性是清楚的。

值得注意的是,“电路系统”除其它的意义外尤其意味着电路(无论是集成的还是其它的)、一组这样的电路、一个或多个处理器、一个或多个状态机、一个或多个实现软件的处理器、一个或多个门阵列、可编程门阵列和/或现场可编程门阵列,或者一个或多个电路(无论是集成的还是其它的)、一个或多个状态机、一个或多个处理器、一个或多个实现软件的处理器、一个或多个门阵列、可编程门阵列和/或现场可编程门阵列的组合。除其它的之外,术语“数据”尤其意味着可以是单个比特(或类似的)或多个比特(或类似的)的一个或多个电流或电压信号(复数或单数)(无论是模拟的形式还是数字的形式的)。

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

实际上,当经由一个或多个计算机可读介质在计算机系统内被接收时,上述电路的这样的基于数据和/或指令的表达可以由计算机系统内的处理实体(例如,一个或多个处理器)结合一个或多个其它计算机程序(包括但不限于网络列表生成程序、地点和路由程序等)的执行而被处理,以生成这样的电路的物理表现(manifestation)的表示或图像。这样的表示或图像之后可以被用于设备制造中,例如,通过在设备制造过程中使得生成用于形成电路的各种部件的一个或多个掩模。

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

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

另外,如上所述,本文中被描述为“示例性”的实施例或实现不应当被解释为优选的或有利的,例如,优于其它实施例或实现;而是旨在传达或指示这一个或多个实施例是一个或多个示例实施例。

最后,虽然已经在某些具体方面描述了本发明,但是许多附加的修改和变化对于本领域技术人员而言将是清楚的。因此,应当理解,在不背离本发明的范围和精神的情况下,本发明可以以不同于具体描述的方式来实践。因此,本发明的实施例应当在所有方面都被认为是说明性而不是限制性的。

如在权利要求中所使用的,术语“包括”、“包含”、“具有”或其任何其它变体旨在覆盖非排他性的包含,使得包括元素列表的过程、方法、电路、制品或装置不仅包括那些元素,而且可以包括这样的过程、方法或设备未明确列出的或固有的其它元素。

在权利要求和其它地方,术语“第一”、“第二”等在本文不表示任何次序、数量或重要性,而是用来区分一个元素与另一个元素。

而且,本文的术语“一”和“一个”不表示数量的限制,而是表示至少一个所引用的项的存在。术语“数据”除其它意义外尤其可以意味着无论是模拟形式还是数字形式的一个或多个电流或电压信号(可以是单个比特(或类似的)或多个比特(或类似的))。另外,术语“逻辑瓦片”意味着多个晶体管(通常超过数千)的设计单元或块,在本申请中,该设计单元或块能够连接到多个相邻的“瓦片”、“核心”或“块”。术语“多路复用器”意味着多路复用器和/或开关。而且,如上面所指出的,术语(i)“集成电路”除其它意义外,尤其意味着处理器、控制器、状态机、门阵列、SOC、PGA和/或FPGA。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1