CN112711379A - 提供pld中字寻址非易失性存储器的方法和系统 - Google Patents
提供pld中字寻址非易失性存储器的方法和系统 Download PDFInfo
- Publication number
- CN112711379A CN112711379A CN202011529246.XA CN202011529246A CN112711379A CN 112711379 A CN112711379 A CN 112711379A CN 202011529246 A CN202011529246 A CN 202011529246A CN 112711379 A CN112711379 A CN 112711379A
- Authority
- CN
- China
- Prior art keywords
- volatile memory
- memory
- word
- programmable
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
-
- 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/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1653—Address circuits or decoders
- G11C11/1657—Word-line or row circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1675—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
- G11C11/225—Auxiliary circuits
- G11C11/2253—Address circuits or decoders
- G11C11/2257—Word-line or row circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
- G11C11/225—Auxiliary circuits
- G11C11/2275—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0023—Address circuits or decoders
- G11C13/0028—Word-line or row circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Crystallography & Structural Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本公开涉及提供可编程逻辑器件中字寻址非易失性存储器的方法和系统。一种能选择性地编程以执行一个或更多个逻辑功能的可编程集成电路器件包括多个可配置逻辑块、路由结构和非易失性存储器,其中,可配置逻辑块能选择性地编程以执行一个或更多个逻辑功能;路由结构耦接到多个所述可配置逻辑块,被配置为基于路由配置信号在可配置逻辑块和输入/输出端口之间选择性地路由信息;非易失性存储器,耦接至多个所述可配置逻辑块,被配置为包含配置非易失性存储器和用户非易失性存储器,其中用户非易失性存储器是能够随机存取的字寻址存储器。
Description
技术领域
本公开的示例性实施例涉及计算机硬件和软件的可编程半导体器件领域。更具体地,本公开的示例性实施例涉及提供PLD中字寻址非易失性存储器的方法和系统。
背景技术
随着数字通信、人工智能(Artificial Intelligence,AI)、物联网(Internet ofThings,IoT)和/或机器人控制的日益普及,对具有处理能力的速度更快、灵活高效的硬件和半导体的需求不断增加。要满足这种需求,一般来说,高速、灵活的半导体芯片是更合乎需求的。满足这种需求的现有方式是使用专用定制集成电路和/或特殊应用集成电路(Application-Specific Integrated Circuits,ASICs)。特殊应用集成电路方法的一个缺点在于缺乏灵活性,同时消耗大量资源。
另一种日益流行的常规方法是利用可编程半导体器件(ProgrammableSemiconductor Devices,PSDs),例如可编程逻辑器件(Programmable Logic Devices,PLDs)或现场可编程门阵列(Field-Programmable Gate Arrays,FPGAs)。可编程半导体器件的一个特点是:允许最终用户在可编程半导体器件制造完成后,对一个或更多个期望功能进行编程,以适合用户的应用。
然而,传统的现场可编程门阵列或可编程逻辑器件的缺点是,这种现场可编程门阵列或可编程逻辑器件通常在断电后易丢失信息。
发明内容
一方面,本公开的一个实施例公开了一种可配置半导体器件,能选择性地编程以执行一个或更多个逻辑功能,包含多个可配置逻辑块(Logic Blocks,LBs)、路由结构以及非易失性存储器(Nonvolatile Memory,NVM),其中:
可配置逻辑块能选择性地编程以执行一个或更多个逻辑功能;
路由结构,耦接到多个所述可配置逻辑块,基于路由配置信号在可配置逻辑块和输入/输出端口之间选择性地路由信息;
非易失性存储器,其耦接至多个所述可配置逻辑块,并配置为包括配置非易失性存储器和用户非易失性存储器,其中,所述用户非易失性存储器是能随机存取的字寻址存储器。所述非易失性存储器例如为磁性随机存取存储器(Magnetoresistive RandomAccess Memory,MRAM)、相变存储器或铁电随机存取存储器(Ferroelectric RandomAccess Memory,FeRAM),可灵活组织成包含配置非易失性存储器和用户非易失性存储器,即所述配置非易失性存储器和用户非易失性存储器的位置和大小均可配置,。
另一方面,本公开的一个实施例公开了一种能够提供数字处理功能和网络通信功能的系统,所述系统包括前述的可编程集成电路器件。
再一方面,本公开的一个实施例公开了一种关于现场可编程门列阵的方法,所述现场可编程门列阵包含非易失性存储器,所述非易失性存储器为随机存取的字寻址非易失性存储器,该方法包括:
根据存储功能接收请求数据存储的数据流;
基于所述数据流的预定义位置从所述数据流中提取第一字地址;
根据所述第一字地址识别所述现场可编程门阵列的所述字寻址非易失性存储器内的第一存储位置;以及
将来自所述数据流的第一字存储在所述字寻址非易失性存储器的第一存储位置中。
再一方面,本公开的一个实施例公开了一种可编程集成电路芯片,所述可编程集成电路芯片能选择性地编程以执行一个或更多个逻辑功能,该芯片包括:
多个可配置逻辑块,其能选择性地编程以执行一个或更多个逻辑功能;
路由结构,其耦接到多个所述可配置逻辑块,并被配置为根据路由配置信号在多个所述可配置逻辑块和输入/输出端口之间选择性地路由信息;以及
能持久保留信息的磁性随机存取存储器,其与多个所述可配置逻辑块耦接,并被配置为配置存储器、用户存储器和安全存储器,其中,所述用户存储器是能随机存取的字寻址存储器。
再一方面,本公开的一个实施例公开了一种现场可编程门阵列,包含非易失性存储器查找表,该现场可编程门阵列包括:
多个可配置逻辑块,其包含多个磁性随机存取存储器的查找表,并能选择性地编程以执行一个或更多个逻辑功能;以及
路由结构,其耦接到多个所述可配置逻辑块,并被配置为根据路由配置信号在多个所述可配置逻辑块和输入/输出端口之间选择性地路由信息,
其中,所述磁性随机存取存储器能持久保留信息,使得当电源关闭时,在多个所述磁性随机存取存储器的查找表中的配置信息会保存下来。
通过以下详细描述、附图和权利要求,本公开示例性实施例的其他特征和优点将显而易见。
附图说明
通过以下详细描述和本公开的各种实施例的附图,将更充分理解本公开的示例性实施例,然而,不应将这些附图限定到具体的实施例,这些附图仅用于解释和理解本公开实施例。
图1A-1B是根据本公开的一个实施例示出的可编程半导体器件(PSD)框图,该可编程半导体器件包含字寻址非易失性存储器(Word Addressable Nonvolatile Memory,WAN),作为随机存取存储器。
图2是根据本公开的一个实施例示出的路由逻辑或路由结构框图,该路由逻辑或路由结构包括含随机存取路由的可编程互连阵列。
图3是根据本公开的一个实施例示出的磁性随机存取存储器(MRAM)框图,该磁性随机存取存储器作为可编程半导体器件中的非易失性存储器,该存储器用于配置各种逻辑阵列块(Logic Array Blocks,LABs)。
图4是根据本公开的一个实施例示出的逻辑阵列块402的框图,该逻辑阵列块包含基于磁性随机存取存储器的查找表(Lookup Tables,LUTs)。
图5是根据本公开的一个实施例示出的可编程半导体器件框图,该可编程半导体器件包含多个区域,能在内部将大量数据存储在其字寻址非易失性存储器中。
图6是根据本公开的一个实施例示出字寻址非易失性存储器操作实现过程的逻辑图。
图7是根据本公开的一个实施例示出的系统或计算机图,该系统或计算机使用一个或更多个包含字寻址非易失性存储器的可编程半导体器件,该字寻址非易失性存储器作为随机存取存储器。
图8是根据本公开的一个实施例示出的、可在云环境中使用的可编程半导体器件的各种应用的框图,该可编程半导体器件含有现场可编程门阵列和字寻址非易失性存储器。
图9是根据本公开的一个实施例示出的字寻址非易失性存储器操作实施的过程流程图。
具体实施方式
本公开实施例公开的方法和/或装置(包括但不限于可编程半导体器件(PSD)),可实现通过字寻址非易失性存储器(WAN)持久地保留信息。
以下详细描述的目的是提供对本公开的一个或更多个实施例的理解。本领域的普通技术人员会意识到,以下详细描述仅是说明性的,并不意在以任何方式加以限制。受益于本公开和/或本描述的技术人员很容易联想到其它实施例。
为清楚起见,本文所述实施方式的常规特征并没有全部展示和描述。当然,可以理解,在任何这种实际实施方式的开发过程中,为了实现开发者的特定目标,例如遵守应用相关和商业相关的限制,可能会做出许多特定于实施方式的决定,而且这些特定目标会因不同的实施方式和不同的开发者而有所不同。此外,可以理解,这些开发工作虽然可能复杂耗时,但对于那些受益于本公开的实施例的本领域普通技术人员而言,这些开发工作只是一项常规的工程工作。
附图中所示的本公开的各种实施例并非按比例绘制。相反,为清楚起见,可以扩大或缩小各种特征的尺寸。此外,为清楚起见,一些图可能会被简化。因此,附图中可能没有描绘出给定装置(例如:设备)或方法的所有组件。在整个附图和下面的详细描述中将使用相同的参考标志来指代相同或类似的部件。
根据本公开的实施例,此处描述的组件、过程步骤和/或数据结构可以使用各种类型的操作系统、计算平台、计算机程序和/或通用机器来实现。此外,本领域的普通技术人员会认识到,在不偏离本文所公开的概念的范围和精神的情况下,也可以使用不那么通用的设备,例如硬件设备、现场可编程门列阵(FPGA)、特殊应用集成电路(ASIC)等。如果包含一系列过程步骤的方法是由计算机或机器实现的,并且这些过程步骤可以存储为机器可读的一系列指令,则可以存储在诸如计算机存储设备等的有形介质上,例如但不限于:磁性随机存取存储器(MRAM)、相变存储器或铁电随机存取存储器(FeRAM)、闪存(flash memory)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、跳跃驱动器(Jump Drive)、磁性存储介质(例如:磁带、磁盘驱动器等)、光存储介质(例如:只读光盘存储器(CD-ROM)、数字只读光盘存储器(DVD-ROM)、纸卡和纸带等)以及其他已知类型的程序存储器。
术语“系统”或“设备”在此一般用于描述任何数量的组件、元件、子系统、设备、分组开关元件、分组开关、接入开关、路由器、网络、计算机和/或通信设备或机制,或其组成部分的组合。术语“计算机”包括能执行指令的处理器、存储器和总线,其中计算机是指一台计算机或一个计算机集群、个人计算机、工作站、主机或其计算机的组合。
本文中所述“一个或更多个”和“一个或多个”含义相同,均包括以下任意情况之一:一个、两个、两个以上。本文中所述“输入/输出”(I/O)包括输入和/或输出。
由于传统的现场可编程门阵列或可编程逻辑器件通常在断电后易丢失信息,故而也无法为用户提供专用的存储器。
有鉴于此,申请人提供一种可编程集成电路器件,该可编程集成电路器件能选择性地编程以执行一个或更多个逻辑功能,该器件包括:
多个可配置逻辑块,其能选择性地编程以执行一个或更多个逻辑功能;
路由结构,其耦接到多个所述可配置逻辑块,并被配置为根据路由配置信号在多个所述可配置逻辑块和输入/输出端口之间选择性地路由信息;以及
非易失性存储器,其耦接至多个所述可配置逻辑块,并配置为包括配置非易失性存储器和用户非易失性存储器,其中,所述用户非易失性存储器是能随机存取的字寻址存储器。
本公开实施例通过为用户分配非易失性存储器,使得用户存储的内容掉电后不会丢失,由于该用户非易失性存储器是能随机存取的存储器,使得读写速度更快。通过字寻址的方式,可以提高寻址速度。
在一示例性实施例中,所述字的位数范围为8-128位,例如每个字64位。
在一示例性实施例中,所述非易失性存储器配置为包括配置非易失性存储器和用户非易失性存储器是指灵活组织成配置非易失性存储器和用户非易失性存储器,即所述配置非易失性存储器和用户非易失性存储器的位置和大小均可配置。
可选地,配置非易失性存储器和用户非易失性存储器的位置可以灵活配置,例如将配置非易失性存储器设置在用户非易失性存储器之前,或者可以将配置非易失性存储器设置在用户非易失性存储器之后。此外,配置非易失性存储器和用户非易失性存储器的大小也可以根据需要灵活配置,例如,用户非易失性存储器的大小可以根据所述配置非易失性存储器的分配而分配的,或者根据用户配置逻辑分配。
本公开实施例还提供一种可编程集成电路芯片,所述可编程集成电路芯片能选择性地编程以执行一个或更多个逻辑功能,该芯片包括:
多个可配置逻辑块,其能选择性地编程以执行一个或更多个逻辑功能;
路由结构,其耦接到多个所述可配置逻辑块,并被配置为根据路由配置信号在多个所述可配置逻辑块和输入/输出端口之间选择性地路由信息;以及
能持久保留信息的磁性随机存取存储器,其与多个所述可配置逻辑块耦接,并被配置为配置存储器、用户存储器和安全存储器,其中,所述用户存储器是能随机存取的字寻址存储器。
本实施例所述磁性随机存取存储器被配置为配置存储器、用户存储器和安全存储器是指所述磁性随机存取存储器被配置为灵活组织成配置存储器、用户存储器和安全存储器,即所述配置存储器、用户存储器和安全存储器的位置和大小可配置。
在一示例性实施例中,所述字寻址存储器包括多个字,其中每个字的范围为8位至128位,例如每个字64位。
本公开的一个实施例公开了包含可配置逻辑块、路由结构和非易失性存储器的可编程半导体器件,其中非易失性存储器为字寻址非易失性存储器(WAN)。该可编程半导体器件可以是芯片、集成电路芯片、半导体管芯或模块。可配置逻辑块能选择性地编程以执行一个或更多个逻辑功能,路由结构基于路由配置信号可在可配置逻辑块和输入/输出端口之间选择性地路由信息。在一个实施例中,非易失性存储器是磁性随机存取存储器、相变存储器、闪存或铁电随机存取存储器(FeRAM),可持久保留数据。一方面,用于存储用户数据的非易失性存储器的容量或大小可根据用户的比特流灵活组织。或者,可配置逻辑块中的查找表(LUT)使用非易失性存储器,即使电源关闭后,配置的查找表也可持久保留。在一个实施例中,用户的非易失性存储器是能随机存取的字寻址存储器。
图1A是根据本公开的一个实施例示出的简化的可编程半导体器件的框图170,该可编程半导体器件包含为用户存储器配置的字寻址非易失性存储器。可编程半导体器件又称现场可编程门阵列或可编程逻辑器件(PLD),包括被指定为可配置存储器(即配置非易失性存储器)的字寻址非易失性存储器或字寻址非易失性存储器存储装置,用于方便配置逻辑块。一方面,可编程半导体器件还包括分配用于随机存取的第二部分字寻址非易失性存储器,作为用户存储器。向框图170添加或从框图170移除一个或更多个块(电路或元件),本公开示例性实施例的基本概念也不会改变。
可编程半导体器件包括由输入/输出块(Input/Output Blocks,IOs)182环绕的可配置逻辑块180的阵列,和可编程互连资源(Programmable Interconnect Resources,PIR)188,该可编程互连资源包括在逻辑块180和输入/输出块182的行和列之间延伸的垂直互连和水平互连。可编程互连资源188还可包括互连阵列解码器(Interconnecting ArrayDecoders,IAD)或可编程互连阵列(Programmable Interconnection Array,PIA)。术语“可编程互连资源”、“互连阵列解码器”和“可编程互连阵列”在下文中可互换使用。
每个可配置逻辑块包括可编程组合电路和可选择输出寄存器,该可选择输出寄存器被编程为实现至少一部分的用户逻辑功能。互连资源的可编程互连、连接或通道可使用各种开关配置,以在逻辑块180之间产生用于执行逻辑功能的信号路径。每个输入/输出块182都是可编程的,以选择性地使用可编程半导体器件的输入/输出引脚(未示出)。
在一个实施例中,可编程半导体器件可以划分为多个可编程分区区域(Programmable Partitioned Region,PPR)172,其中每个可编程分区区域172包括一部分逻辑块180、一些可编程互连资源188以及输入/输出块182。将可编程半导体器件组织成多个可编程分区区域172的优点是以下一个或多个:优化存储容量、方便电源管理以及便于网络传输的管理。
图1B是根据本公开的一个实施例示出的一部分可编程半导体器件的框图100,该可编程半导体器件包含多个可编程分区区域和字寻址非易失性存储器。框图100包括多个可编程分区区域102-108,可编程互连阵列150和区域输入/输出端口166。每个可编程分区区域(如图中102-108)包括控制单元(如图中110、120、130、140),存储器112以及逻辑块(如图中116、126、136、146)。控制单元(如图中110、120、130、140)可配置成单个控制单元,同样,存储器112也可配置成单个存储器以存储配置。向框图100添加或从框图100移除一个或更多个块(电路或元件),本公开示例性实施例的基本概念也不会改变。
每个逻辑块(如图中116、126、136、146)可包括多个逻辑阵列块(如图中118、128、138、148),其中每个逻辑阵列块能被进一步组织成包含一组可编程逻辑元件(LogicalElements,LEs)或宏单元(图1B未示出)或其他电路。在一个示例中,每个逻辑阵列块可以包括32-512中的任意个可编程逻辑元件。输入/输出引脚(图1B未示出)、逻辑阵列块和可编程逻辑元件通过可编程互连阵列150和/或其它总线连接,总线例如包括第一总线162和第二总线(114、124、134、144),以实现可编程互连阵列150和分区功率区域102-108之间的通信。其中,第一总线162为逻辑块(102、104、106、108)与可编程互连阵列150之间的总线,第二总线(114、124、134、144)为存储器和/或控制单元与可编程互连阵列150之间的总线。
每个逻辑元件包括以下任意一种或多种:可编程电路(如乘积项矩阵(product-term matrix))、查找表、寄存器等。逻辑元件也称为单元、可配置逻辑块(ConfigurableLogic Block,CLB)、切片、可配置功能单元(Configurable Function Unit,CFU)等。每个逻辑元件可独立配置以执行顺序和/或组合逻辑操作。向可编程半导体器件添加或从可编程半导体器件移除一个或更多个块和/或电路,可编程半导体器件的基本概念也不会改变。
控制单元(如图中110、120、130、140)也称配置逻辑,可以是单个控制单元。例如,控制单元110基于存储在存储器112中的配置信息来管理和/或配置逻辑阵列块118中的单个逻辑元件。一些输入/输出端口或输入/输出引脚是可配置的,因此其可被配置为输入引脚和/或输出引脚。一些输入/输出引脚被编程为双向引脚(包括输入和输出),而其它输入/输出引脚被编程为单向引脚(包括输入或输出)。诸如单元110的控制单元被用于根据系统时钟信号处理和/或管理可编程半导体器件操作。
逻辑块(如图中116、126、136、146)包括可由最终用户编程的多个逻辑阵列块。每个逻辑阵列块包含多个逻辑元件,其中每个逻辑元件还包括一个或更多个查找表(LUT)以及一个或更多个寄存器(或D型触发器)。根据应用,逻辑元件可被配置为基于由配置软件实现的预定义功能库执行用户特定功能。在某些应用中,可编程半导体器件还包括用于执行特定功能的一组固定电路。例如,固定电路包括但不限于以下一个或更多个:处理器、数字信号处理(Digital Signal Processing,DSP)单元、无线收发器等。
可编程互连阵列150通过各种内部总线(如总线114、124、134、144、162)与逻辑块(如116、126、136、146)连接。在一些实施例中,总线114、124、134、144、162是可编程互连阵列150的一部分。每条总线包括用于传输信号的通道或导线。术语“通道”、“路由通道”、“导线”、“总线”、“连接”和“互连”均指相同或相似的连接,在本文可互换使用。可编程互连阵列150还可用于通过输入/输出引脚和逻辑阵列块直接或间接地从其它设备接收和/或向其它设备传输数据。
存储器112可包括位于可编程分区区域上的多个存储单元。或者,存储器112可在可编程半导体器件中组合成单个存储器单元。在一个实施例中,存储器112是非易失性存储器存储单元,既可用于配置,也可用于用户存储。非易失性存储器存储单元可以是但不限于磁性随机存取存储器、闪存、铁电随机存取存储器和/或相变存储器(或硫属化合物随机存取存储器)。为简化上述的讨论,在下面的讨论中,磁性随机存取存储器被用作示例性的非易失性存储器。根据应用,存储器112的一部分可被指定、分配或配置为块随机存取存储器(Block RAM,BRAM),该存储器用于在可编程半导体器件中存储大量数据。
字寻址非易失性存储器的功能是允许用户或应用通过存储器地址从磁性随机存取存储器中读取和/或向磁性随机存取存储器写入。如果字寻址非易失性存储器是多端口存储结构,则可以同时进行读操作和写操作。或者,字寻址非易失性存储器也可用于逻辑块配置,以用于对逻辑元件编程。
用字寻址非易失性存储器的优点是可以将数据或间歇性结果持久存储在可编程半导体器件(或可编程逻辑器件、现场可编程门阵列)中。
图2是根据本公开的一个实施例示出的路由逻辑或路由结构的框图200,该路由逻辑或路由结构包括含随机存取路由的可编程互连阵列。框图200包括控制逻辑206、可编程互连阵列202、输入/输出引脚230和时钟单元232。控制逻辑206类似于图1B所示的控制单元,提供各种控制功能,包括通道分配、差分输入/输出标准和时钟管理。控制逻辑206包含易失性存储器、非易失性存储器或易失性和非易失性存储器器件组合,用于存储信息(例如配置数据)。在一个实施例中,控制逻辑206可被整合到可编程互连阵列202中。向框图200添加或从框图200移除一个或更多个块(电路或元件),本公开示例性实施例的基本概念也不会改变。
输入/输出引脚230通过第三总线231连接到可编程互连阵列202,包含多个可编程输入/输出引脚,该输入/输出引脚被配置为接收和/或向外部设备传输信号。例如,每个可编程输入/输出引脚可被配置为输入引脚、输出引脚或双向引脚。根据应用,输入/输出引脚230可并入控制逻辑206中。
在一个示例中,时钟单元232通过第四总线233连接到可编程互连阵列202,接收来自其他组件(如时钟树电路或全局时钟振荡器)的各种时钟信号。在一个示例中,时钟单元232响应系统时钟和参考时钟,产生时钟信号,用于实现输入/输出通信。根据应用,例如,时钟单元232向可编程互连阵列202提供包括参考时钟(或多个参考始终)在内的时钟信号。
一方面,可编程互连阵列202可被组织成包括多个通道组(例如图2中的第一通道组210和第二通道组220)、第五总线204以及输入/输出总线(如图中154、164、174、184)的阵列方案。第一通道组210、第二通道组220用于基于可编程互连阵列配置实现在逻辑块之间路由信息。通道组也可通过内部总线或连接(诸如第五总线204)相互通信。在图2所示实施例中,第一通道组210还包括四个互连阵列解码器(IAD)212-218。第二通道组220包括四个互连阵列解码器222-228。互连阵列解码器的功能是为数据传输提供可配置的路由资源。在其他实施例中,所述通道组中互联阵列解码器数量可根据需要设定,本公开对此不做限制。
互连阵列解码器(如互连阵列解码器212)包括路由多路复用器或选择器,用于在以下一种或多种器件之间路由信号:输入/输出引脚、反馈输出和逻辑阵列块输入,以到达其目的地。例如,一个互连阵列解码器可以包括多达36个多路复用器,该多路复用器可置于四组中,其中每组包含九行多路复用器。每个通道组内的互连阵列解码器数量是逻辑阵列块内逻辑元件数量的函数。
在一个实施例中,在可编程互连阵列202中指定一个特殊互连阵列解码器(如互连阵列解码器218),以处理字寻址非易失性存储器路由。例如,互连阵列解码器218被指定用于处理字寻址非易失性存储器和逻辑阵列块之间的连接和/或路由,以便于使用存储器地址随机存取数据。可分配额外的互连阵列解码器用于处理字寻址非易失性存储器操作。
在可编程互连阵列中使用互连阵列解码器218作为指定字寻址非易失性存储器路由的优点是,可编程半导体器件或现场可编程门阵列可以持久存储大量信息。
图3是根据本公开的一个实施例示出的可编程半导体器件304的逻辑框图300,该可编程半导体器件包含用于配置各种逻辑阵列块320的磁性随机存取存储器308。在一个实施例中,可编程半导体器件304是包含可编程逻辑块306和磁性随机存取存储器块308的半导体管芯、芯片或集成电路(Integrated Circuit,IC)。或者,可编程半导体器件304也可以是包含一个或更多个芯片或管芯的半导体模块。在一个示例中,可编程逻辑块306包括通过可编程互连或可编程互连阵列326连接的各种逻辑阵列块320。向框图300添加或从框图300移除一个或更多个块(电路或元件),本公开示例性实施例的基本概念也不会改变。
可编程逻辑块306包括逻辑阵列块320的阵列,在一个示例中,该逻辑阵列块320是逻辑元件或类似于可配置逻辑块、可配置功能单元、切片、逻辑元件等的逻辑单元。在一个实施例中,逻辑阵列块320包括一个或更多个查找表和一个或更多个寄存器。例如,每个查找表包括一组易失性存储器,例如静态随机存取存储器(Static Random-Access Memory,SRAM)、随机存取存储器或动态随机存取存储器(Dynamic Random-Access Memory,DRAM),该易失性存储器用于逻辑配置或功能配置。一方面,如标号330所示,易失性存储器由来自磁性随机存取存储器块308的配置比特流编程。
磁性随机存取存储器块308利用电子自旋方向持久存储信息,包括配置非易失性存储器310、用户非易失性存储器312、安全非易失性存储器316和缓冲非易失性存储器318。配置非易失性存储器310是用于存储作为配置信息的可编程半导体器件引导数据,该配置信息用于在上电时配置可编程逻辑阵列。例如,可编程逻辑块306中的易失性存储器可以通过存储在磁性随机存取存储器块308的配置非易失性存储器310中的配置信息或比特流进行配置。
用户非易失性存储器312用于存储用户数据。用户非易失性存储器312的大小可以根据应用和/或用户偏好而变化。安全非易失性存储器316(或称安全存储器)是一组可配置的安全位,用于启用或禁用端口访问,如系统内编程读取访问。缓冲非易失性存储器318是一个选择性分配的网络传输缓冲区,用于通过无线通信网络进行数据传输。
在一个实施例中,可编程半导体器件304包含一个可编程集成电路器件,该可编程集成电路器件由用户选择性编程以执行一个或更多个逻辑功能。可编程集成电路器件包括多个可配置逻辑块、一个路由结构以及一个非易失性存储器。可配置逻辑块选择性地编程以执行一个或更多个逻辑功能,路由结构耦接到多个所述可配置逻辑块,被配置为基于路由配置信号在可配置逻辑块和输入/输出端口之间路由信息。在一个实施例中,非易失性存储器被配置为灵活组织,以包括配置非易失性存储器和用户非易失性存储器。在一个实施例中,用户非易失性存储器是能随机存取的字寻址存储器。磁性随机存取存储器能持久保留数字信息。字寻址存储器包括多个字,其中每个字包含32位或64位。或者,每个字的位数范围可以从8位到256位。在一个示例中,磁性随机存取存储器可以在由逻辑块操作的数学计算期间被用作寄存器。
在一个示例中,非易失性存储器可以是能持久保留数字信息的相变存储器。或者,非易失性存储器也可以是能持久保留数字信息的铁电随机存取存储器(FeRAM)。磁性随机存取存储器、铁电随机存取存储器或相变存储器的写入时间和读取时间与静态随机存取存储器基本相似和/或相当。此外,非易失性存储器也可以是能持久保留数字信息的闪存。用户非易失性存储器的大小可根据所需配置非易失性存储器而改变。配置非易失性存储器的大小是根据用户配置逻辑或比特流来分配的。
在可编程半导体器件中使用字寻址非易失性存储器的优点是,字寻址非易失性存储器提供随机存取,允许使用存储器地址访问存储空间。
图4是根据本公开的一个实施例示出的逻辑阵列块402的框图400,该逻辑阵列块包含基于磁性随机存取存储器的查找表。逻辑阵列块402包括多个查找表410-412、路由多路复用器430-432和寄存器420-422。每个查找表接收一组输入,并根据输入以及功能配置产生一个输出。例如,查找表410从终端A1、B1、......X1接收输入数据,并根据输入数据以及与查找表410相关联的配置值生成输出。向框图400添加或从框图400移除一个或更多个块(电路或元件),本公开示例性实施例的基本概念也不会改变。
集成电路组件图406是查找表412的分解视图,显示了多个存储位、存储单元或存储单位416和多路复用器418,以形成一个可配置的查找表。查找表412可以具有例如2、3、4、6、8、15或32个输入查找表。磁性随机存取存储器408示出了一比特磁性随机存取存储器单元的分解视图。磁性随机存取存储器408包括存储单元452、字线454,位线456并根据电子自旋方向,存储逻辑一或逻辑零。
在写入操作期间,例如,在选定存储单元452的自由层中的磁化可通过向选定字线454和位线456施加写入电流Ix和Iy来定向,该电流穿过存储单元452。对字线454施加电流Ix,字线454周围形成磁场Hy。对位线456施加电流Iy,位线456周围形成磁场Hx。当足够大的电流Ix和Iy通过字线454和位线456时,自由层附近的组合磁场使自由层的磁化从平行方向旋转到反平行方向,反之亦然。据此,在存储单元452中设置逻辑一或逻辑零。
根据应用,可编程半导体器件中很大一部分逻辑阵列块在配置后可能会闲置(或不使用)。由于每个逻辑阵列块包含一个磁性随机存取存储器位列,所以逻辑阵列块可被重新配置为用户存储器。由于磁性随机存取存储器的读写速度与静态随机存取存储器的读写速度相当,因此可以将随机存取的磁性随机存取存储器配置为用户存储器。
在一个实施例中,本公开实施例还提供一种现场可编程门阵列,包含基于磁性随机存取存储器的查找表的可编程半导体器件或现场可编程门阵列包括多个可配置逻辑块和一个路由结构,其中:
可配置逻辑块包含一组(多个)磁性随机存取存储器查找表,能选择性地编程以执行一个或更多个逻辑功能;
路由结构耦接到多个可配置逻辑块,被配置为根据路由配置信息(路由配置信号)在可配置逻辑块和输入/输出端口之间选择性地路由信息。
在一个实施例中,磁性随机存取存储器能持久保留信息,当电源关闭时,基于磁性随机存取存储器的查找表中的配置信息会保存下来。字寻址存储器的位数范围可以配置为8位到256位。
使用基于磁性随机存取存储器的查找表或磁性随机存取存储器查找表的优点是,查找表可持久记住配置信息,直到它们被重新编程。使用基于磁性随机存取存储器的查找表的另一优点是,未使用的逻辑阵列块可重新配置为用户存储器的一部分,这使得可编程半导体器件能在内部持久存储大量数据。
图5是根据本公开的一个实施例示出的可编程半导体器件框图500,该可编程半导体器件包含多个区域,能在内部存储大量数据。框图500类似于图1B所示的框图100,只是可编程分区区域504被配置为用户存储器。框图500包括多个可编程分区区域102-108、504,可编程互连阵列(PIA)150以及区域输入/输出(Input/Output,I/O)端口166。可编程分区区域(如图中102-108和504)还包括控制单元(如图中110、120、130、140),存储器112以及逻辑块(LB)(如图中116、526、136、146)。可编程分区区域(如图中102-108和504)包括逻辑阵列块(如图中118、138、148以及528)。向框图500添加或从框图500移除一个或更多个块(电路或元件),本公开示例性实施例的基本概念也不会改变。
可编程分区区域504包括逻辑块526、控制单元120以及存储器122。在一个实施例中,逻辑块526包括非易失性存储器逻辑阵列块528的阵列,例如是磁性随机存取存储器逻辑阵列块。基于用户选择,非易失性存储器逻辑阵列块528被配置为通过存储器地址寻址、随机存取的非易失性用户存储器。虽然可编程分区区域504被配置为作为用户存储器的非易失性存储器,但可编程分区区域102、106和108仍可配置为执行用户定义的逻辑功能。
图6是根据本公开的一个实施例示出字寻址非易失性存储器操作实现过程的逻辑图600。逻辑图600示出了逻辑块602和存储器块620。存储器块620包括通过存储器地址访问的磁性随机存取存储器。存储器块620包括地址解码器616、字缓冲器/解码器618、命令标识符612(在一个例子中,该命令标识符可理解为一种解码器)和非易失性存储器628。向逻辑图600添加或从逻辑图600移除一个或更多个块(电路或元件),本公开示例性实施例的基本概念也不会改变。
在操作中,当数据流606到达时,数据流606的第一部分604被转发到命令标识符612,以确定存储器操作的类型,例如但不限于以下操作中的一种或多种:读操作和写操作。数据流606的第二部分608被转发到地址解码器616,以确定存储器的位置。当操作为写操作时,数据流606的第三部分610被转发到字缓冲器或解码器618,以准备写操作。数据流606可从外部设备或主机接收。或者,数据流606可以由逻辑块或配置块602执行的逻辑操作产生。
在一个实施例中,非易失性存储器628,是组织在字宽存储器存储阵列中的磁性随机存取存储器。例如,在写操作中,字缓冲器618的内容被写入存储器位置626,该位置由存储器地址寻址(如标号622所示)。字宽可以是8、16、32、64、128或256位宽。在另一实施例中,如果非易失性存储器628为双端口存储器,则可同时执行读操作和写操作。
图7是根据本公开的一个实施例示出的系统或计算机700的示意图,该系统或计算机使用一个或多个包含字寻址非易失性存储器的可编程半导体器件,作为随机存取存储器。系统或计算机700包括处理单元701、接口总线712以及输入/输出(Input/Output,I/O)单元720。处理单元701包括处理器702、主存储器704、系统总线711、静态存储设备706、总线控制单元705、输入/输出元件(设备)730和现场可编程门列阵785。向图7添加或从图7移除一个或更多个块(电路或元件),本公开示例性实施例的基本概念也不会改变。
系统总线711用于在各种组件和处理器702之间传输信息以进行数据处理。处理器702可以是多种通用处理器、嵌入式处理器和微处理器中的任何一种,例如嵌入式处理器、CoreTMDuo、CoreTMQuad、PentiumTM微处理器、MotorolaTM68040、系列处理器或Power PCTM微处理器。
主存储器704,可以包括多级缓存存储器,存储经常使用的数据和指令。主存储器704可以是随机存取存储器(Random Access Memory,RAM)、磁性随机存取存储器(MagneticRandom Access Memory,MRAM)或闪存。静态存储器706可以是只读存储器(ROM),该静态存储器与系统总线711耦接,用于存储静态信息和/或指令。总线控制单元705耦接至系统总线711和接口总线712,并且控制哪一个组件能使用总线,组件例如是主存储器704或处理器702。总线控制单元705管理系统总线711和接口总线712之间的通信。大容量存储内存或固态硬盘(Solid State Disk)诸如磁盘、光盘、硬盘驱动器、软盘、只读光盘存储器和/或闪存,用于存储大量数据。
在一个实施例中,输入/输出单元720包括显示器721、键盘722、光标控制设备723以及低功耗可编程逻辑器件725。显示设备721可以是有机发光半导体(OLED)显示设备、液晶设备、阴极射线管(Cathode Ray Tube,CRT)、触摸屏显示器或其它合适的显示设备。显示器721用于投影或显示图像(如图形规划板的图像)。键盘722可以是常规的字母数字输入设备,用于在计算机系统700和计算机操作员之间传送信息。另一种类型的用户输入设备是光标控制设备723,例如传统的鼠标、触摸鼠标、轨迹球或其他类型的光标,用于在系统700和用户之间进行信息通信。
可编程逻辑器件725耦接至接口总线712,以通过广域网向本地和远程计算机或服务器提供可配置逻辑功能。可编程逻辑器件725和/或现场可编程门阵列785包括一个或更多个字寻址非易失性存储器,用于提高存储器的操作和效率。在一个示例中,可编程逻辑器件725可用于调制解调器或网络接口设备中,以促进计算机700和网络之间的通信。计算机系统700可以通过网络基础设施与多个服务器耦接,如下讨论所示。
图8是根据本公开的一个实施例示出的、可在云环境中使用的可编程半导体器件的各种应用的框图,该可编程半导体器件含有现场可编程门阵列和字寻址非易失性存储器。框图800示出了一种能够提供数字处理功能和网络通信功能的系统,该系统中包括能选择性地编程以执行一个或更多个逻辑功能的可编程集成电路器件,该可编程集成电路器件中的非易失性存储器包括能够随机存取的用户非易失性存储器,且该用户非易失性存储器为字寻址存储器。在一示例性实施例中,所述系统包括人工智能服务器808、通信网络802、交换网络804、互联网850和便携式电气设备815-819。一方面,具有字寻址非易失性存储器的可编程半导体器件被用于人工智能服务器、便携式电气设备和/或交换网络中。网络或云网络802可以是广域网、城域网(Metropolitan Area Network,MAN)、局域网(Local AreaNetwork,LAN)、卫星/地面网络或广域网、城域网和局域网的组合。向框图800添加或从框图800移除一个或更多个块(或网络),本公开的示例性实施例的基本概念也不会改变。
网络802包括多个网络节点,图8未示出,其中每个节点可以包括移动性管理实体(Mobility Management Entity,MME)、无线网络控制器(Radio Network Controller,RNC)、服务网关(Serving Gateway,S-GW)、分组数据网络网关(Packet Data NetworkGateway,P-GW)或家庭代理以提供各种网络功能。网络802与互联网850、人工智能服务器808、基站812和交换网络804耦接。在一个实施例中,服务器808可以包括机器学习计算机(Machine Learning Computers,MLC)806。
交换网络804,也称为分组核心网络,包括能提供无线接入通信的小区站点822-826,例如第三代(3rd generation,3G)、第四代或第五代蜂窝网络。在一个示例中,交换网络804包括基于网际协议(Internet Protocol,IP)和/或多协议标签交换(MultiprotocolLabel Switching,MPLS)的网络,该网络能在开放系统互连基本参考模型(Open SystemsInterconnection Basic Reference Model,OSI model)的层上运行,以用于客户端和网络服务器之间的信息传输。在一个实施例中,交换网络804是通过蜂窝和/或无线网络在地理区域内有逻辑地耦接多个用户和/或便携式设备816-820。地理区域可指学校、城市、都市区、国家、洲等。
基站812,也称为小区站点、节点B或eNodeB,包括能耦接至各种用户设备(UserEquipment,UEs)和/或电气用户设备(Electrical User Equipment,EUEs)的无线电塔。术语“用户设备”和“电气用户设备”是指类似的便携式设备,其可互换使用。例如用户设备或便携式电子设备(portable electronic device,PED)可以是通过无线通信的以下设备中的一种或多种:蜂窝电话815、笔记本电脑817、816、平板电脑和819。手持设备也可以是智能手机,例如手机、手机、手机等。在一个示例中,基站812通过有线和无线通信网络而实现诸如便携式手持设备815、816和819等的移动设备之间的网络通信。基站812可包括额外的无线电塔和其他陆路交换电路。
互联网850是一个使用传输控制协议/网际互连协议(Transmission ControlProtocol/Internet Protocol,TCL/IP)的计算网络,以提供地理位置上分离的设备间的通信联系。在一个示例中,互联网850通过卫星接收器832耦接至供应商服务器838和卫星网络830。在一个示例中,卫星网络830可提供许多功能,例如无线通信和全球定位系统(GlobalPositioning System,GPS)。无线应用协议(Wireless Application Protocol,WAP)可以应用于很多领域,例如但不限于智能手机815、816、819、卫星网络830、汽车813、人工智能服务器808、商业807、家庭820等。
本公开的示例性实施例包括各种处理步骤,这些步骤将在下文中描述。该实施例的步骤可体现于机器或计算机可执行的指令中。所述指令可用于使得编程有该指令的通用或专用系统执行本公开示例性实施例的步骤。另外,本公开示例性实施例的步骤可由包含执行步骤的硬线逻辑的特定硬件组件执行,或者由经编程的计算机组件和定制的硬件组件的任意组合执行。
图9是根据本公开的一个实施例示出的字寻址非易失性存储器操作实施的过程流程图900。在方框902处,包含随机存储的字寻址非易失性存储器的可编程半导体器件或现场可编程门阵列接收根据存储功能(如写功能)请求数据存储的数据流。
在方框904处,基于数据流的预定义位置从数据流中提取第一字地址。例如,将命令(例如写功能命令)从数据流中分离出来,随后传递给命令解码器以根据命令确定操作。
在方框906处,根据第一字地址在可编程半导体器件的字寻址非易失性存储器内确定(或识别)第一存储位置。在一个示例中,字寻址磁性随机存取存储器中的第一存储位置根据第一字地址定位。
在方框908处,该过程能将来自数据流的第一字存储在字寻址非易失性存储器的第一存储位置中。例如,数据流的第一字被存储在字寻址磁性随机存取存储器内的存储位置。
在一个实施例中,所述方法还包括:将字寻址非易失性存储器的第一部分分配为配置非易失性存储器,该存储器用于根据用户编程存储配置数据,以便于一个或更多个现场可编程门阵列的可配置逻辑操作。
在另一实施例中,所述方法还包括:基于数据流的预定义位置从数据流中提取第二字地址。
在一示例性实施例中,所述方法还包括将字寻址非易失性存储器的第二部分分配为用户非易失性存储器,用于存储计算结果和用户数据。用户非易失性存储器的大小根据所述配置非易失性存储器的大小分配,例如用户非易失性存储器的大小是配置非易失性存储器所需的存储器大小的函数。
在一示例性实施例中,所述根据存储功能接收请求数据存储的数据流后,所述方法还包括基于所述数据流的预定义位置从所述数据流中提取第二字地址,根据该第二字地址在现场可编程门阵列的字寻址非易失性存储器内确定(或识别)第二存储位置,在字寻址非易失性存储器中的第二存储位置中存储来自数据流的第二字。在一个示例中,所述第二字包含64位。
虽然已经展示和描述了本公开的实施例,但显而易见,基于本文的教导,本领域的普通技术人员可以在不偏离本公开的示例性实施例及其更广泛的方面的情况下进行改变和修改。因此,所附权利要求旨在将所有符合本公开本示例性实施例的真正精神和范围的变化和修改包含在权利要求的范围内。
Claims (20)
1.一种可编程集成电路器件,其特征在于,该可编程集成电路器件能选择性地编程以执行一个或更多个逻辑功能,该器件包括:
多个可配置逻辑块,其能选择性地编程以执行一个或更多个逻辑功能;
路由结构,其耦接到多个所述可配置逻辑块,并被配置为根据路由配置信号在多个所述可配置逻辑块和输入/输出端口之间选择性地路由信息;以及
非易失性存储器,其耦接至多个所述可配置逻辑块,并配置为包括配置非易失性存储器和用户非易失性存储器,其中,所述用户非易失性存储器是能随机存取的字寻址存储器。
2.根据权利要求1所述的器件,其特征在于,所述非易失性存储器是能持久保留数字信息的磁性随机存取存储器。
3.根据权利要求1所述的器件,其特征在于,所述字寻址存储器包括多个字,其中每个字含64位。
4.根据权利要求1所述的器件,其特征在于,所述字寻址存储器包括多个字,其中每个字的位数范围为8位至128位。
5.根据权利要求1所述的器件,其特征在于,所述非易失性存储器是能持久保留数字信息的相变存储器。
6.根据权利要求1所述的器件,其特征在于,所述非易失性存储器是能持久保留数字信息的铁电随机存取存储器。
7.根据权利要求1所述的器件,其特征在于,所述非易失性存储器是能持久保留数字信息的闪存。
8.根据权利要求1所述的器件,其特征在于,所述用户非易失性存储器的大小是根据所述配置非易失性存储器的分配而分配的。
9.根据权利要求8所述的器件,其特征在于,所述配置非易失性存储器的大小是根据用户配置逻辑分配的。
10.一种能够提供数字处理功能和网络通信功能的系统,其特征在于,所述系统包括根据权利要求1-9中任一项所述的可编程集成电路器件。
11.一种关于现场可编程门列阵的方法,其特征在于,所述现场可编程门列阵包含非易失性存储器,所述非易失性存储器为随机存取的字寻址非易失性存储器,该方法包括:
根据存储功能接收请求数据存储的数据流;
基于所述数据流的预定义位置从所述数据流中提取第一字地址;
根据所述第一字地址识别所述现场可编程门阵列的所述字寻址非易失性存储器内的第一存储位置;以及
将来自所述数据流的第一字存储在所述字寻址非易失性存储器的第一存储位置中。
12.根据权利要求11所述的方法,其特征在于,所述识别所述现场可编程门阵列的所述字寻址非易失性存储器内的第一存储位置包括:根据所述第一字地址在字寻址磁性随机存取存储器中定位第一存储位置。
13.根据权利要求12所述的方法,其特征在于,所述将来自所述数据流的第一字存储在所述字寻址非易失性存储器的第一存储位置包括:将所述数据流的第一字存储在所述字寻址磁性随机存取存储器内的第一存储位置。
14.根据权利要求11所述的方法,其特征在于,还包括分配所述字寻址非易失性存储器的第一部分作为配置非易失性存储器,该配置非易失性存储器用于根据用户的编程存储配置数据,以便于一个或更多个现场可编程门阵列的可配置逻辑操作。
15.根据权利要求14所述的方法,其特征在于,还包括分配所述字寻址非易失性存储器的第二部分作为用户非易失性存储器,该用户非易失性存储器用于存储计算结果或用户数据,所述用户非易失性存储器的大小根据所述配置非易失性存储器的大小分配。
16.根据权利要求11所述的方法,其特征在于,所述根据存储功能接收请求数据存储的数据流后,所述方法还包括:基于所述数据流的预定义位置从所述数据流中提取第二字地址;以及
根据所述第二字地址识别所述现场可编程门阵列的所述字寻址非易失性存储器内的第二存储位置;以及
在所述字寻址非易失性存储器内的第二存储位置中存储来自所述数据流的第二字。
17.根据权利要求16所述的方法,其特征在于,所述第二字包含64位。
18.一种可编程集成电路芯片,其特征在于,所述可编程集成电路芯片能选择性地编程以执行一个或更多个逻辑功能,该芯片包括:
多个可配置逻辑块,其能选择性地编程以执行一个或更多个逻辑功能;
路由结构,其耦接到多个所述可配置逻辑块,并被配置为根据路由配置信号在多个所述可配置逻辑块和输入/输出端口之间选择性地路由信息;以及
能持久保留信息的磁性随机存取存储器,其与多个所述可配置逻辑块耦接,并被配置为配置存储器、用户存储器和安全存储器,其中,所述用户存储器是能随机存取的字寻址存储器。
19.根据权利要求18所述的芯片,其特征在于,所述字寻址存储器包括多个字,其中每个字的范围为8位至128位。
20.一种现场可编程门阵列,其特征在于,包含非易失性存储器查找表,该现场可编程门阵列包括:
多个可配置逻辑块,其包含多个磁性随机存取存储器的查找表,并能选择性地编程以执行一个或更多个逻辑功能;以及
路由结构,其耦接到多个所述可配置逻辑块,并被配置为根据路由配置信号在多个所述可配置逻辑块和输入/输出端口之间选择性地路由信息,
其中,所述磁性随机存取存储器能持久保留信息,使得当电源关闭时,在多个所述磁性随机存取存储器的查找表中的配置信息会保存下来。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/813,431 US10992299B1 (en) | 2020-03-09 | 2020-03-09 | Method and system for providing word addressable nonvolatile memory in a programmable logic device |
US16/813,431 | 2020-03-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112711379A true CN112711379A (zh) | 2021-04-27 |
CN112711379B CN112711379B (zh) | 2023-07-28 |
Family
ID=75545208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011529246.XA Active CN112711379B (zh) | 2020-03-09 | 2020-12-22 | 提供pld中字寻址非易失性存储器的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (3) | US10992299B1 (zh) |
CN (1) | CN112711379B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113793632A (zh) * | 2021-09-02 | 2021-12-14 | 西安紫光国芯半导体有限公司 | 非易失可编程芯片 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10992299B1 (en) * | 2020-03-09 | 2021-04-27 | Gowin Semiconductor Corporation | Method and system for providing word addressable nonvolatile memory in a programmable logic device |
US11843376B2 (en) * | 2021-05-12 | 2023-12-12 | Gowin Semiconductor Corporation | Methods and apparatus for providing a high-speed universal serial bus (USB) interface for a field-programmable gate array (FPGA) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6353332B1 (en) * | 2000-02-07 | 2002-03-05 | Xilinx, Inc. | Methods for implementing CAM functions using dual-port RAM |
US20040117755A1 (en) * | 2002-12-13 | 2004-06-17 | Xilinx, Inc. | Reconfiguration of a programmable logic device using internal control |
CN1815628A (zh) * | 2004-12-02 | 2006-08-09 | 奥特拉股份有限公司 | 用于在集成电路上组合易失性和非易失性可编程逻辑的技术 |
US7190190B1 (en) * | 2004-01-09 | 2007-03-13 | Altera Corporation | Programmable logic device with on-chip nonvolatile user memory |
CN103927127A (zh) * | 2013-01-03 | 2014-07-16 | 三星电子株式会社 | 可重新配置存储装置 |
CN104716954A (zh) * | 2015-03-17 | 2015-06-17 | 广东高云半导体科技股份有限公司 | 带有片上用户非易失性存储器的可编程逻辑器件 |
US9304899B1 (en) * | 2012-08-24 | 2016-04-05 | Altera Corporation | Network interface circuitry with flexible memory addressing capabilities |
CN108231120A (zh) * | 2017-10-18 | 2018-06-29 | 上海博维逻辑半导体技术有限公司 | 可重新配置的非易失性存储器结构和系统 |
CN109196588A (zh) * | 2016-05-31 | 2019-01-11 | 高通股份有限公司 | 多周期搜索内容可寻址的存储器 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7495970B1 (en) * | 2006-06-02 | 2009-02-24 | Lattice Semiconductor Corporation | Flexible memory architectures for programmable logic devices |
US9059705B1 (en) * | 2011-06-30 | 2015-06-16 | Crossbar, Inc. | Resistive random accessed memory device for FPGA configuration |
FR2990089B1 (fr) * | 2012-04-27 | 2014-04-11 | Commissariat Energie Atomique | Dispositif logique reprogrammable resistant aux rayonnements. |
TWI591966B (zh) * | 2012-10-17 | 2017-07-11 | 半導體能源研究所股份有限公司 | 可編程邏輯裝置及可編程邏輯裝置的驅動方法 |
US10623000B2 (en) * | 2018-02-14 | 2020-04-14 | iCometrue Company Ltd. | Logic drive using standard commodity programmable logic IC chips |
US10608638B2 (en) * | 2018-05-24 | 2020-03-31 | iCometrue Company Ltd. | Logic drive using standard commodity programmable logic IC chips |
US10892011B2 (en) * | 2018-09-11 | 2021-01-12 | iCometrue Company Ltd. | Logic drive using standard commodity programmable logic IC chips comprising non-volatile random access memory cells |
US10992299B1 (en) * | 2020-03-09 | 2021-04-27 | Gowin Semiconductor Corporation | Method and system for providing word addressable nonvolatile memory in a programmable logic device |
US11614770B2 (en) * | 2020-09-16 | 2023-03-28 | Gowin Semiconductor Corporation | Methods and apparatus for organizing a programmable semiconductor device into multiple clock regions |
-
2020
- 2020-03-09 US US16/813,431 patent/US10992299B1/en active Active
- 2020-12-22 CN CN202011529246.XA patent/CN112711379B/zh active Active
-
2021
- 2021-04-07 US US17/225,022 patent/US11637556B2/en active Active
-
2023
- 2023-04-11 US US18/132,984 patent/US20230246646A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6353332B1 (en) * | 2000-02-07 | 2002-03-05 | Xilinx, Inc. | Methods for implementing CAM functions using dual-port RAM |
US20040117755A1 (en) * | 2002-12-13 | 2004-06-17 | Xilinx, Inc. | Reconfiguration of a programmable logic device using internal control |
US7190190B1 (en) * | 2004-01-09 | 2007-03-13 | Altera Corporation | Programmable logic device with on-chip nonvolatile user memory |
CN1815628A (zh) * | 2004-12-02 | 2006-08-09 | 奥特拉股份有限公司 | 用于在集成电路上组合易失性和非易失性可编程逻辑的技术 |
US9304899B1 (en) * | 2012-08-24 | 2016-04-05 | Altera Corporation | Network interface circuitry with flexible memory addressing capabilities |
CN103927127A (zh) * | 2013-01-03 | 2014-07-16 | 三星电子株式会社 | 可重新配置存储装置 |
CN104716954A (zh) * | 2015-03-17 | 2015-06-17 | 广东高云半导体科技股份有限公司 | 带有片上用户非易失性存储器的可编程逻辑器件 |
CN109196588A (zh) * | 2016-05-31 | 2019-01-11 | 高通股份有限公司 | 多周期搜索内容可寻址的存储器 |
CN108231120A (zh) * | 2017-10-18 | 2018-06-29 | 上海博维逻辑半导体技术有限公司 | 可重新配置的非易失性存储器结构和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113793632A (zh) * | 2021-09-02 | 2021-12-14 | 西安紫光国芯半导体有限公司 | 非易失可编程芯片 |
CN113793632B (zh) * | 2021-09-02 | 2024-05-28 | 西安紫光国芯半导体有限公司 | 非易失可编程芯片 |
Also Published As
Publication number | Publication date |
---|---|
US10992299B1 (en) | 2021-04-27 |
US20210281264A1 (en) | 2021-09-09 |
US20230246646A1 (en) | 2023-08-03 |
US11637556B2 (en) | 2023-04-25 |
CN112711379B (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112711379B (zh) | 提供pld中字寻址非易失性存储器的方法和系统 | |
US20210058086A1 (en) | Stacked programmable integrated circuitry with smart memory | |
US9218862B1 (en) | Method and apparatus for operating finite-state machines in configurable storage circuits | |
CN110647232B (zh) | 可编程设备区域电网节能的方法与系统 | |
CN106814662A (zh) | 加速器控制器和控制加速器逻辑的方法 | |
CN113485762A (zh) | 用可配置器件卸载计算任务以提高系统性能的方法和装置 | |
US11901895B2 (en) | Method and apparatus for providing field-programmable gate array (FPGA) integrated circuit (IC) package | |
CN113270125B (zh) | 将时钟结构用于组织成多个时钟区域的fpga的方法和装置 | |
US11614770B2 (en) | Methods and apparatus for organizing a programmable semiconductor device into multiple clock regions | |
US9503096B1 (en) | Multiple-layer configuration storage for runtime reconfigurable systems | |
US12038781B2 (en) | Method and system for organizing programmable semiconductor device into multiple clock regions | |
CN113345884B (zh) | 为多裸片系统级封装和半导体提供电源控制的方法和系统 | |
US11755505B2 (en) | Method and system for accessing a nonvolatile memory via SPI ports | |
US11309894B2 (en) | Method and system providing FPGA device identification via a set of embedded signature registers | |
US20220244867A1 (en) | Fabric Memory Network-On-Chip Extension to ALM Registers and LUTRAM | |
US11043950B2 (en) | Method and system for providing a configurable logic device having a programmable DSP block | |
CN111459874A (zh) | 一种现场可编程门阵列配置闪存的复用方法 | |
CN112506332A (zh) | 一种在可编程器件中节省功率的方法和系统 |
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 |