CN1159060A - 现场可编程存储器阵列 - Google Patents

现场可编程存储器阵列 Download PDF

Info

Publication number
CN1159060A
CN1159060A CN96121505A CN96121505A CN1159060A CN 1159060 A CN1159060 A CN 1159060A CN 96121505 A CN96121505 A CN 96121505A CN 96121505 A CN96121505 A CN 96121505A CN 1159060 A CN1159060 A CN 1159060A
Authority
CN
China
Prior art keywords
bit line
data
input
address
programmable
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
Application number
CN96121505A
Other languages
English (en)
Other versions
CN1117379C (zh
Inventor
金·P·N·克林顿
斯科特·古尔德
约瑟夫·A·伊阿当扎
弗兰克·R·基瑟尔三世
拉尔夫·D·基尔莫伊
迈克·J·拉拉米
维克托·P·塞多
特郎斯·J·兹特里奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1159060A publication Critical patent/CN1159060A/zh
Application granted granted Critical
Publication of CN1117379C publication Critical patent/CN1117379C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • G06F7/785Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17704Logic 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 the logic functions being realised by the interconnection of rows and columns
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories

Abstract

提供一种具有多个子阵列的现场可编程存储器阵列。设置有可编程地址译码器、可编程层次位线配置,可编程I/O配置以及其他特征,使得能对阵列的各部分加以编程从而进入所选的模式。这些模式可包括宽存储器、深存储器、FIFO、LIFO等等。提示了本发明的一个实施例,其中该现场可编程存储器阵列结合有一现场可编程门阵列的可编程资源。

Description

现场可编程存储器阵列
本发明涉及数据存储器,更具体地说涉及一种具有相关联的可编程路径选择和控制资源的可编程存储器阵列。本发明还涉及一种与现场可编程门阵列组合在一起的可编程存储器阵列。
现有的集成存储器阵列在涉及到一给定的数据存储应用场合时一般均具有确定的深度和确定的宽度。因而,不同的数据存储应用情况可能需要各自独立的存储器阵列以满足不同的深度/宽度要求。但如果一种单一的存储器资源能适应不同的深度/宽度上的需求将是有利的。
已知的各种不同存储器装置能用来实现不同的存储器存取技术。最通用的存储器存取技术包括简单的可寻址读/写存储器功能。其他的存取技术包括有LIFO(Last In First Out,后进先出)、FIFO(First InFirst Out,先进先出)和翻转数据堆栈操作。现有的数据存储装置通常都做成适应于特定的固定存取技术。但如果一种存储器装置能被编程来有选择地提供组合存取技术将是有利的。
可编程集成电路在这一技术中是公知的,包含有提供一特殊的不受约束的逻辑单元的阵列的可编程门阵列(PGA)。通常设置一种可编程互连网络,用作单元间的连接和/或提供由阵列输入和输出数据。为满足特定的应用要求进行另外的按常规设计的逻辑单元和互连网络的专门加工或编程。一种这样的装置为一现场可编程门阵列(FPGA),其中FPGA的配置可由用户“在现场”完成。EPGA的配置由利用可作电气上编程的可熔断连接、抗熔配置、存储器控制的晶体管或浮栅晶体管来实现。为对EPGA进行编程,配置数据由一外存储器装置传送给FPGA的电可编程资源。当这些可现场编程的门阵列的密度增加时,对机器内的存储器/存储功能的要求同样要增大。因而,希望能提供一种包含EPGA以及可编程存储器阵列的集成电路,该存储器阵列将能实现多种配置,和/或提供各种不同存储器存取技术中的一种。
因而,本发明的目的就是提供一种经过改善的存储器阵列。
本发明的另一目的是提供一种可在配置方面进行编程以便得到各种数据存储体系结构的可编程存储器阵列。
本发明的再一目的是提供一种可作有选择的编程以实现各种存储器存取技术的存储器阵列。
本发明还有一目的是提供一种将现场可编程门阵列与可编程存储器阵列结合在一起的集成电路。
本发明另外还有一目的是提供一种将现场可编程门阵列与现场可编程存储器阵列组合在一起的集成电路,其中该现场可编程存储器阵列可在现场可编程门阵列的配置期间、现场可编程门阵列重新配置期间,或现场可编程门阵列的正常功能期间进行访问。
本发明在一个方面为一种具有多个存储器子阵列的现场可编程存储器。存储器子阵列可有选择地编程以实现各种不同的存储器配置和运行模式。一般来说,各子阵列均能被编程进入一组模式中之一以及其后在该模式下被访问。这些模式在一实施例中包括有宽RAM、深RAM、FIFO和LIFO。
本发明提出多种可编程结构来实现各部分存储器阵列的编程。例如,此阵列可包含有地址译码器和用于在存储器阵列的读和写操作期间对地址译码器提供相关的读和写输入地址的可编程存取单元。此可编程存取单元可进一步包括第一地址计数器,第一时钟控制单元和地址比较单元。
存储器阵列的位线被安置成可编程的层次结构排列。可设置局部位线、半全局位线和全局位线,对上述位线以可编程的方式进行相互连接来实现高一级的位线可编程性能。而且该互连的位线结构还能以可编程的方式连接到I/O总线。
可设置一主I/O总线和一辅I/O总线,以及对它们作可编程连接用的第一和第二选择耦合器。
可设置一可编程地址译码器,带有M个字线、多个传送地址数据的地址线和一译码器电路用于有选择地驱动按照该多个地址线的地址数据所选择的M个字线中的一给定字线。还可设置一选择性耦合器,它具有多个耦合到一地址总线的一组相关线的输入和一耦合到该多个地址线的一地址线的输出,此选择性耦合器按照编程数据将其输出有选择地耦合到其多个输入中的一个。
可设置一选择性读数俘获锁存器用于与层次位线结构作有选择的接口。此选择性读数俘获锁存器至少可包括第一和第二层次输入,一具有一输入和一输出的存储器单元,和在第一及第二层次输入与此存储器单元的输入之间的选择耦合装置,用来按照一相关的层次读数俘获时钟将该第一和第二层输入之一有选择地耦合到存储器单元的输入以便在它们之间传送数据。可设置有预充电装置用于对层次位线结构的至少一个位线进行预充电。
在另外的实施例中,可在阵列的存储器单元之间设置可编程传送路径和扫描链锁存器,以提供实际的LIFO/FIFO功能,同时分别为这些单元和相关的路径提供可测试功能。
在一优选实施例中,这里所揭示的现场可编程存储器阵列(FPMA)可与一现场可编程门阵列(FPGA)的可编程逻辑单元相集成,以提供包含完全可编程组合和存储器电路的完全可编程逻辑系统。
上述的本发明的特征,以及下面揭示的本发明的许多其他特征,对存储器存取技术固定的、在用户的使用方面很少或没有任何灵活性的现有技术的存储器系统都给予了重大改善。
作为本发明的基本实质在本申请所提出的权利书中被详细地指出并清楚地提出了要求。但对于本发明在其实施构成和方法方面以及另外的目的和优点,由参阅以下对优选实施例的详细描述和所引用的附图将会更好地理解。所列附图为:
图1A-1E以不同层次说明本发明的现场可编程存储器阵列;
图2A-2B表示一存储器子阵列的局部原理图;
图3为一存储器单元的原理图;
图4为一替换存储器单元的原理图;
图5为一传输单元的原理图;
图6A-6E为一位线路径选择矩阵的局部原理图;
图7为一与图6A的位线路径选择矩阵相关联的开关矩阵元件和一读位线层次结构的原理图;
图8为一与图6B的位线路径选择矩阵相关联的开关矩阵元件和一写位线层次结构的原理图;
图9为一与图6C的位线路径选择矩阵相关联的开关矩阵元件和一压入位线的原理图;
图10为一与图6D的位线路径选择矩阵相关联的开关矩阵元件和一弹出位线的原理图;
图11为一I/O路径选择矩阵的方框图;
图12为图11I/O路径选择矩阵的一写矩阵开关的局部原理图;
图13为图11I/O路径选择矩阵的一读矩阵开关的局部原理图;
图14为一I/O块的方框图;
图15为图14I/O块的I/O单元的原理图;
图16为一可能的读/写位线层次结构的局部原理图;
图17为说明一较高等级的可能的读/写位线层次结构的局部原理图;
图18A-18B为一将该可能的读位线层次结构与四个存储器子阵列相结合的读数据路径网络的局部原理图;
图19为一将该可能的写位线层次结构与四个存储器子阵列相结合的写端口数据路径网络的局部原理图;
图20为一结合可能的读俘获锁存器组的读位线层次结构的简化原理图;
图21为如图20中所示的俘获锁存器组的方框图;
图22为图21的时钟发生器的原理图;
图23为表示图21的读俘获锁存器组的单个单元的原理图;
图24为预充电电路的原理图;
图25为表示一读俘获锁存器中包括的预充电电路的原理图;
图26A-26C为说明一地址单元的局部原理图;
图27A-27C为一时钟单元的典型简化电路图;
图28A~28B为一状态机存取端口的典型的局部原理图;
图29为一允许作异步运行的可能的位线接口结构的局部原理图;和
图30为图29的装置的原理图。
关于优选实施例的描述被安排为如下各部分:
现场可编程存储器阵列的部件
存储器子阵列
存储器单元
传输单元
位线路径选择矩阵
读位线开关元件
写位线开关元件
压入/弹出开关矩阵元件
可编程开关矩阵元件
I/O路径选择矩阵元件
I/O路径选择矩阵
I/O块
另一种数据接口配置
提供简化读位线接口的另一种读俘获锁存器布局
地址单元
时钟单元
状态机存取端口
异步读现场可编程存储器阵列的部件
参看图1A,一现场可编程存储器阵列(FPMA)10具有多个存储器子阵列121、122…12z。对存储器阵列作有选择的编程来实现各种不同的存储器配置和运行模式,即存取技术。
本技术领域内的专业人员都了解可有各种不同技术来提供阵列编程。掩模编程技术包括对一另外的按常规设计集成电路的最后的金属化层的淀积进行按规格的改制(可参看例如美国专利No.3,993,919 Cox等“逻辑阵列的可编程锁存器和其他电路”Nov.23,1976;和No.4,742,383Fitzgerald“多功能FET母片单元”May 3,1988,此二专利均被指定给本申请同一受让人)。激光编程技术涉及到对其淀积后的金属化层进行改制(参看例如Raffel等的“采用可重组VSLI的晶片规模数字积分仪”,IEEE Journal of Solid-State Circuits,Vol,SC-20,No.1,Feb,1985,p399)。采用可熔断连接或抗熔断器能得到持久的(非易失性的)编程(参看例如Millman“微电子学”,McGraw-Hill,Inc.,1979,p196;和美国专利No.4,758,745 Elgamal等“用户可编集成电路互连层次结构和测试方法”,July 19,1988)。利用可擦可编程只读存储器(“EPROM”)和电可擦可编程只读存储器(“EEPROM”)装置能得到半持久性编程。EPROM和EEPROM二者均为可作电编程的,而且即使去掉电源时也能保持它们的状态。但可采用特殊的擦除过程来对装置进行重新配置(参看例如Wood等的“快速周转时间VISI开发硬件用的电可变更PLA”,IEEE Journal of Solid-State Circuits,Vol.SC-16,No.5,Oct1981,p570)。最后,还可能利用能作完全编程和再编程的易失性随机存取存储器(“RAM”)装置,但它们在去掉电源时其编程状态即消失(参看例如US专利No.4177 452 Balasubramanian等“电可编程逻辑阵列”,Dec 4,1979,此专利被指定给本申请同一转让人)。这些以及其他阵列编程技术均是本技术领域的专业人员所公知的,在S.Brown等的“现场可编程门矩阵”(Kluwer Academic Publishers,1992)中有公开的综合论述。上述提到的资料均在此被引用以作为全面的参考。
本发明的编程或对可编程资源进行配置的优选途径涉及由用户编程的SRAM存储器单元。这里所采用的术语“配置位”或“配置数据”是指用于对所揭示的多种可预配置的资源进行配置的基本配置信息。在这些图中,一带有X的圆始终代表配置信息。本发明的FPMA最好按照类似于配置一公知的PFGA中所用的类似技术加以配置,如出版物“ AT6000系列配置使用说明”,(May 1993,版本1B,AtmelCorporation)中所揭示的,此文在这里引用以作全面参考。
参看图1A-1D,FPMA10的每一存储器子阵列121,122…12z均由排列在一M行和N列的阵列中的多个存储器单元构成。各存储器阵提供每一字宽N位的M个存储字。对FPMA作数据存取,在一种运行模式下通过主I/O总线26进行;而在第二运行模式下通过状态机存取端口24进行。FPMA10的配置确定进入其存储器单元的数据存取路径及其相关的存储器单元的长度/宽度。地址总线28(设计中的分级)传送地址数据至地址译码器单元201,202…20z,这些地址译码器单元按地址选择存储器子阵列的字行以接收/提供数据。
FPMA 10的各种不同位线结构向FPMA或由FPMA向外传送数据。读位线结构30按照所选择的FPMA的配置由FPMA给定的存储器子阵列向主I/O总线26或状态机存取端口24传送数据。写位线结构32按照写地址数据和相关的位线配置将数据传送到FPMA10的选择存储器子阵列字。
LIFO/FIFO数据位线34提供垂直相邻的存储器子阵列间的数据相互耦合。LIFO/FIFO位线结构按照相关的LIFO/FIFO控制信号在二方面中之一传送数据.
编程(初始化)位线结构36提供由状态机端口24进入FPMA的直接耦合,以将数据(例如初始化数据)发送到通过相关的编程字线寻址而被寻址的FPMA。
位线路径选择矩阵单元141,142,14z+1提供由各个数据位线结构的选择线到辅助I/O总线38的有选择的接口,其中Z等于FPMA10的存储器子阵列12的数目。例如参看图1A、1B和1C,在位线路径选择矩阵14z+1中,把读位线结构30的选择读位线通过相互耦合读数据线40送到I/O路径选择矩阵16z+1。同样,将写位线结构32的选择线经相互耦合写数据线42耦合到I/O路径选择距阵16z+1。位线路径选择矩阵14z+1和I/O路径选取矩阵16z+1间的相互耦合线44、46传送相关的LIFO/FIFO位线结构34的选择信号。位线路径选择矩阵14z+1与I/O路径选择矩阵16z+1间的每一个数据线相互耦合40、42、44、46均为N位宽,其中N表示各存储器子阵列的数据字宽。
底部位线路径选择矩阵141(参看图1A、1C和1E)也通过读位线相互耦合30′提供读位线结构30至状态机存取端口24的有选择的接口。辅助读端口38′通过辅助I/O总线38提供FPMA至状态机存取端口24的一替换读接口。编程位线相互耦合36′经位线路径选择矩阵141提供由状态机存取端口24进入编程位线结构36的编程数据耦合。LIFO/FIFO环绕相互耦合线34′(如图1B中所示)由底部位线路径选择矩阵141环绕至顶部位线路径选择矩阵14z+1。环绕数据线34′提供FPMA各个端部之间的从顶部至底部或相反由底部至顶部的数据流。
参看图1A和1B,I/O路径选择矩阵单元161,162…16z+1与各自的位线路径选择矩阵141、142…14z+1相关联,和提供相关的相互耦合数据线40、42、44、46与辅助I/O总线38的选择线之间的有选择的相互耦合。I/O路径选择矩阵还包括为实现辅助I/O总线38的分段层次结构的特点,后面将较完整地描述其层次结构。
I/O块181、182、18z提供主I/O总线26与辅助I/O总线38间的有选择的相互耦合。此I/O块还可包含用于某些相互耦合实施方案的有选择的极性变换。
主I/O总线26用作对FPMA的存储器单元的主接口。在一示范性应用例中,FPMA与另一可编程阵列(例如象一现场可编程门阵列)配置在一起,其中此主I/O总线成为对该现场可编程门阵列的整个接口的一部分。
时钟单元221、222…22z与各个存储器子阵列121、122…12z相关联并控制其各种存储器功能。可按照所选择的各个不同存储器功能,例如读、写、弹出、压入、清除等等,对该时钟单元进行编程。以提供用于传送数据的传输控制信号。
地址总线28(图1A和1B)确定地址数据去往各不同地址单元201、202…20z的路径和发送适当的控制信号至相关的时钟单元221、222…22z。把地址总线的选择线按照其相关的配置数据送到地址单元和时钟单元。地址总线28可被设计成分层次的,这在下面将进一步说明。
在上述的示范应用例中,其中FPMA与一现场可编程门阵列(FPGA)结合在一起,状态机存取端口24(图1A和1E)在一与FPGA的配置逻辑(图中未表示)相关联的状态机与FPMA的存储器单元之间提供直接数据接口。美国专利No.5298805 Garverick等“一可配置的逻辑阵列中的通用和高效的单元至局部总线的接口”(March 29,1995,在此用作全面参考)中揭示有这种FPGA和相关的配置逻辑。状态机存取端口24具有一读地址端口390用于由状态机接收地址数据。编程位线端口388由状态机接收编程数据,而数据端口386将由FPMA检索到的数据送到状态机。选通端口384被耦合于由状态机接收读选通脉冲,此选通脉冲与执行FPMA的读操作有关。地址信息通过地址相互耦合28′由状态机发送到地地址总线28的选择地址线,如按照状态机存取端口24的被编程的配置所选择的那样。编程(初始化)数据,如在编程位线端口388时所接收到的,按照状态机存取端口24和位线路由选距阵141的相关配置状态被通过相互耦合36′和位线路径选择矩阵141,有选择地耦合到FPMA10的编程位线结构36。由FPMA 10读取的数据按照状态机存取端口24的被编程的配置以两种不同的可能路径,经由读位线相互耦合30′或者通过辅助I/O总线38和辅助读端口相互耦合38′,被送至状态机。因而,状态机存取端口24能为直接由相关的FPMA的单元将新配置数据装载进一相关的FPGA中的配置存储器提供机内的“高速缓冲存储器”操作。
如下文讨论的,将讨论FPMA的一实施方案,以及图中所表明的,包含这里提到的所谓“实际的(physical)”LIFO/FIFO能力和“实际”扫描入/出能力。这些能力涉及到在阵列中包含L1/L2锁存器(主/从)和存储器单元间的传输单元。本发明的优选实施例不包含这样的主/从锁存器和传输单元。在此实施例中LIFO/FIFO能力是在没有传输单元的情况下“逻辑地”提供的以下在适当场合讨论把这些及有关电路从本优选实施方案中排除出去的情况。
例如,应看到LIFO/FIFO环绕位线结构34′对于第一位线路径选择矩阵141与最后的位线路径选择矩阵14z+1之间的接口是可任选的结构。在本发明的某些实施例中,不包含LIFO/FIFO环绕位线结构34′,也没有位线路径选择矩阵14z+1
下文所揭示的内容将对FPMA的各不同部件进行详细说明。
这里所揭示的FPMA不仅仅提供在FPMA内在任何一个时刻的单个的宽度、深度、或中间逻辑随机存取存储器的能力,而且能提供同时达到FPMA的逻辑能力的极限的相同或不同模式的多逻辑阵列。如果此FPMA含有8个M字×N位的子阵列,就可期望此FPMA能实现8个逻辑存储器,其中每一个都是M字×N位,或者是,每一个均为M倍字和N倍位的阵列的任意组合,它们共同利用不超出FPMA中所存在的那些多个的子阵列和时钟单元的资源。还可以允许各阵列具有达到FPMA的能力极限的不同的模式(1端口RAM,2端口RAM,ROM,FIFO,LIFO等)。在一实际的设计中,设置了8个子阵列,但仅提供2个时钟单元(限定同时存在的LIFO和/或FIFO的数目为2)。存储器子阵列
参看图2A、2B,每一存储器子阵列12由多个配置在一M行和N列的阵列中的存储器单元48组成。M行提供存储器子阵列的M个存储字。存储字各自为相当于存储器子阵列中的列数的N位宽。存储器单元48的每一行均可以有一传输单元50的相关行以使数据能垂直地作字与字间的移动。例如,第一行第一列的存储器单元481,1,具有一相关的传输单元501,1以使得数据能转移到(或来自)第二行第一列的存储器单元482,1。在本发明的特定实施例中,无需数据在字与字之间作实际移动,因而没有在它们当中垂直设置传输单元50。
通过不同的数据传输操作,包括读、写、压入、弹出、连续扫描和编程(初始化),对FPMA10的存储器单元作存取操作可采用许多不同的技术。对于存储器子阵列12的读、写操作,存储器子阵列12中的每一行存储器单元48均各自具备一相关的读字线RWL1,RWL2…RLWM,可进行寻址以选择作为欲从中读取数据的行的相关存储器单元行。当选定一给定的行字线时,被选择行的存储器单元的数据即输出到相关的内部列读位线561,562…56N。一给定列的每一存储器单元均具有连接到其相关的内部读位线56的门控输出,这些门控输出经对应读字线被启动,例如第一列的读位线561被连接到第一列的各存储器单元的门控输出481,1、482,1、48N,1
各内部读位线561,562…56N分别连接到一相关的可选择的三态驱动器521,522…52N。此可选择的三态驱动器将各个内部读位线56的数据传送到一(各个读位线结构30的)相关的读位线层次结构108的选择位线。例如,可选择的三态驱动器521在其输入端由内部读位线561接收数据。按照相关配置数据62,作为n中之1的选择驱动器(注:这一“n”与存储器阵列的宽“N”无关)的可选择三态驱动器521驱动其多个输出1081的一选择输出。对此三态驱动器52进行编程的配置数据由例如一SRAM(图中未表示)提供,如前面有关可编程资源的编程中所述。因而,可选择的三态驱动器521按照其相关的配置数据62在如下述被适当地启动时将内部读位线56的数据送往层次结构1081的一位线。
各个可选择的三态驱动器511,522…52N均具有一个由在高地址输入72接收的高地址启动信号驱动的启动输入。当该高地址启动信号截止此三态驱动器时,该驱动器的所有输出在三态状况下提供高输出阻抗。另一方面,当该高地址启动信号启动此可选择的三态驱动器时,驱动器则按照相关的配置传送数据至层次结构108的选择线。参看图1A、1B,存储器子阵列121、122、…12M的高地址输入经由各自的互连线721、722…72z耦合到相关的地址单元201、202…20M。从而,FPMA 10经适当的寻址数据能选择由哪一个存储器子阵列12把数据传送到相关的读位线层次结构108。下面讨论另外的读电路52的实施例。
有关将数据写进存储器子阵列12的电路与上述的读电路类似。存储器单元的各列具有一相关的内部写位线581、582…58n。每一内部写位线被连接到其相关列的各自存储器单元的门控输入。例如,第一列的内部写位线581连接到各个存储器单元481,1、482,1…48M,1的门控输入。在数据被写入存储器子阵列12时,根据寻址选择的字线WWL1、WWL2…WWLM被传送进其一给定的字。例如,假定现场可编程存储器阵列10接收到一驱动第二行字线WWL2的地址,此第二行存储器单元即相应地被选择,以接收相关的写位线581、582…58N的数据。每一位线58由一相关的层次结构118中利用多路器54进行驱动。
另一种存储器装载操作包括编程。术语“编程”在这里是指存储器单元阵列的“初始化”,而在涉及到配置时也指FPGA/FPMA的配置位。熟悉这一技术领域的人们由本文中将会了解此术语“编程”是如何应用的。一给定存储器子阵列12的选择行被装载以相关的程序位线36、亦即PBL1、PBL2…PBLN,的程序数据。存储器单元的选择行经由相关的程序字线PWL1、PWL2…PWLN而被选择。参看图1,例如FPGA的一状态机(图中未示)通过状态机存取端口24和编程位线36,即PBL1、PBL2…PBLN,将编程(初始化)数据发送到FPMA,此数据路径为将程序数据写入FPMA提供一更直接的途径。
为启动LIFO、FIFO、或EPMA中的数据滚动功能,在FPMA由配置有一存储器堆栈,和数据进入到该堆栈的、数据在堆栈内部的、或退出堆栈的垂直移动。如下文将更详细说明的,揭示有两种型式的LIFO/FIFO操作,物理(实际)的和逻辑的。在物理的LIFO/FIFO操作中,数据在一相关的存储器堆栈中作实际上的垂直传送。在逻辑LIFO/FIFO操作中,各个存储器单元中的数据维持固定,而地址指针/计数器则被用来保持对写和读存储器位置的跟踪以实现有效的PUSH/POP(压入/弹出)堆栈功能。继续说明物理LIFO/FIFO实施例,压入输入PUSHI1、PUSHI2…PUSHIN被连接到存储器子阵列12的各列的底部存储器单元。例如,将存储器单元481,1连接到列1的一压入输入(PUSHI1)以接收一欲被压入相关堆栈的一给定数据位。如果此相关的存储器子阵列12是在一被配置的FIFO/LIFO堆栈之中(即中间子阵列),则其由一相邻接的存储器子阵列接收压入数据(通过其相关的位线路径选择矩阵)。另外,如果此给定存储器子阵列为被配置的堆栈的第一存储器子阵列,则其或者通过相关的环绕相互耦合34′由配置的堆栈的顶部,或者通过主I/O总线26由外部数据源接收压入数据。
随着数据被压入给定的存储器子阵列,溢出数据即被传输单元50M,1,50M,2,50M,N移出此存储器子阵列并到达相关的压入输出PUSHO1、PUSHO2、PUSHON。如果此给定存储器子阵列在FPMA10的被配置的堆栈之中(中间),则被推出此给定的存储器子阵列的溢出数据即通过一中间路径选择位线矩阵14传送到所配置的堆栈中的下一相邻接的存储器子阵列。另一方面,如果此存储器子阵列位于所配置的栈的顶部,则溢出数据或者经翻转功能通过环绕相互耦合34′传送到底部的存储器子阵列,或者靠FIFO功能传送出堆栈。
使数据在FPMA的垂直堆栈中下移类似于将数据沿此垂直堆栈上推,除了存储器子阵列12是通过相关的弹出输入POPI1、POPI2…POPIN接收各列顶部的数据这一点之外。在数据进一步沿堆栈向下传送时,溢出数据通过各列的相关弹出输出POPO1、POPO2…POPON离开给定存储器子阵列的底部。此弹出输出通过中间路径选择位线矩阵连接到一经适当地配置的堆栈中的相邻存储器子阵列的相关的弹出输入。对于底部存储器阵列,被弹出此所配置的存储器堆栈的数据经滚动功能通过相关的环绕相互耦合34传向堆栈的顶部,或者到达主I/O总线26。为有利于数据在存储器子阵列12的各列中垂直移动,各传输单元50在输入端373、374分别接收第一和第二相位弹出时钟POPCLK1、POPCLK2,并在输入端376、378分别接收第一和第二相位压入时钟PUSCLK1、PUSCLK2(在图2A和1D中一起被称之为时钟380)。如前面所述,在本发明一实施例中并不提供数据在FPMA存储器堆栈中的垂直传送,因而就无需各种压入/弹出互连线、传输单元,和相关的压入/弹出时钟。
在存储器子阵列12内传送数据的另一种方法(本发明另一特定的实施例)包括数据顺序地通过一串行连接的存储器单元48链的移动。第一行和第一列的存储器481,1具有一为相关的存储器子阵列12提供扫描输入的串行输入端SCANIN。与最后行M和最后列N相关的存储器单元48M,N具有一为存储器子阵列12提供一扫描输出的串行输出端SCANOUT。在其余的串行连接的存储器单元间设置有中间串行数据链,其中串行输出被连接到相邻的下游存储器单元的各个串行输入。例如,存储器单元481,1将其串行输出连接到存储器单元481,2的串行输入,而同样,存储器单元481,N则将其串行输出耦合到存储器单元482, 1的串行输入。在本发明的这一特定所说明的实施例中,存储器单元在各行内串联耦合,一行的最后一存储器单元连接到一相邻行的第一存储器单元。另外,存储器单元可经由各列作串行耦合。在延续FPMA中的串行存储器单元串中,参看图1A和1D,扫描输出SCANOUT和相邻存储器子阵列的扫描输入SCANIN互相耦合来得到整个FPMA中的一单个的连续的串行扫描链。例如,存储器子阵列121通过串联的互连线70使其扫描输出耦合到存储器子阵列122的扫描输入。通过在输入端301分别接收的第一和第二相位扫描时钟SCANCLK1、SCANCLK2的恰当的时钟脉冲排序可实现数据的串行扫描位移。这些时钟被耦合(图中未示出)来驱动各个存储器元件。扫描链的实现仍然仅仅是这里所揭示的另一个可选择的FPMA的实施方案。
回到图2A,各存储器子阵列12还具有一复位输入端302用于接收复位信号RESET。此复位输入端被耦合到(未示出)子阵列中每一存储器单元的一复位端,用来由适当的复位信号脉冲来启动所有存储器单元的复位。
下面将详细说明存储器单元和可选择传输单元。存储器单元
参看图3,说明示例性的存储器单元48。(单元48的另一实施方案的说明见与本申请相结合的申请“利用一单个的单元写端口在存储器阵列中实现写、初始化和复位的系统”)。单元48具有一个用于在其中保持数据的主锁存器74。此主锁存器74由例如提供一静态存储器单元的两个作适当的交叉耦合的反相元件组成。主锁存器74具有一弱端73和一强端75。当第一锁存器74的弱端73被第二个同样锁存器的一强端驱动时,此第一锁存器将使其弱端被调整得对应于第二锁存器的强端。下面,弱端将被称做输入而强端称作输出。(其它的存储器单元配置也可在本发明的范畴之内提供,包括RAM,DRAM,PROM等)。
主锁存器74的输入73(弱端)被连接到用于有选择地由各个源接收数据的各种门控制入端。对于在现场可编程存储器阵列中数据作逐字垂直位移的本发明的物理LIFO/FIFO实施例,一压入输入和弹出输入PUSHIN和POPIN分别耦合到主锁存器74的输入73。这些压入和弹出输入分别由相关的下和上传输单元50驱动(这些传输单元包含以恰当的压入/弹出时钟信号有选择地启动的门控输出端,在下面将作更全面的说明)。例如,存储器单元48的压入输入PUSHIN由一位于同一列下面的传输单元的强端压入输出接收压入数据。另一方面,存储器单元48的弹出输入POPIN则由来自位于同一列上面的传输单元的强端的弹出输出所驱动。
来自主锁存器74强端的输出75分别提供直接的压入和弹出输出PUSHOU和POPOUT,用于驱动同一列的各自的上、下传输单元。存储器单元48的压入输出驱动一相邻传输单元的弱端沿堆栈上升,而存储器单元48的弹出输出则驱动一相邻传输单元的弱端沿堆栈向下。也如上面指出的,在本发明的存储器阵列内不具有数据作垂直移动的特定实施例中,存储器单元48不设置压入/弹出输入端和压入/弹出输出端。
MOSFET(场效应管)78用作主锁存器74的输入73与编程位线36(图1B)的程序位线PBL之间的通过门。MOSFET 78在通过编程字线PWL其栅极被导通时,有选择地使编程位线PBL与输入73相互耦合以便将编程数据装入锁存器74。(在这里再次要指出,编程是指单元48的初始化,而不是指FPMA 10的配置。)
MOSFET 80被连接在主锁存器74的串行输入SI与输入73之间的通路上。MOSFET 80的栅极由第一相位扫描时钟SCANCLK1驱动,后者有选择地启动MOSFET 80以将扫描输入SI耦合到输入73,传送串行数据进入主锁存器74。
将MOSFET 86的沟道连接在主锁存器74的输出75与辅助锁存器76的弱端输入之间以便和与可任选的串行扫描操作有关的部件相接续。(术语“锁存”在这里用作泛指一具有数据存储能力的电路。)MOSFET86的栅极由第二相位扫描时钟SCANCLK2驱动以便在主锁存器74与辅助锁存器76之间有选择地传送数据。辅助锁存器76的输出端提供存储器单元48的串行输出SO,它驱动该相关串行链中的下一存储器单元的串行输入。例如,参看图2A,第一存储器单元481,1在其串行输入端SI接收串行输入数据。第一相位扫描时钟提供用来传送串行输入数据进入其主锁存器74的脉冲。同时,此第一相位扫描时钟脉冲还启动此串行链中其后的存储器单元,例如481,2,以便锁存由相关的前面的存储器单元,如481,1,的串行输出端SO接收的串行输入数据。然后,第二相位扫描时钟提供一启动脉冲使得数据由存储器单元的各自的主锁存器74传送到相关的辅助锁存器76。在这种状态下数据顺序地通过串联的存储器单元48的扫描链移动。
MOSFET 82提供主锁存器写位线WBL与主锁存器输入74之间的有选择的耦合。其栅极被耦合到写字线WWL以接收写启动信号。在被启动时,MOSFET 82使写位线WBL与输入73相互耦合,将数据写进主锁存器74。如前面参照图2A和2B所述,存储器单元48的写位线WBL被连接到其相关的内部列写位线58,而写字线WWL则由相关的地址单元20作寻址驱动。在相关的写字线WWL经其相关地址单元20以寻址方式选择时,内部写位线58的数据通过MOSFET 82被传送进主锁存器74(图1A、1B和1D)。
MOSFET 84使其沟道以串联方式连接在地与主锁存器74的输入73之间。MOSFET 84的栅极由一复位信号RST驱动,将输入73有选择地耦合到地。在此种复位期间,主锁存器74的数据被清除。另外虽然图中未加表示,MOSFET 84还将输入73有选择地耦合到一正电源以便在复位期间将主锁存器74设置到一相反的状态。
缓冲器88(可能为一反相器)的输入被耦合到主锁存器74的输出75及有选择地驱动门控MOSFET90。MOSFET 90的沟道被置于缓冲器88的输出与其相关列的内部读位线RBL,例如图2A和2B的内部读位线561,之间,MOSFET 90的栅极耦合到读字线RWL以便接收读启动信号从而将缓冲器88的输出有选择地耦合到读位线RBL,将数据由存储器单元48传送到其相关的读位线56。参看图1A、1B、1D、2A,2B和3,一相关的地址单元20由地址总线28接收读地址以便以寻址方式选择读字线298的一给定的读字线RWL。相关的行存储器单元48的所有通过门,MOSFET 90,被一起启动以把其数据传送到各个内部读位线56。
从而,存储器单元48即具有多个用来接收更新主锁存器74的数据的输入端口,即PUSHIN,POPIN,PBL,SI,WBL和RST。同样,存储器单元48具有多个用于发送其存储的数据的输出端口,即SO,RBL,PUSHOUT,和POPOUT。(上述的与本申请结合在一起的申请“利用单个的单元写端口实现一存储阵列中的写、初始化、和复位的系统”揭示了一带有仅利用一单个写端口来维持许多这类功能的选择电路的单一写端口单元)。
在上述存储器单元实施例中,辅助锁存器76及只涉及到LSSD串行扫描操作。在另一种配置中(参看图4)存储器单元48′使其中可存储二个数据位来提高存储器密度。但这另一种存储器单元配置48′兼有串行扫描功能。因为有关串行扫描操作需要双相位时钟,所以每一存储器单元48′只能有一个数据位与此串行扫描功能相关联。
在这另一种存储器单元配置中,辅助锁存器76包含辅助的压入、弹出、程序、写和复位输入端,这些输入端按照相关的压入、弹出、程序、写和复位启动信号有选择地连接到辅助锁存器76输入端73′。应指出,此压入/弹出启动信号(图4中未表示)实际上在各个相邻的传输单元中是存在的。辅助锁存器76的输出75′同样经由各自共同的读、压入/弹出启动输出信号来驱动辅助的读、压入和弹出输出。因而,这个以另一种方式配置的存储器单元48′在串行扫描操作期间与上述同样地运行,但对其他的存储器功能提供附加的存储密度。传输单元
如上面参照图2A和2B所述,传输单元50沿各列存储器单元作垂直向上或向下的数据位移。参看图5,传输单元50含有一具有强端的输出96和弱端的输入94的传输锁存器92。当弱端的输入94由一强的输出源(例如一给定存储器单元48的主锁存器74的输出75)接收数据时(图3),传输锁存器92即按照在其弱端的输入94所接收的数据更新其强端的输出96。MOSFET 98和100与传输锁存器92相结合启动数据在两垂直相邻接的存储器单元之间向上移动。MOSFET 98的沟道被置于传输锁存器92的输入94与压入输入节点97之间。MOSFET 98的栅极由一第一相位压入时钟PUSHCLK1驱动,将压入输入97有选择地耦合到传输锁存器92的弱端输入94。从而,当MOSFET 98经第一相位压入时钟PUSHCLK1被启动时,由其下面的存储器单元48,例如存储器单元481,1的压入输出提供的数据即被传送到传输锁存器92。在下一步中,一第二相位压入时钟PUSHCLK 2启动MOSFET 100,将数据由传输锁存器92的强端输出96传送到压入输出PUSHOUT 99,而驱动同一列中在上面的相关邻接存储器单元,例如存储器单元482,1的压入输入。
以类似方式,当MOSFET 102和104分别为各自的第一和第二相位弹出时钟POPCLK1和POPCLK2驱动时,它们启动数据从一存储器单元向其下面的垂直邻接存储器单元向下传输。将MOSFET 102的沟道置于传输锁存器92的弱端输入94和一耦合到同一列的上面的一垂直邻接的存储器单元的弹出输出的弹出输入节点101之间。MOSFET 102的栅极由第一相位弹出时钟POPCLK1驱动,从而将节点101有选择地耦合到传输锁存器92的输入端94,以启动弹出数据从其上面的垂直邻接存储器单元传送到锁存器92。MOSFET 104的栅极由第二相位弹出时钟POPCLK2驱动,从而将传输锁存器92的强端输出96有选择地耦合到弹出输出节点103,以便启动数据由传输锁存器92传送到其下面的垂直邻接存储器单元。例如,在第一相位弹出时钟启动其相关的MOSFET102时,传输单元501,1(图2B)即由存储器单元482,1(未表示出)的弹出输出接收数据。然后传输单元501,1通过由一第二相位弹出时钟启动其相关的MOSFET 104来将这一数据传送到存储器单元481,1的弹出输入。在压入时钟或弹出时钟二者中无一被确定时,传输单元的每一个MOSFET部件均呈现一种开路的、高阻的三态输出状态。如以上指出的,在本发明的一特定实施例中不提供各个存储器子阵列内部的垂直数据移动,因而FPMA中就不包含此传输单元50。
在说明了存储器子阵列12的各不同部件后,本说明书的下一部分说明有关确定数据进入和离开FPMA 10的各不同存储器子阵列的数据路径的其他可编程资源。位线路径选择矩阵
参看图1A-1C和6A-6E,FPMA 10的各位线路径选择矩阵14选择各不同位线结构30、32、34、36中的特定数据线来向辅助I/O总线38传送数据。此位线路径选择矩阵14包含有一读位线开关矩阵部分106(图6A),一写位线开关矩阵部分116(图6B),一压入开关矩阵部分126(图6C),一弹出开关矩阵部分136(图6D),和一编程位线开关矩阵部分146(图6E)。这些开关矩阵部分的每一个分别将一相关的存储器子阵列的各个读、写、压入、弹出和编程数据线结构30、32、34和36的数据送到辅助I/O总线38成一垂直邻接的存储器子阵列的对应数据线结构。
图6A中读位线开关矩阵部分106包括N个开关矩阵部件1141-114N,其中N等于写存储器子阵列12相关的一数据字宽度中的位数。开关矩阵部件114各自将相关的读位线层次结构1081-108N的读位线的特定层次有选择地耦合到相关的读位线互连线1101-110N(例如参见图1B,向I/O路径选择矩阵16z+1提供至读线40的相互耦合)以将相关的读数据传送至对应的I/O路径选择矩阵16。此外,每一开关矩阵部件114均是可编程的,从而将其相关读位线层次结构108的第一级读位线H1有选择地耦合到一相关的邻接存储器子阵列的对应的第一层次的读位线1121-112N
类似地如图6B中所示,写位线开关矩阵部分116具有N个写位线开关部件1241-124N,用于有选择地通过一相关的I/O路径选择矩阵16将数据由辅助I/O总线38送到相关的写位线层次结构1181-118N的选择线。写位线开关部件1241-124N将互连线1201-120N(例如参看图1B,由I/O路径选择矩阵16z+1至写线42的相互耦合)有选择地耦合到相关的写位线层次结构1181-118N的选择层次的写位线。另外,在各写开关矩阵部件124还将接近其相关存储器子阵列12的写位线层次结构118的第一层次写位线有选择地相互耦合到其垂直邻接的存储器子阵列12的其对应的第一层次写位线1221-122N
现在再看图6C,压入开关矩阵部分126具有N个压入开关矩阵部件1341-134N,用于将一给定存储器子阵列12的压入数据线有选择地相互耦合到相关的互连线1301-130N(参看图1B的相互耦合压入线44)以便将数据通过I/O路径选择矩阵16由辅助I/O总线38传送至与该给定存储器子阵列12相关联的堆栈。此压入开关矩阵部件134另外也可加以编程来将压入输出1281-128N分别相互耦合到压入输入1321-132N,以便能将由其下面的垂直邻接的存储器子阵列接收到的压入数据传送到该给定存储器子阵列。从而各存储器子阵列12可以或者通过I/O路径选择矩阵16和互连线130从辅助I/O总线38有选择地接收压入数据、或者通过相关的互连线132由其下面的垂直邻接存储器子阵列有选择地接收压入数据。
图6D的弹出开关矩阵部分136与压入开关矩阵部分126相似,但是以相反的状态操作,不是将数据压入,而是将数据弹出一相关的存储器子阵列12。弹出输出1401-140N启动弹出数据(参看图1B,沿着对应的相互耦合弹出线46)通过一相关的I/O路径选择矩阵16传送到辅助I/O总线38。辅助弹出输出1421-142N启动到其下面的垂直邻接存储器子阵列的相关弹出输入的耦合。弹出输入1381-138N被耦合到其相关的存储器子阵列的弹出输出,以接收被弹出其堆栈的数据。各开关矩阵部件144可按照其相关的配置数据进行操作将相关的弹出输入138有选择地耦合到弹出输出140以便向辅助I/O总线38发送弹出数据,或者耦合到辅助弹出输出142。
参看图6E,编程位线开关矩阵部分146主要包括在一存储器子阵列的编程位线1501-150N与一邻接存储器子阵列的各个编程位线1481-148N之间的有选择的互连线1521-152N,或在一优选实施例中,仅仅是硬件的连结。在另外一种方式下,对于此垂直堆栈的第一位线路径选择矩阵14,此编程位线开关矩阵部分146提供状态机存取端口24的编程位线与存储器子阵列121之间有选择的相互耦合。对矩阵部分146的输入1501-150N进行耦合,以用来由其下面的邻接存储器阵列、或者由状态机存取端口24接收数据。位线路径选择矩阵14的输出1481-148N被耦合到编程位线结构36的各个连结(图1B)以发送数据到其相关的存储器子阵列12。选择性的互连线1521-152N按照相关的配置数据提供输入150与相关的输出148之间的有选择的耦合。另外,这些选择性的互连线仅仅是硬件接收连接。
在概括地说明了位线路径选择矩阵14之后,下一部分更详细地说明位线路径选择矩阵的各种开关矩阵部件。读位线开关部件
参看图7,读位线开关矩阵部件114对一存储器子阵列的给定列的存储器单元具有多个耦合到一相关读位线层次结构108的各不同层次读位线RBLH1、RBLH2、RBLHX的输入。开关矩阵114选择一特定的层次位线以接收欲被送往辅助I/O总线的数据。对一给定列存储器单元,读位线层次结构108包括有第一层次读位线RBLH1,第二层次读位线RBLH2,和直至一全局层次读位线RBLHX的附加层次线。一般,第一层次读位线RBLH1与一单个存储器子阵列12的一列存储器单元相关联。最好是一个MOSFET的选择性的耦合器54可作有选择地编程来将一存储器子阵列的第一层次读位线RBLH1互连到输出112,该输出被耦合到一垂直邻接存储器子单元的对应的第一层次读位线。MOSFET 154的栅极根据配置数据156被驱动。选择性的互连装置158,亦即一多路器,按照其配置数据160将其输入之一有选择地耦合到输出110以便向相关的I/O路径选择矩阵16和辅助I/O总线38传送读数据。多路器158的输入被耦合到读位线层次结构108的各个层次位线,包括垂直邻接存储器子阵列的相关的第一层次读位线112。在此说明的图中,其中带有十字的圆圈,例如156和160,还是代表对它们的可配置的装置提供相关的驱动信号的配置数据。
为有助于读位线结构的配置,双向多路器162和164提供各不同层次读位线间的选择性的双向相互耦合。例如,高层次读位线RBLH2,RBLH4可经配置数据通过多路器164有选择地耦合到一给定存储器子阵列12的第一层次读位线RBLH1,或者经其数据通过多路器162有选择地耦合到垂直邻接的存储器子阵列的第一层次读位线112。不消说,上述多路器中每一个还包含不选择任何输入的配置,此时每个输入和输出均被置于高阻抗的开路状态。写位线开关部件
参看图8,写位线开关距阵部件124与该位线开关矩阵部件114类似,在一存储器子阵列的一给定列存储器单元的写位线层次结构118与相互耦合写线42(图1B)之间提供有选择的相互耦合,用以确定通过相关的I/O路径选择矩阵16由辅助I/O总线38接收到的写数据路径。写位线层次结构118包含一第一层次写位线WBLH1,它与一单个存储器子阵列12中的一给定列存储器单元相关联。此第一层次写位线WBLH1可经选择性的耦合器166耦合到一垂直邻接存储器子阵列的对应的第一层次写位线122。
输入120通过一相关I/O路径选择矩阵16由辅助I/O总线接收写数据。选择耦合器168,例如一1/N驱动器,将此写数据有选择地送往其输出之一,这些输出耦合到写位线层次结构118的各个写位线,包括该垂直邻接存储器子阵列的第一层次写位线122。选择性的双向多路器170和172提供各不同层次的写位线之间的选择性的双向相互耦合。例如第一层次写位线WBLH1和122可分别通过170和172被有选择地相互耦合来驱动其他较高层次写位线WBLH2,WBLH4。这些多路器的每一个按照其相关的配置数据提供其各自的耦合配置。在利用读位线开关矩阵部件的多路器时,上述1/N驱动器和多路器包括有不作任何选择的配置状态。
关于数据位线层次结构,整个FPMA的一给定列存储器单元的层次结构的第一层次位线在各存储器子阵列边界处被分开。较高层次的位线,例如H2和HX跨越多重子阵列。例如,第二层次写位线WBLH2最好用于二个存储器子阵列1121和1122。一选择性耦合器(未示出),类似于MOSFET 166,可同样地被用来在与最初的二个存储器子阵列,如121和122,相关联的第二层次写位线WBLH2和与随后的二个存储器子阵列,例如123和124,相关联的对应的第二层次写位线之间提供有选择的耦合。最后,最高层次写位线,例如WBLHX,最好用于所有的存储器子阵列作为一全局位线。这样的位线结构108和118被用于现场可编程存储器阵列10的存储器子阵列1至N列中的每一列;读位线的层次结构延伸穿过FPMA,就象写位线那样。下面讨论另外的层次结构。压入/弹出开关矩阵部件:
参看图6C和9,压入开关矩阵部件134各包括二个选择性耦合器、三态缓冲器174和MOSFET 176。三态缓冲器174位于输入130与输出128之间。输入130被耦合到相互耦合压入线44,通过相关的I/O路径选择矩阵16由辅助I/O总线接收压入数据。三态缓冲器174按照其配置数据将这样接收到的压入数据有选择地传送到输出128,以驱动一列相关存储器阵列的压入输入。MOSFET 176有选择地耦合输出128和输入132,以便在一给定列内将由一其下面的垂直邻接存储器子阵列接收到的压入数据传导至相关的存储器子阵列的压入输入。
弹出数据开关矩阵部件144,如图6D和10所示,与压入开关矩阵部件134(图9)类似,所不同的是数据以反方向流动。弹出输入138由其相关的存储器子阵列的弹出输出接收数据。将此所接收的数据有选择地耦合到一在其下面的垂直邻接存储器子阵列的对应弹出输入,或者可以向着辅助I/O总线38(图1B)被有选择地驱动出输出端140。三态缓冲器178有选择地耦合输入138和输出140,后者被耦合到相互耦合弹出线46的一条选择线,以便将接收的数据向相关联的I/O路径选择矩阵16的辅助I/O总线38传送。MOSFET 180按照其相关的配置数据提供输入138和输出142之间的选择性的耦合,以便在一给定列内将由相关的存储器子阵列的弹出输出接收到的接收数据传送给其下面的垂直邻接子阵列的弹出输入。
在FPMA 10由不设置压入/弹出垂直数据移动的本发明的实施例中,不提供此位线路径选择矩阵14的压入开关矩阵部分126和弹出开关矩阵部分136。编程开关矩阵相互连接:
图6E的选择性相互连接152最好是邻接存储器子阵列的各个编程位线之间的简单的连接“线”。在将FPMA与一现场可编程门阵列FPGA结合在一起应用的本发明的一特定应用中,编程位线被相互连接来扩展与FPGA的配置逻辑相关联的状态机的寻址能力相适应的FPMA的存储器空间。换句话说,在各个存储器子阵列之间提供这些编程(初始化)位线的相互耦合,使得编程数据能够访问那些能在FPGA的状态机的可寻址空间之内寻址的FPMA的区域。在FPMA之外,编程位线与将配置数据送入例如SRAM的FPGA的配置存储器以对FPGA的可编程资源进行配置的转移相关联。从而,FPGA的状态机在其编程配置期间,在经相关的相互耦合装置152启动时,能通过状态机存取端口24和相关的编程位线访问FPMA的深层次存储器。
在说明了子阵列位线结构的位线至各个I/O路径选择矩阵的有选择的耦合之后,下面讨论I/O路径选择矩阵怎样将被选择的位线有选择地相互耦合到辅助I/O总线38。
如图1A和1B中所示,I/O路径选择矩阵16-16z+1相互连接相互耦合线40、42、44、46,以便确定被相关的位线路径选择矩阵141-14z+1分别选择的信号通往辅助I/O总线38的选择线的途径。参看图11,各I/O路径选择矩阵16具有在辅助I/O总线38至相互耦合线40、42、44、46间提供交叉耦合的写开关1 82和读开关184,用于传送信号至/从相关的位线路径选择矩阵。写数据依靠写线相互耦合装置42被送出I/O路径选择矩阵16至其相关的位线路径选择矩阵14。同样,读数据相互耦合装置40将由一选择存储器子阵列读到的数据输送到I/O路径选择矩阵16。对于在各个存储器子阵列内数据能作垂直移动的本发明的实施例中,将压入数据通过压入相互耦合装置44和其相关的位线路径选择矩阵14从I/O路径选择矩阵16送往一相关的存储器子阵列。由弹出相互耦合装置46提供类似的弹出数据接口。
I/O路径选择矩阵的写开关182在作写和压入功能操作期间用于将来自辅助I/O总线的数据送到相关的位线路径选择矩阵。图1中仅表示出二个写I/O路径选择矩阵开关1821、1822,将分别来自辅助I/O总线38的各个层次数据线结构1861、1862的数据耦合到写线相互耦合装置42的各个写数据线。但不消说,应用N个这样的写I/O路径选择矩阵开关182,使得写线相互耦合装置42的N条线的每一条均能被有选择地耦合到辅助I/O总线38的一对应层次数据线结构186。同样,虽然仅表示有一个写I/O路径选择矩阵开关182Q-1将来自层次数据线结构186Q-1的数据送到压入互连装置44的一选择线,不消说,应用N个这样的写I/O路径选择矩阵开关182称相互耦合装置44的N条压入线的每一条耦合到辅助I/O总线38的相关N层次数据线结构186。提供同样多的开关来将读相互耦合装置40和弹出相互耦合装置46的各个信号线相互耦合到辅助I/O总线38。
辅助I/O总线38具有Q层次数据线数据1861、1862…186Q。各层次数据线结构186由图12中所示的多个层次信号线H11、H12、H2…HX组成。第一层次数据线部件,例如H10、H11,沿各个存储器子阵列延伸并且有经各存储器子阵列的边界。最好为一MOSFET的通过门188按照其相关的配置数据提供邻接的第一层次数据线如H10和H11之间的有选择的耦合。此给定层次结构186的第二层次线H2沿多个相关的第一层次线H1延伸。层次结构186的最高层次I/O线HX提供一跨越所有相关的低层次I/O线、和因而所有相关的FPMA的存储器子阵列的全局I/O线。I/O路径选择矩阵16的各写开关182包含1至R个多路器1901、1902…190R,将相关的相互耦合网络例如40、44的R条信号线之一有选择地耦合到此特定的层次I/O数据线结构186。R可取1至N间的一个值,其中N等于相关的相互耦合网络的行数,并相当于一相关存储器子阵列的数据宽度N。写开关182的多路器190将一相关层次结构186的一选择层次I/O线有选择地耦合到其相关的相互耦合网络例如40或40的一选择信号线。各多路器190按照其相关的配置数据提供选择性相互耦合,其中可包含一个都不选择的情况。
读I/O路径选择矩阵开关184(图13)具有类似于写I/O路径选择矩阵开关182的柘朴布局,不同之处在于以选择性驱动器192来代替选择性多路器190,以便有选择地将数据分别从读和弹出互耦装置,40和46,驱动到辅助I/O总线38。各选择性驱动器1921、1922…192R均具有多个耦合到辅助I/O总线38一给定层次结构186的各不同层次线的输出。选择性驱动器192按照相关的配置数据来提供这样的选择性耦合。在一种配置状态中,选择性驱动器192不驱动任何输出,此时所有的输出均呈现开路的三态状态。通常此R个选择性驱动器192中仅一个经读开关184提供对其相关的层次结构186的耦合。MOSFET 188′类似于以上关于写开关的MOSFET 188所描述的,按照其相关的配置数据提供第一层次信号线H10和H11间的选择性耦合。
在本发明的存储器子阵列中不要求作数据垂直移动的一实施例中,不包含有I/O路径选择矩阵的弹出和压入资源。I/O
参看图1A、1B和14,各I/O块18提供主I/O总线26与辅助I/O总线38之间的选择性相互耦合。辅助I/O总线38也由Q个各自层次的I/O数据线结构1861、1862…186Q构成。一给定的I/O块18的各I/O单元1941-194P包含主I/O总线26的特定数据线与辅助I/O总线38的选择I/O线之间的写互连装置196。同样,各I/O单元194包含主I/O总线26的某些线与辅助I/O总线38的其他选择I/O线的读互连装置198。
如图15中所示,各I/O单元194均具有一个用于将数据通过读互连装置198由辅助I/O总线38传送到主I/O总线26的读端口200,和一将数据通过写互连装置196以相反方向由主I/O总线26向辅助I/O总线38传送的写端口230。在其最简单的实施方案中,读端口200包括多路器204和选择性驱动器208,其中选择性驱动器208的输入202直接耦合到多路器204的输出206。多路器204具有多个连接到辅助I/O总线38的各个不同I/O信号线的输入端。总的说,这些I/O信号线均为辅助I/O总线38的一个层次结构186。因而多路器204的输入耦合到各个层次结构186的各个不同层次信号线,而多路器204则通过相关的配置数据被控制来有选择地连接具一个给定线。选择性驱动器208按照其相关的配置数据用在其输入端202接收的数据有选择地驱动读互连装置198之一。另外,可对选择性驱动器208编程使之不驱动任一输出,此时这些输出即被维持为开路的三态状态。
在读端口200的另一实施例中,在多路器204的输出206与选择性驱动器208的输入之间设置任选的锁存/极性变换电路210。此锁存/极性变换电路210除选择性的极性变换外还能锁存读数据。多路器204的输出206被耦合到触发器222和反相器228的数据输入以及多路器224的第一选择输入(通过226)。多路器224在其第二和第三选择输入分别接收触发器222的正常的和反相的输出,并具有一为反相器228驱动的第四选择输入。多路器224按照相关的配置数据将其选择输入之一耦合到选择性驱动器208的输入202。这样,多路器224的配置就决定读端口200是否提供锁存和/或极性变换功能。
在支持读端口200内的任选锁存能力中,触发器222从多个源中的一个接收一个时钟输入。多路器212按照其相关的编程位对来自辅助总线38的两I/O线之一的时钟输入进行有选择的相互耦合。多路器212的输出驱动多路器214的两个输入,一个是以直接的方法而另一通过反相器216。多路器220从主总线26的两根线之一有选择地接收一读时钟。按照其编程位,多路器220有选择地耦合一被选择的时钟输入,用于驱动多路器214的两个附加输入,一个以直接的方式和另一经反相器218反相。多路器214本身又按照其相关的配置状态用从主总线或辅助I/O总线接收到反相的或未经反相的时钟信号驱动触发器222的时钟输入。这样,在运行中,读端口200用从辅助总线38的一选择线接收到的读数据驱动主I/O总线26的一选择线。在其另一个方面,读端口200有选择地使通过其的数据反相和/或以一来自主总线或辅助总线的有选择地反相/未反相时钟锁存此数据。
写端口230与读端口200类似,所不同的是数据是以相反方向由主I/O总线26的选择线向辅助总线38的选择线移动。多路器234的多个输入通过相关的写互连装置196耦合到主I/O总线26的选择线。在读端口200的实施例的一个方面,多路器234的附加输入以硬接线方式成为预定的偏置状态,例如接地和/或Vdd。多路器234按照其相关的配置数据将这些不同输入之一耦合到其输出236。输出236驱动第二多路器242的两个独立的输入,一个以直接的方式而另一个通过反相器240。多路器242按照其相关的配置对写数据作有选择的极性变换,并以有选择地反相的/未反相的写数据来驱动选择性驱动器232的输入238。选择性驱动器232的多个输出耦合到一辅助I/O总线38的相关的写层次结构186(图14)的各个层次信号线。选择性驱动器232按照其相关的编程位用在其输入端238接收到的写数据有选择地驱动选择层次线之一。在一种配置状态中,选择性驱动器232不选择任一输出,而使它们置于开路的三态状态。
在运行中,参看图14,各I/O块18的各个I/O单元1941、1922…194P中每一个均与辅助I/O总线38的对应写和读位线层次结构相关联,并同样与主I/O总线26的对应读和写路径选择结构相关联。按照相关的配置数据,I/O单元将辅助I/O总线的相关位线层次结构的选择信号线与主I/O总线26的选择数据线结构作有选择的接口。I/O单元数P等于或大于一子阵列字的位宽数(N)。因而,I/O块18的附加I/O单元可用来协助各不同子阵列间的数据的路径选择,或进行时钟的再分配或其他的数据管理任务。
参看图1和1B,各I/O块18可全局地将例如来自主I/O总线26的8条数据线耦合到辅助总线38的相关写信号线,并能将来自辅助总线38的附加的8条读数据线耦合到主I/O总线26的对应信号线,从而为各个存储器子阵列14提供各自在主I/O总线上的读/写接口。如果各存储器子阵列14具备(通过各自的位线路径选择矩阵22和I/O路径选择矩阵16)至辅助总线38的相关的I/O数据线层次结构186各自的第一层次信号线的读/写耦合,而且此各个层次结构的第一层次信号线是相互独立的,则各存储器子阵列就可以通过辅助总线38的I/O位线层次结构186的相关的第一层次信号线相对于其他的存储器子阵列作并行的或分离的接口。假定每一I/O块18设置由辅助总线38的相关的I/O数据线结构的各自的第一层次信号线至主I/O总线26的独立的信号线的读写互连,则各个的存储器子阵列的读/写数据接口就被相互并行地配置在主I/O总线26上,将FPMA 10配置成一很宽的RAM功能单元。如这里在另外场合所指出的,在一单个的FPMA中有可能作成多重宽度/深度的RAM配置。
在另一个实施例中,FPMA10被配置成一个深的RAM功能单元。例如一单个的I/O块将辅助总线38的各个I/O数据线层次结构的各自的高层次读/写数据线耦合到主总线26的相关信号线。此高层次数据线提供到FPMA 10的全部存储器子阵列12的全局接口。从而使得存储器子阵列12的每一个的M个字(宽N)经适当的独立的寻址有选择地接口到辅助I/O总线38的数据线层次接构的共用全局信号线。仍如这里及其他场合所指出的,这里所揭示的FPMA结构同时支持多重宽度和/或深度的RAM划分。
可以理解,主I/O总线26包括有多种范围可变和/或层次不同的路径选择信号线,以便传送数据至相关的I/O端口(未作出),和/或同一集成电路内的其他电路,或从上述的I/O端和/或电路传送数据。例如在前面引用的特定应用中,其中FPMA 10与一现场可编程门阵列(FPGA)结合一起,一方面,FPMA 10的主总线26仅仅被作为FPGA-I/O总线(图中未作出)的延伸。而在另一方面,FPMA的主总线26提供一仅在其间传送数据的边界接口。因而在这种应用中,主I/O总线26交叉多路复用(图中未作出)到FPAG的I/O路径选择资源。另一种数据接口配置
在上述提供的公开内容中,辅助I/O总线38的可编程层次结构186和可编程读/写位线层次结构30、32主要为在主I/O总线26与FPMA 10的存储器子阵列12的相关列的存储器单元之间传送数据提供两个自由度。本说明的下一部分介绍一种存在于第一和第二方面中另一种数据路径选择解决办法,其中辅助I/O总线38和相关的读/写位线层次结构30、32相互重叠,使FPMA的存储器单元的接口处的二个自由度之一被消除。
在以上的说明中,参看图2A、2B、7和8,读/写层次位线结构108/118各包含用于作相关的低层次信号线之间有选择的相互耦合的各自的MOSFET 154/166,其低层次线在子阵列边界间被分割。此外,选择性的层次相互耦合多路器162、164/170、172提供各个层次结构的不同层次线间的选择性双向相互耦合。选择性驱动器52和多路器54(图2B)提供各个位线层次结构108/118的选择线与相关存储器子阵列的对应的内部位线56/58间的各个写和读接口。
在另一种位线层次结构中,中间层次信号线可能被重叠,例如图16中的H2。此外,低层次段与相关的层次相互耦合多路器间的选择性相互耦合MOSFET被省略掉。参看图16,四个存储器子阵列121、122、123、124分别与各自的读和写位线层次结构108′、118′相关联,以便将数据接口到存储器子阵列一给定列的存储器单元。读和写位线层次结构108′/118′各自包含四个分开的跨越相关的存储器子阵列的第一层次段H1。第二层次段H2跨越三个连续的存储器子阵列并具有各自的跨越二存储器单元的重叠区(相互间的)。第三层次信号线(读和写)H3为跨越四个存储器子阵列的全局位线。
如上所述,参看图2,选择性驱动器521将其内部读位线561的数据有选择地传送到其相关的/接近的层次结构181的分开的层次信号线之一。因而,对照图16,选择性驱动器52所需的输出端的数目为四,但对其他实施例可以比这个数目或多或少。例如,存储器子阵列122有选择地驱动四个不同层次段之一以发送出在由其相关的存储器子阵列122读得的数据。同样,选择性耦合器(多路器)54,有选择地耦合此相关/接近的层次结构1181的四个层次段之一到内部写位线581以便将数据写入相关的存储器子阵列122
图16的位线层次结构各自包含三级层次H1、H2、H3。在存储器子阵列数增加时,如图17中所示,层次结构的级同样要增加。图17中,八个存储器子阵列分别与相关的读和写位线层次结构108′和118′相接口,其中每一个具有四级层次H1、H2、H3、H4。同样,第二层次段H2互相重叠,重叠区跨越二存储器子阵列。另外,如果子阵列数和层次信号线数进一步增加,就将设有附加的中间层次信号线的重叠。不过在其他实施方案中,并非所有层次均需这样的重叠。
图18A和18B较详细地表明用于由例如存储器子阵列124至主I/O数据总线26的一主I/O信号线(图15,通过选择性驱动器208)传送读数据的读位线层次结构108′和相关的数据路径。一存储器子阵列124的给定存储器单元由一相关的被寻址的字线(未示出)启动,从而在其相关的内部读位线561上驱动其中存储的数据。各种不同层次结构信号路径可用来将这一数据(在由存储器子阵列124读取时)传送到其相关的I/O块184的一I/O单元194(图14)的读端口200′。对于第一层次级H1,内部读位线561的数据在当MOSFET 246的栅极被相关的第一层次时钟CLKH1启动时,被输送通过反相器24并经MOSFET 246被计时而送进锁存器248。此第一层次时钟经由与读取存储器子阵列相关的读时钟产生(如下面参照这另一种数据接口配置的第二个方面更全面地解释的)。锁存器248的数据按照相关的配置数据通过三态反相器256有选择地输出到读端口200′。在由存储器子阵列124读取一数据字时,每一个与该字的每一位相关联的三态反相器256均根据同一配置数据进行控制。同样,第一层次时钟CLKh1被同时施加到第一层次选择性耦合器,就象与MOSFET 246同样,关联到该字中的其余位。当三态反相器256被启动时,读数据即通过读位线层次结构的第一层次信号线H1被传送到读端口200′。
第二和第三层次位线H2和H3分别提供将数据传送至读端口200′的另一种数据路径。反相器250接收内部读位线561的数据并将经过反相的数据分别向相关的MOSFET选择开关252和254发送。MOSFET选择开关252包括第一和第二MOSFET装置,其各自的沟道串接在地和相关的H2位线之间。第一MOSFET装置由第二层次选择配置数据启动。在选择开关252的第一MOSFET的栅极经第二层次选择配置数据启动时,第二层次位线H2按照在由内部读位线561读出的、控制选择开关252的第二MOSFET的栅极的数据,或者被放电,或者不被放电。类似的选择开关252对穿过相关的存储器子阵列124的其他内部读位线562、563…56N的每一个均加以设置,以便将其数据有选择地耦合到对应的层次位线结构的各自的第二层次位线。同一存储器子阵列的每一选择开关252共用同一配置数据,  因而被有条件地作为一个字同时启动。MOSFET选择开关254对应于选择开关252,具有类似的功能,它用于在经其第三层次配置数据启动时按照内部读位线561的读数据来驱动第三层次位线H3。在一给定的存储器子阵列内,MOSFET选择开关252和254由相关的层次配置数据有选择地启动。对不同的存储器子阵列,选择开关252和254由对各存储器子阵列唯一的相关层次配置数据有选择地启动。因而,可以合在一起考虑三态反相器256和MOSFET选择开关252、254,将其替代图2B的选择性驱动器521
第二和第三层次位线H2和H3,分别通过各自的P沟道MOSFET装置(选择性耦合器)258和256被预充电成高电位。(内部位线56,以及第一层次线H1,可同样加以预充电)。MOSFET装置258、260将相关的位线H2、H3有选择地耦合到高电源,以便按照在其栅极上接收到的相关的第二和第三层次预充电信号来对位线充电。只要各个位线不由适当的读数据和配置数据通过MOSFET选择开关252和254放电,被充电的位线H2、H3一直保持充电状态。在读操作期间,顶充电FET258、260被截止,噪声抑制P沟道MOSFET 262、264由各自的反相器266、273驱动以维持相关的第二和第三层次位线处于被充电状态,除非为一读放电操作所压住。噪声抑制FET 262、264的沟道导通电阻被作成大于选择开关252、254的串联MOSFET的组合串联导通电阻,以便使选择开关(由适当的读操作)能使各个位线H2、H3放电,以压住各个噪声抑制FET262、264的电流源的能力。
反相器266、MOSFET 268、锁存器270和缓冲器272被串接在H2位线与各个I/O块18的相应I/O单元的读端口200′的相关的第二层次输入之间。运行中,一RAM读时钟启动一适当序列的预充电信号(例如,PRECHARGEh2和PRECHARGEh3分别驱动MOSFET 258和260),以及可启动第二或第三层次时钟(分别驱动MOSFET 268和274)用来将相关的读位线数据锁存进各自的锁存器270和276。缓冲器272/278按照各个锁存器270/276的锁存数据驱动相关的I/O块的各个第二和第三层次输入。
对位线系统的输入也可依靠由子阵列的地址单元产生的高阶启动信号来作门控。
为简单起见,将与存储器子阵列121、122、123相关联的读位线层次结构108′的附加的重叠第二层次位线在其与图14所说明的第二层次位线H2的重叠关系上未加表示。但应当理解,这样一附加第二层次位线(如参照图17所说的但在图18中未加表示)连同用于驱动相关I/O块的对应的第二层次输入的相关的MOSFET选择开关和预充电/驱动电路一起是存在的。此外还应理解,存储器子阵列121、122、123具有与存储器阵列124相关联的对应的反相器244、MOSFET 246、锁存器248和三态反相器256,用于将各个内部读位线的相关的第一位读数据传送到各个I/O块的对应的第一层次输入H1。下面说明在进一步将读数传送至主I/O总线26时的一I/O块18的I/O单元194的读端口200′的操作。
图18的读端口200′类似于I/O块18的I/O单元194的读端口200,(例如与存储器子阵列124相关联的I/O块184)正如上面参照图1A、1B、14和15所描述的。不消说,对应的读端口200′被设置在与存储器子阵列123、122、121相关联的各个210块183、182、181(未表示出)中。三态缓冲器256、280和282将数据由各个H1、H2、H3层次位线有选择地传送进相关的读端口200′。这种三态反相器的组合可合在一起看作提供与多路器204相同的功能,如上面15所说明的。一般说,由相关的配置数据仅选择三态反相器中的一个,用于通过缓冲器284将读数据传送到选择性驱动器208的输入。选择性驱动器208按照其相关的配置数据驱动其相关的互连线198的一选择输出到主I/O总线26(图1A和1B)。
在本发明的另一种读数据接口配置中,读数据在由相关的层次位线接收到时被锁存进各自的层次锁存器248、270、276。因而如上面参照图15所说明的,前面描述的读端口200中设置的触发器222的任选的锁存能力,就不包含在另一种读端口200′中。
而且,这一为确定由给定的子阵列至相关的I/O块的数据路径的另一种数据接口配置消除了在选取读数据路径上的一附加的自由度,否则就要由位线路径选择矩阵14的多路器158(图1A、6A和7)和I/O路径选择矩阵16的对应读路径选择矩阵开关184(图1A、11和13)来提供这种功能。这样,该另一种数据层次路径选择实施方案就以减少路径选择能力、即减少自由度作代价来减少电路复杂性。
为将数据写入一存储器子阵列的另一种数据接口,如图19中所表明的,与上面参照图18所述的用于读取数据的接口相同。用于一存储器阵列的字宽的单个位的写位线结构118′包括:一最高层次的全局位线H3;两个具有重叠关系的中间层次位线H2;和第一层次的四个局部位线H1。这些不同层次的位线提供由相关的I/O块的写端口230的各个层次的输出有选择地耦合进入存储器子阵列。对存储器子阵列的整个字宽N上的每一位均设置同样的写位线结构。
假定写端口230′为属于与存储器子阵列124相关联的I/O块184的一I/O单元194的。多路器234可根据相关的配置数据进行编程以便将其多个输入的一个有选择地相互耦合到其相关输出。使多路器234的多个输入196相互耦合到主总线26的选择行(图1A和1B)。多路器234也可有选择地供给一固定的输出。多路器234的此输出被耦合到一由反相器240结合多路器242构成的选择性极性反相电路。此极性反相电路按照多路器242的相关的配置数据有选择地使所通过的信号反相。
多路器242的输出238驱动选择性驱动多路器232的输入,此多路器232由反相器286和288以及三态反相器290和292组成。反相器286以由多路器242接收到的写数据来驱动反相器288和三态反相器290和292。反相器288的输出驱动与存储器子阵列124相关联的第一层次H1写位线。三态反相器290的输出耦合到重叠的第二层次H2位线之一。三态反相器292的输出驱动全局层次位线H3。
将会理解,对于I/O块的写端口230′(图中未表示),例如183,182,将与第二层次位线的重叠区相关联,被设置有一附加的三态反相器(图中未示出)以便能有选择地耦合到其他的重叠的第二层次位线H2。另外,一给定写端口230′的配置数据被共用于与相关的I/O块的存储器子阵列的宽N的其余位相关联的所有对应的可编程资源(除234外,因为在耦合到外部接口时路径选择需要更加灵活)。多路器54按照其相关的配置数据由写位线层次结构的一信号线有选择地输入数据,以传送数据至其相关存储器子阵列的内部写位线581。同一配置数据被用于在整个存储器子阵列的宽度N内对类似的多路器541、543…54N(未示出)进行配置。
在本实施例的另一个方面,包含有一缓冲器(未示出)用于在驱动内部子阵列位线581之前对相关的层次位线H2和H3的数据进行缓冲。这样的缓冲器有助于降低各个层次位线的节点电容,特别是在每一相关的存储器阵列被配置成使它们内部写位线耦合到同一层次位线,如H3时,因为需要对FPMA提供深度的RAM配置。
运行中,多路器234根据其相关的配置数据由其输入196之一接收写数据。被接收的写数据通过极性变换电路240、242,后者按照其相关的极性配置数据有选择地改变读数据的极性。选择性驱动多路器232将此写数据传送到相关的第一层次H1位线,并按照相关的层次配置数据分别将同一写数据有选择地传送给第二和第三层次位线H2和H3。接着多路器54由相关的写位线层次结构的适当位线选择写数据,并将这一写数据发送给其内部写位线581
为简单起见,图19未说明与存储器子阵列121、122、123相关的I/O块的写端口。同样,也未表示出与提供写数据到重叠的第二层次位线H2这一点相关联的I/O块的写端口的三态反相器。此外,还应理解,相关的存储器子阵列121、122、123的各多路器54使其各自的第一层次信号线H1被耦合,以便由相关的I/O块的对应写端口(未表示出)接收写数据。
在本发明的另一个方面,存储器子阵列的每一内部读位线均配有与前面参照图18的第二和第三层次读位线所揭示的预充电/放电布局相同的预充电/放电数据传输线路。存储器子阵列的一被寻址的字线将根据与一内部位线和此被寻址的字线相关联的一存储器单元的数据内容启动此内部位线作有选择的放电。依靠对内部读位线结构作这样一种预充电/放电的配置,因而可将存储器子阵列的内部存储器单元作得较小,无需用于对各个内部位线进行放电或充电的很大的驱动器。提供简化的读位线接口的另一种读俘获锁存布局:
可编程读位线层次结构108′,如参照图16、17、18A、18B所述,采用独立的锁存器例如248、270、276来将各个层次位线的每一个连系到相关I/O块18的I/O单元的读端口200′的各个层次输入。在用于连系该存储器子阵列的另一个实施方案的第二个方面,可编程读位线结构108′包含一种经改善的单一锁存器布置的解决方案,可免除对多个锁存器的需求。
参看图20,一读位线层次结构108′类似上面参照图17的表明和描述的,对有选择地从8个不同的存储器阵列121、122…128的一给定列存储器单元的存储器单元的读出数据进行传送。图20中未表示出各子阵列的内部位线与接近它的层次结构的不同相关层次位线的有选择的耦合。因而可以明白,如上面参照图2A、2B、16和17所说明的,选择性驱动器52(或其相当部件)按照相关的配置数据将相关的内部读位线56的数据有选择地传送到各个层次结构108′的分离的层次位线。而且,应再次指出,如图20中所示的位线结构108′仅提供对一列存储器单元的数据接口,该列代表此可编程存储器阵列N位宽度中的一位,而对应的读位线层次结构108′则同样地用于整个存储器阵列宽度的每一个其他列。
图20和21示出读俘获锁存器组4001、4002…4008,各个I/O块的和靠近各个存储器子阵列121、122…128的该位线层次结构108′相关联的中间读端口′2001′、2002 ′…2008′。一锁存器组400的锁存器单元4011、4012…401N各具有耦合到各个读位线层次结构1081′,1082′…108N′的相关层次位线的层次输入。此锁存器俘获与由时钟发生器404所产生的各个层次俘获时钟408相同步的相关读数据。锁存器组400锁存的数据通过互连线4021、4022…402N被传送给各个I/O块18的读端口200′。时钟发生器404按照相关的层次配置数据在输入端406接收读定时信号并产生各个的层次俘获时钟408。
接收到一给定的层次俘获时钟412后,延时反相器410产生一经延时和反相的俘获时钟的表征414,并被送往时钟发生器404以清除各个层次俘获时钟。因而,时钟发生器404与延时反相器410一起在产生俘获时钟中提供一种快速操作。
参看图22,时钟发生器404由多个其时钟由各自的“与”门416驱动的触发器418h1、418h2…418h4组成。各“与”门416具有一耦合到一定时读位线层次结构406的一相关层次位线的输入,和一按照相关层次配置数据被驱动的第二输入。因而,此相关层次配置数据决定哪一层次俘获时钟408将产生,和相应地将从哪一层次位线接收读数据并锁存在各个锁存器组400中。
运行中,例如“与”门416h1由相关的第一层次定时位线406h1接收一上升沿。假定此特定“与”门被启动,此上升沿就被发送到触发器418h1的时钟输入。在将其数据输入变成高态时,触发器418h1转变为高态,在其输出端408h1送出一高逻辑信号作为第一层次俘获时钟。锁存器组400接收此第一层次俘获时钟,该时钟启动锁存器组400按照相关的第一层次读位线更新其内容。延时反相器410在接收到第一层次俘获时钟的上升沿后产生经延时的复位信号,通过互连线414将其送到触发器418h1的复位输入端以清除其输出。也可以利用下降沿检测。
在时钟发生器的另一实施例中,触发器418具有各个由异步一锁存一配置数据驱动的SET(置位)输入,用于提供交替异步的与读多路器52(图2B)和多路器204/208(图15)相关联的组合读操作。当SET输入被恰当地驱动时,触发器418提供高输出,其中锁存器作为通过装置运行。对于不需异步操作的实施例,这些SET输入即不必由相关的异步-锁存-配置数据驱动,因可以不予考虑或者将其连接到一固定电平以便能正常运行。
图23给出了俘获锁存器401的一给定单元的细节。反馈耦合的反相器420提供接收和保持数据的基本锁存装置。多个MOSFET 409提供对锁存器420的输入的通过门的操作。MOSFET 409的栅极由各个层次俘获时钟408驱动以便对锁存器402的输入进行有选择耦合,从而接收读位线层次结构108′的相关层次位线的数据。反相器407在各个层次位线h1、h2…h4与锁存器420之间提供缓冲。另外,反相器407具有为改变锁存器420的状态的足够的驱动能力,亦即每一个均具有比锁存器420的反馈反相器大的电流源/吸收的能力。最后,在驱动相关的I/O块18的读端口200′中,三态反相器422在经相关的锁存器配置数据启动时,发送出代表所保持的锁存数据的数据。另一方面,三态反相器422为一简单的反相器所替代。运行中,例如读位线层次结构108′的第一层次位线h1将数据发送至反相器407。反相器407用表示从第一层次位线接收到的数据的输出数据驱动其相关的第一层次通过门FET 409的被控制的沟道。第一层次俘获时钟408h1驱动第一层次FET 409的栅极启动该FET让第一层次数据通过而进入锁存器420。为俘获层次结构108′的其他层次位线的数据,可以类似方式激活各自的层次俘获时钟408来代替启动各自的MOSFET 409使数据通过而进入锁存器420。通常在使一给定时刻仅一层次俘获时钟被激活来俘获读俘获锁存器单元401的锁存器420中的数据。
为保证读俘获锁器组400保持从一相关存储器子阵列12内一特定字位置读出的恰当的数据,必须为涉及到数据沿其相关的层次位线的传送的读俘获时钟406/408规定一适当的定时序列。如前面大致地提到的,一定时读位线结构与存储器阵列内的一给定的“虚设”存储器单元列有关,此定时读位线结构与存储器阵列中其他列的存储器单元的读位线层次结构108′相同。但是,不是经可寻址选择的字线信号将所存储的(实际)数据在相关的读位线结构上进行门控,而是经此同一可寻址选择的字线从一个虚设的存储器单元(例如一个未示出的硬件连线的存储器单元)到该模拟的定时读位线结构对一个已知的预装入的虚设值,例如1,进行门控。因而就建立了一相当于相关的(实际的)字数据的传送路径的用于一读定时信号(虚设数据)的传送途径。但是,不是将定时读位线层次结构的不同的层次位线耦合到一个相关的读端口200′的中间的相关读俘获锁存器,而是将此定时读位线结构406的各不同层次位线作为耦合到时钟发生器404的输入以便用来触发选择层次俘获时钟408。因而,由于相应的传送路径,在一层次俘获时钟被加以综合的时刻,其相关的读数据已沿着对应的层次读位线通过反相器407并到达各个FET409的门控沟道。
如图24中所示,预充电电路同样被用来如上面参照图18A和18B所述的对读位线层次结构108′的各不同层次位线进行预充电,并对定时读位线层次结构406的各不同层次位线进行预充电。多路器432由地址总线28(图1A)的一相关的读时钟层次结构(未示出)接收一选择读时钟。多路器432按照相关的层次配置数据选择一给定的输入以接收一相关的读时钟。多路器432驱动脉冲延时单稳电路430。预充电FET 424为一P沟道MOSFET,它将各个位线RBLhx有选择地耦合到一高的电源电压Vdd。FET424根据从脉冲延时电路430接收到的一预充电信号PRECHARGE被启动。在一读操作期间并由多路器432接收到恰当的读时钟后,脉冲延时电路430驱动FET 424的栅极以保证在对应于由读俘获锁存器组400的发生器404(图20~22)产生一相关的层次俘获时钟408的俘获脉冲期间的期间内,预充电FET 424被载止。在此截止期间,只要读位线RBLhx的逻辑状态为高,反相器428就将驱动噪声抑制FET 426的栅极从而启动该晶体管使其相当于一个高阻上拉电阻器而达到一个高的电源电压Vdd,用以抑制读位线上可能检取到的噪声成份。在一段等于或大于由读时钟的有效边沿和随后的俘获时钟的无效边沿所限定的时间周期内使预充电截止。这段时间大于俘获时钟的持续时间。俘获时钟与使相关的位线路径放电的定时位线的依从关系取决于预充电的结束,并带有保证位线的稳定性的抑制电路。
噪声抑制FET 426的沟道导通电阻被作成足够大以使得在读操作期间当个别存储器单元驱动相关的读位线时,相关的层次读位线的状态可能加以改变。例如,如果一个给定的存储器单元读对RBLHX提供一逻辑“1”,反相器428即反相此“1”而输出“0”以保持PFET 426处于其噪声抑制状态。相反,如果此存储器单元读提供一个“0”,此相关层次读位线(即图18A的开关252、254)的电流吸收能力大于噪声抑制FET 426的电流源能力,从而使读位线被下拉至逻辑0的情况,此时反相器428使其输出成为高态。抑制FET 426的栅极接收反相器428的高输出使其沟道截止。将会明白,同样的预充电电路被用来对与存储器阵列的字宽度的所有位相关联位线层次结构的层次位线进行预充电。
参看图25,预充电电路被集成在读俘获锁存单元401的一个锁存器单元之内。此外,额外的选择PFET提供可选择的ON/OFF预充电启动功能。一基本的P沟道MOSFET 424的沟道被串联设置在一预定的电压源VDD与相关的读位线层次结构108′的第一层次位线h1之间。此基本预无电MOSFET 424由第一层次预充电信号PRECHARGEh1驱动。一辅助预充电P沟道MOSFET 434的沟道被设置成与基本MOSFET 424相串联,而其栅极则按相关的第一层次预充电配置数据(由环绕X的圆圈表示)加以驱动。反相器407将由第一层次位线h1接收的数据反相并相应地驱动基本噪声抑制FET 426的栅极。基本噪声抑制FET 426(与上面所述类似)在一个其中预充电MSOFET 424与一读操作相关联为第一层次位线所截止的间隙期间抑制在第一层次位线h1上的噪声。辅助抑制FET 436按照与驱动辅助预充电FET 424的栅极相同的第一层次预充电配置数据对预充电电路的该噪声抑制功能作有选择的门控。其余的锁存器单元401以类似于上面参照图23所述的方式操作。
在读周期运行期间,此另一个读位线结构和相关的读俘获锁存器的操作如下。可编程存储器阵列接收一读时钟的有效边沿,此时钟经地址总线28的作恰当地配置的读时钟分配层次结构分配到各不同存储器子阵列地址单元20和相关的预充电电路的多路器432。从而此预充电电路如上述那样驱动各个层次预充电晶体管以启动读出数据使之能传送到相关的层次位线和由其俘获。经地址单元20作恰当的寻址和相关的读时钟同步,即可以寻址方式激活一有效的字线以选择阵列中一给定的字,这时对该字数据进行门控使之沿着各个读位线结传送。同时,此由地址选择的字线启动此相关字的一虚设(或定时)位以沿子阵列的相关定时位线层次结构的各个层次定时位线路径发送一有效边沿跃变(定时信号)。在由此给定字读得的(实际)数据和相关的(虚设数据)定时信号被送(并行地)至各个位线结构的对应层次路径上。例如假定此可编程存储器阵列被配置来利用读位线层次结构的第一层次级h1,则此定时位线结构也将被配置来利用一对应的第一层次位线h1。因而在读操作期间,读数据沿一子阵列12的一内部读位线56(图2B)流通,并通过相关的路径选择结构以便耦合到一第一层次读位线h1并沿此位线传送。同样定时(虚设)数据也在一对应的虚设结构上作同样传送。通过一个相应的路径选择结构和沿一个定时位线结构的相应层次路径,从一个相关字的一个额外的硬接线(或预装载)的存储器单元到一个模拟的内部“定时”位线56′上对该定时数据进行门控。从而此定时数据就在基本上与由被寻址的字读出的实际数据到达锁存器组400的各个不同的锁存器的输入端同时到达俘获时钟发生器404(图21)。此定时信号的上升沿在由发生器404接收到后触发产生一适当层次的俘获时钟408,以启动锁存器组400的各个单元401(图23)的相应层次FET 409来将字数据俘获进各个锁存器420。接着,由俘获时钟发生器404产生的相关层次的俘获时钟被反馈(通过脉冲延时组件410)到俘获时钟发生器404的反馈输入414,以清除各个层次俘获时钟。然后,各个预充电电路的预充电操作恢复以启动各个层次位线的预充电。
在如上面参照图18A、18B、19和20所述的FPMA 10用的另一种数据接口结构中,应注意到,最先所描述的实施例的辅助I/O总线38(图1A和1B)与相关的读/写位线层次结构30/32基本上互相叠并。因而,参看图1A和1E,无需对状态机存取端口24提供两个到辅助读端口相互耦合装置38′和读位线相互耦合装置30′的分开的读端口。而代之以,对于此另一种数据接口结构,状态机存取端口24仅需要一耦合到单个读位线层次结构的单个的读端口。
在上面参照图1A、1B、2A、2B、3和4所说明的本发明的实施例中,对各个存储器子阵列12的存储器单元48提供分开的“写”和“编程”(初始化)访问。因而,各存储器单元48需要分别耦合到各个内部写位线58和编程位线PBL的分开地作门控的写输入MOSFET 82和分开地作门控的编程输入MOSFET 78。地址单元:
参照图1A和1B,对FPMA 10的寻址路径主要沿着地址总线28。地址单元20确定哪一存储器子阵列12被寻址,和特定的存储器子阵列中各自的字线中的为发送或接收数据被加以访问。参看图26A、26B和26C,各地址单元20均包含一读译码器部分296和一写译码器部分306。多路器318和信号反相电路316决定由地址总线28的哪些地址线和哪种极性接收地址信息。反相器314,预编码总线312、312′和“与”门310、310′构成标准的地址译码电路用于在各个极性反相电路316的多路器输出上提供的相关的读(320、322)/写(324、326)寻址激活各自的多个读/写字线298/300的一特定的读/写字线。反相器对320来说可被省略,但对322来说被保留。
为了能选择多个读字线298的一个读字线,读译码器296的高位地址译码器308必须接收用于激活高位地址线72的恰当的地址数据。高地址译码器308在地址总线28的选择线提供的高读地址输入端322接收地址数据。多路器318确定由哪一个输入接收这一高地址信息。极性电流316被编程(经相关的配置数据)以构成用来选择高位地址线72的一特定高端地址。一旦接收到恰当的高端地址并被通过相关的多路器318和极性电路316传送,高位地址译码器308即经连线72提供一高地址启动信号来启动译码器“与”门310。参看图1B 26A,由各个地址单元20来的高位地址线72被耦合到各个存储器子阵列12的相关的高位地址输入。
参看图2B,连线72的高地址启动信号启动此相关存储器阵列12的选择性驱动多路器52以便将由其读得的数据传送给相关的读位线结构。例如,当FPMA 10或其一部分被配置以提供深度RAM功能时,每一高位地址译码器部分308将使各个多路器318和极性变换电路316配置成经由不同的和专用的各个高位地址数据来激活各个高位地址信号线72,以便对各存储器子阵列以不依赖于其他存储器子阵列的方式进行有选择的启动。另一方面,如果FPMA 10或其一部分被配置成提供宽的RAM功能(亦即存储器子阵列12边靠边地并行排列),则地址单元20的各个读地址译码器296的每一个高位地址译码器308就经各个多路器318和极性变换电路316配置成可由同样的高位地址来寻址。高位地址译码器308的多路器318可另外被配置成由已知的DC输入中进行选择来始终启动或截止高位寻址。例如,在存储器子阵列要被用作分开独立的存储器单元运行时,可能希望连续启动高位寻址。
加到读地址译码器的低地址部分的地址输入320数等于为完全地寻址其相关存储器子阵列12的M个字所需的数量。因而,M个“与”门310有选择地驱动各个M读字线298。另一方面,高位地址输入位322的数量则对应于为专门寻址Z个存储器子阵列12的需的量。在本发明的一简化实施例中,读地址译码器296的低位线320的选择性极性电路316被省略掉。
写地址译码器306在各个高位寻址308′和剩下的低寻址译码器部分与读地址译码器296功能作用相同。但低位译码器部分的“与”门310′和预编码总线312′包含两个附加的辅助信号线用来进行复位、写启动和时钟操作。高位写地址译码器308′由高写地址输入324接收相关的高写地址以便接收高位寻址数据有选择地启动相关的译码器“与”码310′。低位写地址译码器部分由低写地址输入326接收相关的低位寻址数据。而各个多路器318′和极性电路316′决定由地址总线28的哪些寻址线和何种极性接收相关的地址数据。在写地址译码器的简化实施例中,没有设置与线路326相关联的写地址译码器306的极性转换电路316。此外,地址译码也可利用许多已知技术之一进行。经反相和未经反相的信号线两者在预译码总线312′上均可得到。“与”门310′提供标准译码电路以便选择一给定字线300。
参看图26C,复位线302驱动如图1B和2A中所示的其相关存储器阵列12的复位输入。多路器334决定由哪一输入328接收复位信号。另外,多路器334可选择一已知的DC电平输入。极性纠正电路336决定欲关联到此复位信号的极性。
预编码线312′的其余导线由“与”门338驱动。“与”门338接收两个信号:一个时钟信号和一启动信号。通过由一个相关的多路器和极性反转电路选择的时钟输入330的一个给定输入从地址总线28来接收时钟信号。通过由一个相关的多路器和(任选的)极性反转电路选择的多个启动输入332中的一个从址总线28接收启动信号。相关的时钟或启动多路器和相关的极性变换电路均能连续地被编程来启动或截止相关的“与”门338。截止“与”门338阻止相关存储器内的写功能,防止数据出错和为FDMA设定只读功能。“与”门338具相关的时钟信号为FPMA10中的同步写功能提供基础。写时钟信号被激活一段足够时间来激活一给定写字线并启动数据传送进存储器阵列的相关的被寻址的字的位置。对于写译码器306的另一实施例中,“与”门338与译码器“与”门 310’的输出之间设置有一平稳线路(未作出),以便在经写和启动线被“与”门338作恰当的触发后提供一足够长的写期间的单稳脉冲。
在一种应用中,启动信号被驱动来提供FPMA的各个位写编程。例如当对FPMA或其一部分以各个存储器子阵列作边靠边的方式进行配置时,亦即宽RAM时,可能需要每次仅其一个字接收写数据。因此,该将接收相关的字编程数据的特定存储器子阵列12被有选择地经其相关的启动输入332而启动。另外,与此启动输入相关联的多路器可被编程来始终启动“与”门338的一个输入。
在上面讨论的,其中实现预充电位线结构的实施例中,读译码器296可具有一个作为一个附加输入的读时钟,读时钟来源于类似于写译码器编地址多路器电路。另外可将此读时钟保持为工作状态来实现异步功能。时钟单元:
如上面提到的,本发明的现场可编程存储器阵列10可被配置成以LIFO/FIFO方式运行,即滚动模式,其中各不同存储器子阵列12的字被用作一个堆栈。在一LIFO运行模式中,数据以与其被置入堆栈的次序相反的次序被取出,亦即后进先出。在FIFO运行模式中,数据以与其被置入堆栈的次序相同的顺序被取出,亦即先入先出。在滚动运行模式中,对堆栈的存取通过一特定的字窗口进行,其中在数据于堆栈中移动时将堆栈数据排成序列通过存取窗口。在堆栈内发生数据位移时堆栈顶部的数据滚动到堆栈的底部。相反,如果堆栈以反方向进行,堆栈底部的数据滚动到堆栈的顶部。如图1A、1B中所示,时钟单元221、222…22z分别与存储器子阵列121、122…12z相关联以生成相关的读/写时钟和保持对堆栈推进或递降的跟踪。
参看图27A、27B和27C,时钟单元22包含压入时钟分相器340和弹出时钟分相器342。各时钟分相器具有一输入多路器,用于分别由各不同时钟输入370、372之一接收一选择时钟信号,将其连接到地址总线28的可用地址线的各个子集。将会注意到,地址线可具有类似于前面所述的读和写位线层次结构的层次结构。分相器341接收由其相关的多路器选择的一时钟信号并由此单个的时钟输入产生两个非重叠的第一和第二相位压入时钟脉冲。加到分相器341的配置数据启动输入的时钟作有选择的极性纠正(任选的)和模式选择以迫使两输出时钟进入待用状态。在正常运行中,压入时钟分相器340分别通过各自的互连线373和374提供第一和第二相位压入时钟信号给其相关的存储器子阵列12,如图2A所示。同样,弹出时钟分相器342可编程来分别通过弹出时钟输出376和378提供两个非重叠的第一和第二相位弹出时钟脉冲给其相关的存储器子阵列12。如上面参照图2B所示和说明的,各个压入和弹出时钟脉冲驱动相关存储器子阵列的各个存储器单元之间的传输单元50以启动存储器单元之间数据的垂直移动。
时钟单元22还包含附加电路同来为作“实际”的LIFO/FIFO运行模式来保持对堆栈的增量和减量的跟踪,其中如上面所说数据在一堆栈中作实际上的垂直传输,或者为在一“逻辑”LIFO/FIFO操作模式中保持对寻址序列的跟踪。在此“逻辑”LIFO/FIFO操作模式中,指针对堆栈中哪一个地址单元应放置数据和从堆栈中哪一个地址单元提取数据保持跟踪。因而,在“逻辑”操作模式中,是采用经各自的指针寻址的正常的读/写数据而将数据传输进存储器堆栈和从其取出,其中无需作数据的垂直移动。
时钟单元22的计数系统主要包括二个地址计数器352、352’和二个边界寄存器354、356。对于实际LIFO/FIFO操作模式,计数器经各自的压入和弹出时钟脉冲来更新。地址计数器352在被由多路器344、346接收的各个初始化信号作适当触发时由时钟控制单元348接收各个增量或减量信号。在实际LIFO/FIFO操作模式中,这些多路器344、346选择在由弹出和压入时钟分相器342、340产生的各个弹出和压入信号。然后将计数器352中的数据与边界寄存器354或356的数据加以比较以防止堆栈溢出。此数据比较由地址比较器358进行。如果出现溢出情况,地址比较器358即产生一适当的溢出标志,将该标志通过相关的驱动多路器360传送到地址总线28的一选择线以便向FPMA之外传送。
多路器350和350’启动从地址总线28来的适当的复位信号与计数器352和352’的各自的选择性的耦合。在接收到一复位信号时,相关的计数器将其内部计数复位到一被编程进入计数器内部的各个负载寄存器中的预定的负荷值。在FPMA的引导操作配置期间用给定的负荷值对计数器的这些特定的内部负荷寄存器进行编程。
对于逻辑LIFO/FIFO运行模式,地址计数器352、352’作为地址指针来操作以指定各个存储器子阵列的读和写地址单元。在LIFO运行模式中,计数器352提供有关发送数据进入存储器,或从存储器接收数据的读和写地址。当时钟控制器348经由多路器344接收到一下降命令时,即将信号发送到地址计数器352使其地址寄存器减量。此外,时钟控制单元348还产生一适当的读信号,被发送到地址总线28的选择线368或经由相关的选择驱动多路器381至I/O数据线之一。另外,在将数据写到堆栈时,多路器346由地址总线28的一选择线接收一上浮信号,并将此上浮命令传送给时钟控制单元348。时钟控制单元348相应地发送一增量信号给地址计数器352和通过选择性驱动多路器380给地址总线28的一条线一个写信号。选择性驱动多路器362将计数器352的各个LIFO读/写地址有选择地耦合到地址总线28的选择线364。
将会理解,时钟控制单元348、348’提供在各个增量或减量信号与相关的写和读信号之间所需的定时信号以使得各个计数器的适当的读/写地址能以与相关的读/写信号进行恰当的同步方式出现在地址总线上。
对于逻辑FIFO运行模式,需要两个地址计数器,一计数器352用于指定写数据进入堆栈的地址,另一计数器352’用于对哪一可寻址存储器单元应提取出数据保持跟踪。当数据被写入堆栈时,时钟控制单元348通过多路器346接收一上浮命令并随之发送信号给地址计数器352使其地址计数增量。时钟控制单元348另外还产生并发送一适当的写信号到相关地址总线28的选择线,或通过选择驱动多路器380将该信号送到I/O数据总线。当由堆栈该数据时,时钟控制单元348’通过多路器346’接收一上浮命令,并相应地经由多路器382和选择驱动多路器381发送一读信号给地址总线28的一选择线。从而,计数器352提供用于将数据写到堆栈的指针地址,由计数器352’提供用于由堆栈读数据的指针地址。
多路器382按照是否选择了LIFO或FIFO操作由一个时钟控制单元348或348’接收读信号。在LIFO运行中,时钟控制单元348接收上浮和下降两种命令,而计数器352提供用于由存储器子阵列读取或对之写入的读和写地址。因而由时钟控制单元348发出的读信号即通过多路器382耦合到多路器381。在FIFO操作中,由一分开的地址计数器提供读地址和由一分开的时钟控制单元348’产生读信号。从而,多路器382被按另一状态加以编程以便由时钟控制单元348’而不是348选择一读信号。
在FIFO操作模式的情况下,地址比较器358将计数器352的地址与计数器352’的地址进行比较以保证一地址(读或写)不超过另一地址。如果一地址超过另一地址,地址比较器358就使其一个输出耦合到时钟控制单元348和348’以发出溢出情况的信号,据此时钟控制单元可被截止以便防止堆栈被破坏。地址比较器358还对与各个计数器相关的边界寄存器354或356的地址加以比较。当一给定地址计数器达到一相关的边界值,地址比较器358就产生一适当的标志,将该标志通过一选择驱动多路器360和导线366发送到地址总线28的一选择线。在本发明的一特定实施例中,此标志被传送到外部电路,例如一被配置的FPGA,而后它可经由多路器350或350’通知此边界情况并提供一复位信号至适当的地址计数器352或352’。以这种方式,堆栈就可在FIFO运行模式中反复循环。
应指出,最好对每一存储器子阵列12均设置一时钟单元,如图1中所示。另外,在另一个实施方案中也可以设置较少的时钟单元,结果是降低了灵活性,但也减小了装置成本和大小。因而在每一存储器子阵列中可配置分离的LIFO或FIFO。但对于存储器子阵列的组合仅需具有至少一个这种时钟单元,其中一组存储器子阵列结合在一起作成一增大的堆栈。因而,地址计数器和相关的边界寄存器具有足够的位数来对一由全部Z个存储器子阵列组成的堆栈作完全的寻址。
时钟单元自己可经由配置数据配置成支持多重的阵列大小(2N字)。这将包含对读/写地址比较系统(如358)进行编程从而只比较有关的地址位并将适当数量的地址位发往FPMA地址总线的能力。状态机存取端口:
参看图1A、1E、28A和28B,状态机存取端口24提供对FPMA的另一种直接访问。在一特定的应用中,一已知的FPGA的配置逻辑的状态机访问该作为高速缓冲存储器的存储器阵列以便存放编程数据,此状态机随后将检索这些编程数据用来对此现场可编程门阵列的各不同资源进行重新编程。触发器398锁存由现场可编程存储器阵列10读取的数据,并将这种被锁存的数据输出到状态机读端口386。在本发明的此特定实施例中,其中FPMA10包含读位线相互耦合装置30’和辅助I/O相互耦合装置38’二者,多路器392有选择地耦合触发器398以便由此两可能的路径之一接收读数据。因而,在当FPMA如上面讨论的那样用来作FPGA配置高速存储器的存储器时,相关的高速存储器子阵列不必被限制于实际上相邻接的存储器子阵列121。事实上,例如存储器子阵列122、123…12z可被配置来用作高速存储器,对其的访问通过辅助读端口相互耦合38’由另一个辅助I/O总线38来实现。在本发明的此另一个实施例中,其中辅助I/O总线38和读位线层次结构30互相叠并(如上面参照图16~19、20~25所述那样),可将多路器392省略沿而触发器398的输入直接耦合到此另一实施例的读位线层次结构。
在经状态机存取端口由FPMA10读数据时(图1A),地址出现在状态机存取端口24的地址端口390(图1E和28B)。选择性驱动多路器396通过地址互连线28’将地址数据发往地址总线28的选择线。然后,此被寻址的现场可编程存储器阵列的读数据,在此多重读端口实施方案中,通过被多路器392所选择的另一个数据路径之一,在触发器398的输入端被接收。而后经由选通输入端384将一读选通信号加给触发器以俘获在由此现场可编程存储器阵列检索得到的读数据。
为经由状态机存取端口24将数据(例如初始化数据)存储进FPMA10,FPGA(图中未示)的状态机例如将数据送到通过位线相互连接装置394耦合到FPMA10的编程位线相互耦合装置36’的编程位线互连装置388。如前面提到的,编程位线总线36提供对被按相关的编程字线寻址的存储器子阵列12的存储器单元48的直接访问。因而,标准的地址译码电路(图中未示出)对相关的编程地址进行译码和驱动选择编程字线302(图1B,和图2A与2B的BWL)以启动数据传送进入所希望的存储器单元48。异步读:
现在介绍使上述阵列能作异步操作的本发明实施例。
在同步模式中,在给出前面的章节中描述的和用图29的方框506表示的过程的情况下,内部读位线网络(不一定是一单个总线)由适当的信号控制被加以预充电。在子阵列124的一存储器单元接收到一有效字线信号后,存储器单元的数据即被选通到内部读位线网络506。单元数据或使内部总线的预充电电荷放电或增强其预充电量(单元的输出可在两个方向驱动)。内部网络上的值通过装置502而反相,该装置将输出信号503的源连线提供给高层次位线H2、H3。在一被配置来利用数据总线的第一层次H1的阵列中,装置500(图30)将提供其输入与输出H1间的传送。装置500是一个三态反相器,具有分开的N和P传送选择栅极CNTL(N)和CNTL(P)以及NFET和PFET的倒转堆栈顺序以便在同步模式中在H1得到最小的输出电容。503与H1之间连接的三态控制遵照下列真值表,其中,SEL为用于允许子阵列连接到这一层次的配置位,  ASYNC是确定读模式为异步(1)还是同步(0)的配置位,和HOA为被译码的高位地址值(1有效,0无效)(在技术领域中的专业人将看到具有输入SEL、ASYNC和HOA和输出CNTL(N)、CNTL(P)的逻辑(电路)可采用许多方法实现):
ASYNC SEL HOA  CNTL(N) CNTL(P) 说明
0 0 0 0 1 H1未选
0 0 1 0 1 H1未选
0 1 0 1 1 同步模式仅启动N堆栈,HOA不管
0 1 1 1 1 同步模式仅启动N堆栈,HOA不管
1 0 0 0 1 H1不选
1 0 1 0 1 H1不选
1 1 0 0 1 异步模式,HOA无效
1 1 1 1 0 异步模式+HOA启动双向驱动
由上表可见,在同步模式中,数据随取决于数据值的位线H1的可能的放电将经由500的N个堆栈520传送。按照上节描述的方式至高层次的连接通过N堆栈装置252和254实现,而其预充电则通过258和260实现,(在所述的实施例中未提供高层次的异步能力,尽管这是可能的)。
在给出一个如上面所讨论的通过使用定时读位线数据的俘获时钟产生单元得出的俘获时钟的情况下,沿着506、H1、H2、H3中任一个传送的数据均可被锁存在俘获锁存器组400中。
对于异步运行,方框504和506中的预充电装置通过配置位被关断。由存储器单元子阵列传送的数据为装置502反相。如与上面定义的适当的SEL和AYNC设置一起给出一个有效的高层次地址,装置500在不进行预充电的情况下提供与位线层次H1的三态接口以传送两种极性的数据。(这样在未加预充电的异步模式中就允许较长的延时)。如前面讨论的俘获时钟产生电路可经由一接到受配置位控制的置位主DFF的置位插脚被强制成为非工作状态,以使得数据能以异步方式由一内部位线或H1传送通过锁存器电路。在所述的实施例中未将异步运行设计进高位层次H2或H3,因而方框252和254将不由此模式中配置位启动,尽管有可能在其他实施方案中于高位层次中加进异步操作。
也应注意到,子阵列中的内部读位线网络可以是该子阵列中的两级通讯网络,第一级连接16个单元,并以类似于500的结构结束,其门控控制由ASYNC和地址部分的内部×16译码线提供,而预充电则以与对方框504所说明的同样的方式加以控制,而第二级则连接第一级的终点,和提供到506和502的连接。
这样,所揭示的就是一个能对其进行配置来得到宽RAM功能、深RAM功能、多重RAM功能、LIFO/FIFO功能、和滚动功能的现场可编程存储器阵列。
另外,此现场可编程存储器了列被揭示为被用作一局部高速缓冲存储器,以用于一外部电路,例如一现场可编程门阵列。
相关的存储器子阵列的存储器单元被揭示为带有多重输入和多重输出,还带有另一个实施方案中的提供串行扫描或垂直位移能力的任选相关传输电路。
为支持此现场可编程存储器阵列的存储器子阵列的各种不同配置,揭示有各不同层次的可编程数据线结构和相关的路径选择资源,用于将数据传送至现场可编程存储器阵列的存储器单元或从其向外传送数据。
还揭示了为支持各种不同存储器配置和功能而启动适当的地址译码的可编程地址单元。所揭示的可编程时钟单元用于为在各个存储器子阵列内访问存储器和实现实际的或逻辑的LIFO/FIFO功能而产生时钟信号。
最后,揭示了状态机存取端口可使此现场可编程存储器阵列能由外部电路,例如由一相关的现场可编程门阵列的状态机,更直接地加以访问。
如没有在明显的文字上的矛盾,这里在涉及任何集合或多个Xs时采用诸如术语“各X”时,应当被理解为仅需两个X来在一开始满足这种集合或多个,而因此象“各X”这类的术语仅是指在一开始满足此集合或多个所必须的X。其他的X可能超出该被满足的集合或多个的范围之外,因而可能不一定被包含在诸如“各X”术语含义之内。
对于本技术领域的普通人士来说将很显而易见的是,有许多种途径来提供上面讨论的多路器、开关当中所需的连接。例如,多路器中的单个通路可包括一通过晶体管、一EPROM、一可熔断连接、或一抗熔器等来实现所附属线路间所希望的隔离或连通。用户根据通过任何特定结构的连接的需要,只要进行恰当的编程来实现这种连接。一激光程序装置也可应用交叉点的有选择的焊接。通过包含或不包含焊接来提供所需的连接。一掩膜程序装置将简单地包含或去除相关的连接。这里将任何信号选择装置,其中在编程前有多个信号可用于选择,向在编程后信号之一被选择并在两个连线之间提供通路,均被叫做一个多路器。因此,这里所用的多路器,除非另外明确指出,均能支持单向或双向连接。此外,这里所述的一单个多路器实际上可以是一包含多级信号选择的层次化多路化设计。一个在这里通篇采用的“连接”除非另外明确指以外,概括地指一直接的导体之间的导电连接,或者一个间接的(例如:经缓冲的/反相的)接口,其中仍然将来的一个导体的信息供给另一导体。同样,一“输入”或一“输出”是指或者一直接的或者一间接的(例如经缓冲/经反向)接口,除非另加明确说明。
这里采用的“启动信号,启动数据等”应当概括地理解为任何类型的启动能实现必须的电路状态的信号。启动信号可以是逻辑信号,时钟信号等,此外,这里用的术语“信号”可以是一单个信号线或多个信号线,并通常表示存在实现正常电路操作所需数据。
这里应用的术语“阵列”概括地或是指在构成一系统的一集成电路或多重集成电路上所形成的电路的整体,或者指在构成一系统的一集成电路或多重集成电路中的电路的任何一任意大小的部分。这样,一较大的阵列可被看作是包括许多较小的阵列;
虽然本发明已引用其优选实施例作了详细的表示和说明,但应理解的是对于本领域内的专业人员来说很自然可能对其作出形式上和细节上的各种不同的变更而不背离本发明的基本精神实质和范畴。

Claims (167)

1.一可编程存储器电路,其特征为,包括:
用于保持数据的存储器单元;
第一字线,传送第一选择信号;
第一位线;
第一选择性耦合器,置于所述第一位线和所述存储器单元之间,按照所述第一选择信号有选择地耦合所述第一位线与所述存储器单元用以在其间传送信号;
输出接口,连接于所述存储器单元,用于由所述存储器单元传送信号;和
附加数据线,连接于所述存储器单元,用于将信号传送至所述存储器单元。
2.按照权利要求1的可编程存储器电路,其特征是所述第一选择信号为一写启动信号而所述第一位线在当所述第一选择性耦合器被写启动信号启动时传送存储进所述存储器单元的数据,所述输出接口包括:
第二位线;
第二字线,传送一读启动信号;和
第二选择性耦合器,置于所述第二位线与所述存储器单元之间,在被所述读启动信号启动时有选择地耦合所述第二位线与所述存储器单元以启动读取所述存储器单元的数据。
3.按照权利要求2的可编程存储器电路,其特征还包括:
第三位线,用于运送待存储进所述存储器单元的另外的数据;
第三字线,传送另外的写启动信号;和
第三选择性耦合器,置于所述第三位线与所述附加的数据线之间,在被另外的写启动信号启动时有选择地耦合所述第三位线与所述附加数据线以将另外的数据传送至所述存储器单元。
4.一可编程存储器电路,其特征在于包括:
用于保持数据的存储器单元;
多个字线,所述多个字线的每一字线传送一相关的启动信号;
多个位线;和
多个选择性耦合器,所述多个选择性耦合器的各选择性耦合器被置于所述存储器单元与所述多个位线的一相关位线之间,在被所述多个字线的一相关字线的启动信号启动时,有选择地耦合所述相关位线与所述存储器单元以在其中间传送信号。
5.按照权利要求4的可编程存储器电路,其特征是:
所述多个字线的一复位字线传送一复位启动信号作为其相关的启动信号;
将所述多个位线的一复位位线耦合到一固定的电压源以传送一复位电平;和
多个选择性耦合器的一第一选择性耦合器,置于所述复位位线与所述存储器单元之间,在被所述复位字线的复位启动信号所启动时将所述存储器单元有选择地耦合到所述复位位线以将其复位电平存放在所述存储器单元中。
6.按照权利要求4的可编程存储器电路,其特征是所述存储器单元是一个与现场可编程门阵列(FPGA)相关联的存储器阵列的一部分,其中:
所述FPGA的一状态机提供此FPGA对所述存储器阵列的访问;
所述多个字线的一程序字线传送被所述状态机实现的程序启动信号;
所述多个位线的一程序位线传送来自所述状态机的程序数据;和
多个选择性耦合器的一第一选择性耦合器,置于所述存储器单元与所述程序位线之间,在被所述程序字线的程序启动信号启动时将所述单元有选择地耦合到所述程序位线以便将来自所述状态机的程序数据存储进所述存储器单元。
7.按照权利要求6的可编程存储器电路,其特征是:
所述多个字线的一辅助字线传送一辅助启动信号;
所述多个位线的一辅助位线传送一辅助信号源的辅助数据;和
多个选择性耦合器的一第二选择性耦合器,置于所述存储器单元与所述辅助位线之间,在被所述辅助字线的辅助启动信号启动时将所述存储器单元耦合到所述辅助位线以将辅助数据存储进所述存储器单元。
8.按照权利要求4的可编程存储器电路,其特征是所述存储器单元为一存储器阵列的一部分,所述可编程存储器电路还包括:
串行输入端,接收串行输入数据;
主选择性耦合器,置于所述串行输入与所述存储器单元之间,在被主扫描时钟启动时将所述串行输入端的串行输入数据有选择地传送到所述存储器单元加以存储;
用于保持数据的辅助存储器单元;和
辅助选择性耦合器,置于所述存储器单元与所述辅助存储器单元之间,在被辅助扫描时钟启动时将所述存储器单元的数据有选择地传送到所述辅助存储器单元,
由此,所述存储器单元可分别通过相关的启动信号或主扫描时钟由所述多个位线中的一个或由所述串行输入端接收数据。
9.按照权利要求8的可编程存储器电路,其特征是还包括:
N位地址输入端,用于对所述存储器阵列进行寻址;和
地址译码器电路,按照对所述N位地址输入端的一特定地址的译码提供所述相关的启动信号。
10.一可编程存储器电路,由一位/字线可寻址存储器单元阵列构成,其特征是包含有:
第一存储器单元,可经第一字线寻址以启动对之作主数据存取;
第二存储器单元,可经第二字线寻址以启动对之作主数据存取;
传输单元,置于所述第一存储器单元与所述第二存储器单元中间,用于提供中间数据存储;
第一选择性耦合器,经第一时钟启动,用于有选择地耦合所述传输单元与所述第一存储器单元,启动数据在其间传送;和
第二选择性耦合器,经第二时钟启动,用于有选择地耦合所述传输单元与所述第二存储器单元,以启动数据在其间传送,
据此,所述第一和第二时钟相继操作以便将数据由所述第一和第二存储器单元之一传送到另一个。
11.按照权利要求10的可编程存储器电路,其特征是还包括用于逐一提供作为第一相位压入时钟的所述第一时钟和作为第二相位压入时钟的所述第二时钟的装置,用于由所述第一存储器单元将数据传送到所述第二存储器单元。
12.按照权利要求11的可编程存储器电路,其特征是:
所述传输单元具有用于接收数据的输入端,存放在其中的中间数据按照在所述输入端接收的数据加以更新;和一个输出端,用于按照其中所存放的中间数据发送出数据;
所述第一和第二存储器单元的每一个均具有一用于接收数据的输入端,其中存放的数据按照在所述输入端接收的数据加以更新;和一输出端,用于按照其中存放的数据发送出数据;
所述第一选择性耦合器被置于所述第一存储器单元的输出与所述传输单元的输入之间;和
所述第二选择性耦合器被置于所述传输单元的输出与所述第二存储器单元的输入之间。
13.按照权利要求12的可编程存储器电路,其特征还包括:
第三选择性耦合器,经第一相位弹出时钟启动以便将所述辅助存储器单元的输出有选择地耦合到所述传输单元的输入,启动由所述第二存储器单元到所述传输单元的数据传送;
第四选择性耦合器,经第二相位弹出时钟启动以便将所述传输单元的输出有选择地耦合到所述第一存储器单元的输入,启动由所述传输单元至所述第一存储器单元的数据传送;和
用于逐个提供第一相位弹出时钟和第二相位弹出时钟的装置,用于将所述辅助存储器单元的数据传送到所述第一存储器单元。
14.运行一FPGA和一可编程存储器阵列的方法,其特征是所述方法包含下述步骤:
对FPGA进行配置,包括由一外部数据源将初始数据传送到所述可编程存储器阵列;和
对所述经配置的FPGA作功能性运行,包括对所述可编程存储器阵列的内部访问。
15.按照权利要求14的方法,其特征是所述配置FPGA的步骤同时包含有一配置该可编程存储器阵列的步骤,以防止在所述FPGA的功能运行期间对其进行写入。
16.按照权利要求14的方法,其特征是所述配置FPGA的步骤同时包含一配置所述可编程存储器阵列的步骤,以在所述被配置的FPGA的功能运行期间的启动其读和写。
17.一存储器阵列,由多个排列成行和列的存储器单元组成,每一行存储器单元具有与其相关联的可寻址的启动字线,和每一列存储器单元具有与其相关联的位线,各位线提供对所述由各自可寻址启动字线启动的相关列的存储器单元的访问,其特征是所述存储器阵列还包括:
多个独立的耦合器,此多个独立的耦合器的每一独立耦合器被置于一给定列的各个相邻接存储器单元之间,
各独立的耦合器按照一压入/弹出控制信号进行操作以使数据在此给定列内由各个相邻接的存储器单元向另一个作选择性移动。
18.按照权利要求17的存储器阵列,其特征是各独立的耦合器包括:
传输单元,用于存放中间数据,所述传输单元具有一用于接收更新其中所存放的所述中间数据的数据的输入端,和一为发送出相当于其中所存放的所述中间数据的数据的输出端;
第一选择性耦合器,置于各个相邻接存储器单元之一与所述传输单元的输入之间,所述第一选择性耦合器接收第一相位压入/弹出时钟信号,该信号有选择地启动所述第一选择性耦合器以便将所述各个相邻接存储器单元之一的数据传送到所述传输单元的输入;和
第二选择性耦合器,置于各个相邻接存储器单元的所述另一个与所述传输单元的输出之间,所述第二选择性耦合器接收第二相位弹出/压入时钟信号,该信号有选择地启动所述第二选择性耦合器以便将来自所述传输单元输出的数据传送到各个相邻接存储单元的所述另一个。
19.按照权利要求18的存储器阵列,其特征是各分立的耦合器还包括:
第三选择性耦合器,置于各个相邻接存储器单元的所述另一个与所述传输单元的输入之间,所述第三选择性耦合器接收第一相位弹出/压入时钟信号,该信号有选择地启动所述第三选择性耦合器以便将来自各个相邻接存储器单元的所述另一个的数据传送到所述传输单元的输入;和
第四选择性耦合器,置于各个相邻接存储器单元的所述一个与所述传输单元的输出之间,所述第四选择性耦合器接收第二相位弹出/压入时钟信号,该信号有选择地启动所述第四选择性耦合器以便将来自所述传输单元输出的数据传送到各个相邻接存储器单元的所述一个。
20.按照权利要求17的存储器阵列,其特征是还包括:
多个滚动耦合器;
此多个滚动耦合器的各个滚动耦合器与所述多个存储器单元的一给定列相关联;
各滚动耦合器按照一滚动模式启动信号被有选择地置于该给定列的一顶部存储器单元与该给定列的一底部存储器单元之间;
所述各滚动耦合器在经所述滚动模式启动信号启动时,按照所述压入/弹出控制信号进行操作以使数据在给定列内由所述顶部和底部存储器单元之一向另一个作有选择的移动。
21.一存储器阵列,由排列成行和列的多个存储器单元组成,每一行单元具有与之相关联的可由相关的行地址进行选择性寻址的字线,和每一列单元具有与之相关联的一位线,在经各自的字线启动时所述位线提供对所述相关列存储器单元的访问,其特征是还包括:
地址译码器,具有接收输入地址的地址输入端,所述地址译码器按照所述输入地址选择所述字线;和
可编程存取单元,在所述存储器阵列的相关的读和写操作期间给所述地址译码器的地址输入提供读和写输入地址,所述可编程存取单元在所述存储器阵列操作期间按照一模式选择信号修改所述读和写地址以便能提供后进先出LIFO或先进先出FIFO之一的存储器功能。
22.按照权利要求21的存储器阵列,其特征是所述可编程存取单元包括:
第一地址计数器,用于在所述存储器阵列的写操作期间当经所述模式选择信号启动时对所述写操作进行计数并按照其计数将所述输入地址提供给所述地址译码器。
23.按照权利要求22的存储器阵列,其特征是所述可编程存取单元还包括:
第一时钟控制单元,在经所述模式选择信号启动时结合所述第一地址计数器来进行操作以控制经所述第一地址计数器的计数所寻址的所述存储器阵列的写操作序列和由所述第一地址计数器对所述写操作进行计数。
24.按照权利要求23的存储器阵列,其特征是:
所述第一地址计数器还在读操作期间当经所述模式选择信号启动时进行操作来随所述存储器阵列的每一读操作使其计数值减量和按照其计数对所述地址译码器提供输入地址;
所述第一时钟控制单元还在经所述模式选择信号启动时与所述第一地址计数器相结合进行操作来控制经所述第一地址计数器计数和其所述减量寻址的所述存储器阵列的读操作的序列;
据此,所述第一地址计数器和所述第一时钟控制单元在经所述模式选择信号启动时给所述存储器阵列提供后进先出功能。
25.按照权利要求23的存储器阵列,其特征是所述可编程存取单元还包括:
第二地址计数器,在所述存储器阵列的写操作期间当经所述模式选择信号启动时对读操作进行计数并按照其计数值对所述地址译码器提供所述输入地址;和
第二时钟控制单元,当经所述模式选择信号启动时与所述第二地址计数器相结合进行操作以控制经所述第二地址计数器的计数寻址的所述存储器阵列的读操作序列和由所述第二地址计数器对所述读操作进行的计数,
据此,所述第一和第二地址计数器和所述第一和第二时钟控制单元在经所述模式选择信号启动时给所述存储器阵列提供先进先出功能。
26.按照权利要求25的存储器阵列,其特征是此第一和第二地址计数器的每一个均包含有一选择性耦合器,在各个写和读操作期间当经所述模式选择信号启动时可对该选择性耦合器进行编程来将其相关的计数值有选择地施加到所述地址译码器的地址输入。
27.按照权利要求26的存储器阵列,其特征是所述可编程存取单元还包括:
地址比较单元,用于确定何时所述第一和第二地址计数器至少一个的计数值与一预定的至少一边界值匹配。
28.按照权利要求26的存储器阵列,其特征是所述可编程存取单元还包括:
地址比较单元,用于确定何时所述第一和第二地址计数器的计数值互相对应。
29.按照权利要求26的存储器阵列,其特征是所述可编程存取单元还包括:
提供各自的边界值的第一和第二边界地址寄存器;和
地址比较单元,可进行编程,用于从由所述第一地址计数器的所述计数值、所述第二地址计数器的所述计数值、所述第一边界地址寄存器的边界值和所述第二边界地址寄存器的边界值所构成的组中选择并比较两个值,所述地址比较单元确定何时所述两被选择值相互对应。
30.按照权利要求24的存储器阵列,其特征是第一地址计数器包含有一选择性耦合器,在写和读操作期间当经所述模式选择信号启动时,可对该耦合器进行编程来将其计数值有选择地加到所述地址译码器的地址输入上。
31.按照权利要求30的存储器阵列,其特征是所述可编程存取单元还包括:
地址比较单元,用于确定何时所述第一地址计数器的计数值与一预定的边界值匹配。
32.按照权利要求30的存储器阵列,其特征是所述可编程存取单元还包括:
提供各个边界值的第一和第二边界地址寄存器;和
地址比较单元,可进行编程来从由所述第一地址计数器的所述计数值、所述第一边界地址寄存器的边界值和所述第二边界地址寄存器的边界值构成的组中选择并比较两个值,所述地址比较单元确定何时所述两被选择的值相互对应。
33.按照权利要求23的存储器阵列,其特征是所述第一时钟控制单元包括:
用于接收各个时钟信号的多个时钟输入端;
第一选择性耦合器,可编程来有选择地传送来自所述多个时钟输入端之一的第一选择时钟信号;
第二选择性耦合器,可编程来有选择地传送来自所述多个时钟输入端之一的第二选择时钟信号;和
可编程时钟定序器,可编程来利用所述第一和第二选择时钟信号中的一个给所述第一地址计数器提供一增量时钟以使其进行增量,并通过所述地址译码器对所述存储器阵列提供一写时钟以实现所述存储器阵列的写操作,所述可编程时钟定序器在所述写时钟出现与所述增量时钟的出现之间提供一预定的延时。
34.按照权利要求21的存储器阵列,结合有一可编程门阵列,此门阵列具有:-I/O总线;多个可编程逻辑部件;有选择地相互连接所述多个逻辑部件和所述I/O总线的可编程互连装置;与所述可编程门阵列的可编程资源相关联的配置存储器;用于寻址所述配置存储器的地址总线;将配置数据装入配置存储器的数据总线;和用于控制通过相关的地址总线和数据总线对所述配置存储器的访问的配置逻辑,其特征是所述存储器阵列还包括:
可编程多路装置,用于有选择地将可编程门阵列的所述地址总线耦合到所述存储器阵列的所述地址译码器,以使所述地址译码器能通过所述地址总线接收输入地址。
35.按照权利要求34所述存储器阵列,其特征是还包括:
可编程装置,用于有选择地将与可编程门阵列的配置存储器相关联的数据总线耦合到与所述存储器阵列的列存储器单元相关联的所述位线。
36.按照权利要求35的存储器阵列,其特是还包括:
可编程装置,用于有选择地将与所述存储器阵列的列存储器单元相关联的所述位线耦合到可编程门阵列的I/O总线。
37.按照权利要求36的存储器阵列,其特征是还包括第一时钟单元,它具有一选择性耦合器,可对其编程来将写时钟有选择地传送到所述地址总线或所述I/O总线之一。
38.按照权利要求21所述存储器阵列,其特征是所述可编程存取单元还包括:
地址比较单元,可对其编程来比较传送给它的读或写地址的一部分,该部分的大小由配置数据确定。
39.一可编程存储器阵列,具有多个排列成行和列的存储器单元,一行单元具有一相关的字线,和一列单元具有与其相关联的可编程位线结构,其特征是所述列单元的可编程位线结构包括:
多个局部位线,所述多个局部位线的各局部位线与所述给定列单元的各个子阵列组的存储器单元相关联;和
所述多个局部位线的相邻局部位线间的局部选择性耦合器,可对所述选择性耦合器编程来在它们之间有选择地传送信号。
40.按照权利要求39的可编程存储器阵列,其特征是所述可编程位线结构还包括:
多个半全局位线,所述多个半全局位线的各半全局位线与所述列的各自的存储器单元区段相关联,各区段拥有多个所述存储器单元子阵列组;
所述多个半全局位线的相邻半全局位线间的半全局选择性耦合器,可对所述半全局选择性耦合器编程来在它的之间有选择地传送信号;和
第一层次选择性开关,位于一给定子阵列组存储器单元的各局部位线与拥有所述给定子阵列组的区段的相关半全局位线之间,可对每一第一层次选择开关编程来在所述相关的位线与各个半全局位线之间有选择地传送信号。
41.按照权利要求40的可编程存储器阵列,其特征是所述可编程位线结构还包括与所述单元列相关联的一全局位线,
其中还可对每一第一层次开关编程来在所述相关的局部位线与所述各个半全局位线和所述全局位线之一间有选择地传送信号。
42.按照权利要求41的可编程存储器阵列,其特征是:
与一给定局部位线相关联的各子阵列组存储器单元的各存储器单元,经由一相关的内部子阵列位线存取数据;和
所述可编程位线结构还包括用于各内部子阵列位线的选择性耦合器,可对所述选择性耦合器编程来在所述各内部子阵列位线与包含所述相关的局部位线、所述相关的半全局位线和所述全局位线的组的一个位线之间有选择地传送信号。
43.按照权利要求42的可编程存储器阵列,其特征是还包括:
辅助I/O总线;
和其中所述可编程位线结构还包括一与所述子阵列组存储器单元的各边界相关联的第二层次选择性耦合器,可对各第二层次选择性耦合器编程来在辅助I/O总线与一来自由相邻所述边界的所述局部位线、与所述边界相关联的所述半全局位线和所述全局位线构成的组的选择位线之间有选择地传送信号。
44.按照权利要求42的可编程存储器阵列,其特征是:
所述可编程位线结构为一所述可编程存储器阵列的读位线结构;
各第一层次选择性开关由一1/N选择性驱动器构成;和
各内部子阵列位线的所述选择性耦合器由一双向耦合器构成。
45.按照权利要求44的可编程存储器阵列,其特征是各1/N选择性驱动器包含一三态启动输入,用于接收一个有选择地启动与对应的存储器单元的子阵列组相关联的所述1/N选择驱动器的高地址启动信号。
46.一采用权利要求42的二个所述可编程位线结构分别作为可编程存储器阵列的一读位线结构和一写位线结构的可编程存储器阵列,其特征是:
所述读位线结构的各第一层次选择开关由一多路器构成;
用于所述读位线结构的各内部子阵列位线的所述选择性耦合器由-1/N选择性驱动器构成;
所述写可编程位线结构的各第一层次选择性开关由-1/N选择驱动器构成;和
用于所述写可编程位线结构的各内部子阵列位线的所述选择性耦合器由一多路器构成。
47.一可编程存储器阵列的可编程相互耦合电路,该可编程存储器阵列具有一基本I/O总线和一辅助I/O总线,其特征是所述可编程相互耦合电路包括:
第一选择性耦合器,具有多个输入和一个输出,将所述多个输入的输入耦合到所述基本I/O总线相互连接线的选择基本相互连接线,可对所述第一选择性耦合器编程以按照一第一选择信号在所述输出与所述多个输入端的一个输入之间有选择地传送信号;和
第二选择性耦合器,具有一作电气耦合来接收与所述第一选择性耦合器的输出相关联的信号的输入,和多个输出端,将所述多个输出端的输出耦合到所述辅助I/O总线的选择辅助相互连接线,可对所述第二选择性耦合器编程来按照一第二选择信号在所述输入端与所述多个输出端的一个输出端之间有选择地传送信号。
48.按照权利要求47的可编程相互耦合电路,其特征是所述第一选择性耦合器为一多路器,和所述第二选择性耦合器为-1/N驱动器。
49.按照权利要求47的可编程相互耦合电路,其特征是还包括一作电气配置的在所述第一选择性耦合器的输出与所述第二选择性耦合器的输入之间传送一选择信号的可编程极性电路,可对所述可编程极性电路编程来有选择地变换所述选择信号的极性。
50.按照权利要求49的可编程相互耦合电路,其特征是所述可编程极性电路包括:
第三选择性耦合器,具有第一和第二输入,以及一耦合到所述第二选择性耦合器的所述输入的输出,可对所述第三选择性耦合器编程来将所述第一和第二输入之一有选择地耦合到其输出,所述第一输入被耦合到所述第一选择性耦合器的输出;和
一反相器,在所述第一选择性耦合器的输出与所述第三选择性耦合器的第二输入之间作电气耦合,
51.一采用权利要求47的所述可编程相互耦合电路的可编程存储器阵列的可编程读端口,用于传送由所述可编程存储器阵列检索到的数据,其特征是所述可编程读端口还包括:
一选择性锁存电路,置于所述第一选择性耦合器的输出与所述第二选择性耦合器的输入之间,可对所述选择性锁存电路编程来以与所锁存的数据相关的方式由所述第一选择性耦合器的输出将数据有选择地传送给所述第二选择性耦合器的输入,或者以直接与所述第一选择性耦合器的输出数据相关的方式将数据传送到所述第二选择耦合器的输入,所述选择性锁存电路的选择性由第三选择信号确定。
52.按照权利要求41的可编程读端口,其特征是所述选择性锁存电路包括:
第三选择性耦合器,具有一耦合到所述第二耦合器的输入的输出,和至少一个第一和第二输入,所述输入按照所述第三选择信号被有选择地耦合到所述输出以便在其间传送信号;和
一触发器,具有一耦合到所述第一选择性锁存器的输出的数据输入,一耦合到所述第三选择耦合器的所述第一输入的输出以便发送对应于其中锁存数据的数据的输出,所述触发器以与一个锁存时钟信号同步的方式在所述数据输入端处俘获作为其中锁存数据的数据,
其中所述第三选择性耦合器的第四输入直接耦合到所述第一选择性耦合器的输出。
53.按照权利要求52的可编程读端口,其特征是还包括:
一反相器,以串接方式耦合在所述第一选择性耦合器的输出与所述第三选择性耦合器的第三输入之间。
54.按照权利要求52的可编程读端口,其特征是所述触发器具有一耦合到所述第三选择性耦合器的第三输入的一附加的补充输出。
55.按照权利要求52的可编程读端口,其特征是还包括一时钟多路器,它具有一进行耦合以由所述基本I/O总线的一个选择基本相互连接线接收一第一时钟信号的第一输入,和一进行耦合以由所述辅助I/O总线的一个选择辅助相互连接线接收一第二时钟信号的第二输入,可对所述时钟多路器编程来按照一时钟选择信号将所述第一和第二时钟信号之一有选择地传送给所述触发器作为所述锁存时钟信号。
56.按照权利要求55的可编程读端口,其特征是还包括用于按照一时钟极性选择信号有选择地对所述第一和第二时钟信号的至少一个进行反相的装置。
57.一具有基本I/O总线和辅助I/O总线的可编程存储器阵列的可编程相互耦合电路,其特征是所述可编程相互耦合电路包括:
一可编程读端口,具有按照一第一选择信号由所述辅助I/O总线的一选择辅助相互连接线有选择地传送一第一信号至所述基本I/O总线的一选择基本相互连接线的装置;和
一可编程写端口,具有按照一第二选择信号由所述基本I/O总线的一选择基本相互连接线有选择地传送一第二信号至所述辅本助I/O总线的一选择辅本助相互连接线的装置。
58.按照权利要求57的可编程I/O互相耦合电路,其特征是所述可编程读端口包括:
第一多路器,具有一输出和多个耦合到所述辅助I/O总线的选择辅助相互连接线的输入,可对所述多路器编程来根据所述第一选择信号的第一部分在其输出与所述多个输入之一之间传送信号;和
第二多路器,具有一电耦合到第一多路器的输出的输入,和多个耦合到所述多个基本相互连接线的选择基本相互连接线的输出,可对所述第二多路器编程来根据第一选择信号的第二部分在其输入与所述多个输出之一之间有选择地传送信号。
59.按照权利要求58可编程I/O相互耦合电路,其特征是所述可编程写端口包括:
第一多路器,具有一输出和多个输入,所述多个输入端的输入被耦合到所述基本I/O总线的选择基本相互连接线,可对所述第一多路器编程来根据所述第二选择信号的第一部分在其输出与所述多个输入之一有选择地传送信号;和
第二多路器,具有一接收对应于所述第一多路器的输出数据的数据的输入,和多个耦合到所述辅助I/O总线的选择辅助相互连接线的输出,所述第二多路器根据第二选择信号的第二部分将其输入有选择地耦合到所述多个输出之一。
60.按照权利59的可编程I/O相互耦合电路,其特征是所述可编程读端口还包括:
选择性锁存电路,置于所述第一多路器的输出与所述第二多路器的输入之间,可对所述选择性锁存电路编程以与由所述第一多路器的输出俘获的数据相关的方式有选择地将数据传送到所述第二多路器的输入或以直接与所述第一多路器输出的数据相关的方式将数据传送到所述第二多路器的输入,所述选择性锁存电路的选择性由一第三选择信号确定。
61.按照权利要求60的可编程I/O相互耦合电路,其特征是所述选择性锁存电路包括:
第三多路器,具有一耦合到所述第二多路器输入的输出,和至少第一和第二输入,所述输入之一根据第三选择信号有选择地耦合到其所述输出以便在其间传送信号;
触发器具有一耦合到所述第一多路器的输出的数据输入端,一耦合到第三多路器的所述第一输入以发送对应于其锁存的数据的数据的输出,以与一个锁存时钟信号同步的方式将在所述数据输入端处的数据锁存到所述触发器中;
所述第三多路器的第二输入直接耦合到所述第一多路器的输出。
62.按照权利要求61的可编程相互耦合电路,其特征是还包括:
一反相器,串联耦合在所述第一多路器的输出与所述第三多路器的第三输入之间。
63.按照权利要求61的可编程相互耦合电路,其特征是所述触发器具有一耦合到所述第三多路器的第三输入的附加的补充输出。
64.按照权利要求59的可编程相互耦合电路,其特征是所述可编程写端口还包括一可编程极性电路,用于在所述第一多路器的输出与所述第二多路器的输入之间传送信号,可对所述可编程极性电路编程来有选择地反相所述信号。
65.按照权利要求64的可编程相互耦合电路,其特征所述可编程极性电路包括:
一第三多路器,具有一第一和第二输入,和一耦合到所述第二多路器的输入的输出,可对所述第三多路器编程来将所述第一和第二输入之一耦合到其输出,将所述第一输入耦合到所述第一多路器的输出;和
一反相器,在所述第一多路器的输出与所述第三多路器的第二输入之间作电耦合。
66.一可编程地址译码器,其特征是包括:
M个字线;
多个传送地址数据的地址线;
一可编程反相器,以串联方式与所述多个地址线的一给定的地址线一起设置,所述可编程反相器根据一地址极性选择信号对一沿所述给定地址线传送的信号作有选择地反相;和
译码器电路,有选择地驱动根据经所述可编程反相器处理的所述多个地址线的地址数据而选择的所述M个字线的一给定字线。
67.按照权利要求66的可编程地址译码器,其特征是所述多个地址线的地址线各包含与其串连的一相关的所述可编程反相器,对该反相器逐一地按照一相关的地址极性选择信号加以编程来对沿所述各地址线传送的各个信号作有选择的反相;和
所述译码器电路有选择地驱动按照经所述可编程反相器处理的所述多个地址线的地址数据而选择的所述给定字线。
68.按照权利要求66的可编程数据译码器,其特征是还包括:
一选择性耦合器,具有多个耦合到一地址总线的相关线组的输入,和一耦合到所述多个地址线的一地址线的输出,所述选择性耦合器按照配置数据将其输出有选择地耦合到其多个输入之一。
69.按照权利要求66的可编程地址译码器,其特征是还包括:
一选择性耦合器,与所述多个地址线的各地址线相关联,所述各选择性耦合器按照相关配置数据将其相关的地址线有选择地耦合到一地址总线的一相关线组之一。
70.可编程地址译码器,其特征是包括:
M个字线;
多个用于传送地址数据的地址线;
一译码器电路,有选择地驱动一按照所述多个地址线的地址数据选择的所述M个字线的给定字线;和
一选择性耦合器,具有多个耦合到一地址总线的一相关线组的输入,和一耦合到所述多个地址线的一地址线的输出,所述选择性耦合器按照相关配置数据有选择地耦合其输出至其多个输入之一。
71.按照权利要求70的可编程地址译码器,其特征是所述多个地址线的每一地址线包含一相关的选择性耦合器;
所述各选择耦合器按照相关配置数据有选择地耦合其相关地址线至一地址总线的一相关线组之一。
72.可编程地址译码器,其特征是包括:
M个字线;
多个为接收地址数据的地址输入;
一为接收一启动信号的启动输入;
逻辑装置,用于在其所述多个地址输入端接收到其相关的地址数据和当经所述启动信号启动时,有选择地驱动所述多个M字线的一字线;和
按照一启动选择信号提供所述启动信号的可编程装置。
73.按照权利要求72的可编程地址译码器,其特征是所述可编程装置包括:
一启动多路器,具有通过耦合来接收一启动源信号的第一输入和一通过耦合来接收一固定信号的第二输入,其中所述启动多路器按照所述启动选择信号所选择的启动源信号或该固定信号之一提供所述启动信号。
74.按照权利要求73的可编程地址译码器,其特征是所述可编程装置还包括以串联方式配置于所述启动多路器和所述启动输入之间的可编程极性电路,用于按照一极性选择信号来有选择地使向所述启动输入传送的所述启动信号反相。
75.按照权利要求74的可编程地址译码器,其特征是所述可编程装置还包括:
一“与”门,具有一耦合到所述启动输入以提供所述启动信号的输出,一耦合到所述可编程极性电路以接收其经过选择反相的信号的第一输入,和一接收一时钟信号的第二输入,所述“与”门按照所述时钟信号和选择性反相信号在其输出端提供所述启动信号以驱动所述启动输入。
76.按照权利要求75的可编程地址译码器,其特征是所述可编程装置还包括:
一时钟多路器,有一通过耦合来接收时钟信号的第一输入,通过耦合来接收一固定信号的第二输入,和将所述时钟信号提供给所述“与”门的第二输入的输出,所述时钟多路器按照一时钟选择信号通过编程来将其输出有选择地耦合到其输入之一。
77.按照权利要求76的可编程地址译码器,其特征是所述可编程装置还包括:
可编程极性电路,以串联方式设置于所述时钟多路器和所述“与”门的第二输入之间,用于按照一第二极性选择信号有选择地使在所述时钟多路器的输出与所述“与”门的第二输入之间传输的时钟信号反相。
78.按照权利要求72的可编程地址译码器,其特征是还包括:
用于接收高地址启动信号的高地址启动输入;
其中所述逻辑装置,在其相关的地址数据被在所述多个地址输入上接收到时、在经所述启动信号启动时和在为所述高位地址启动信号启动时,有选择地驱动所述一字线。
79.按照权利要求78的可编程地址译码器,其特征是还包括:
高位地址译码器电路,具有有选择地进行耦合来接收高位地址信号的输入,和一进行耦合以按照的所述高位寻址数据来有选择地驱动所述高地址启动输入的输出。
80.按照权利要求79的可编程地址译码器,其特征是所述高位地址译码器电路包括:
一“与”门,具有一通过耦合以驱动所述高地址启动输入的输出,和多个用于接收所述高位寻址数据的输入。
81.按照权利要求80的可编程地址译码器,其特征是所述高位地址译码器电路还包括:
一多路器,具有一以所述高位寻址数据的数据驱动所述“与”门的所述多个输入的一输入的输出,和至少两个耦合到一地址总线的选择线的输入,可对所述多路器编程以按照一高地址选择信号将其输出耦合到其输入之一。
82.按照权利要求81的可编程译码器,其特征是所述高位地址译码电路还包括:
可编程反相器,置于所述多路器的输出和所述“与”门的相关的输入之间,所述可编程反相器按照一高地址极性选择信号将由所述多路器的输出到所述“与”门的相关输入传输的信号作有选择的反相。
83.一采用按照权利要求79的可编程地址译码器的存储器阵列,其特征是所述存储器阵列具有:
多个排列成行和列的存储器单元,一给定列的存储器单元共用一公共的局部位线;
一辅助位线结构;和
选择性驱动器,与各接收所述相关局部位线的局部数据的局部位线相关联,和在经所述高位地址译码电路输入的所述高位寻址启动信号启动时以对应于所述局部数据的输出数据驱动所述辅助位线结构的各个连线。
84.一存储器阵列,其特征是具有:
多个排列成行和列的存储器单元,所述存储单元的行可由各自的字线选择来在其中装载数据,所述多个存储单元共用一公共复位信号;和
一可编程地址译码器,具有耦合到所述多个行存储器单元的各个字线的M个字线输出,多个用于按照所述地址数据来寻址选择字线输出接收地址数据的输入,和一用于接收所述公共复位信号的复位禁止输出,所述可编程地址译码器按照所述公共复位信号禁止所述M个字线输入。
85.按照权利要求84的存储器阵列,其特征是所述可编程地址译码器包含一多路器,所述多路器具有一个用于提供所述复位信号至所述复位禁止输入的输出,一耦合到一复位线以接收初始复位信号的第一输入,和一耦合到一固定的信号的第二输入,可对所述多路器编程来将其输出有选择地耦合到所述第一和第二输入之一。
86.按照权利要求84的存储器阵列,其特征是所述可编程地址译码器还包括一与所述复位禁止输入相串联的可编程反相器,用于按照一极性选择信号有选择地反相所述公共复位信号。
87.一可编程存储器阵列,其特征是包括:
多个存储器子阵列,各存储器子阵列包含多个排列成行和列的存储器单元,多个局部位线,其中每一列存储器单元具有所述多个局部位线的一相关的局部位线,用于给出/接收数据至/从其存储器单元,和多个字线,其中所述多个存储器单元的每一行具有一相关的字线,该字线提供一个选择信号,用于控制所述行的存储器单元到相关的局部位线的存取;和
一可编程总线矩阵,用于有选择地配置各不同存储器子阵列的局部位线,
所述可编程总线矩阵可在一第一配置中编程,其中所述多个子阵列的一子阵列的局部位线被电互耦到所述多个子阵列的另一子阵列的对应局部位线,以便能为所述的一个和所述的另一个子阵列的对应列的各个存储器单元提供公共位线;和
所述可编程总线矩阵可在一第二配置中编程,其中所述多个子阵列的所述一子阵列的局部位线被电配置成与所述多个子阵列的所述另一子阵列的对应局部位线相并联以便能为存取所述一个和所述另一个子阵列的对应列的存储器单元提分立的并行位线。
88.按照权利要求87的可编程存储器阵列,其特征是包括:
一可编程地址译码器系统,用于接收给定的地址数据和根据所接收的给定地址数据驱动所述多个字线的选择字线,所述可编程地址译码器在一第一模式中可编程来作为所述选择字线驱动所述一子阵列的一字线或所述另一子阵列的一字线,而在第二模式中作为所述选择字线同时驱动所述一子阵列的一字线和所述另一子阵列的一对应字线。
89.按照权利要求88的可编程存储器阵列,其特征是所述可编程地地址译码器当所述可编程总线矩阵在所述第一配置中被编程以便能提供深RAM功能时被编程到所述第一模式,和所述可编程地址译码器当所述可编程总线矩阵在所述第二配置中被编程以提供宽RAM功能时被编程到所述第二模式。
90.按照权利要求88的可编程存储器阵列,其特征是所述可编程地址译码器包含有:
一用于传送地址数据的地址总线;和
各存储器子阵列的可编程地址译码器单元,各个可编程地址译码器单元包括:
M个字线输出,用以驱动所述存储器子阵列的所述行的各个字线;
多个用于由所述地址总线接收地址数据的地址输入;
一接收相关的启动信号的启动输入;和
逻辑装置,用于当所述一字线的地址数据在所述多个地址输入端被接收到和当经所述相关的启动信号启动时,有选择地驱动所述M字线的一字线。
91.按照权利要求90的可编程存储器阵列,其特征是各可编程地址译码器单元还包括一相关的高位地址译码器,用于提供所述相关的启动信号,所述相关的高位地址译码器包含有:
高位地址输入,用于由所述地址总线接收高位地址数据;和
可编程高位逻辑装置,用于在所述高位地址输入上接收到一给定地址时提供所述相关的启动信号,和可编程来产生与启动其相关的可编程地址译码器单元相关联的所述给定地址。
92.按照权利要求91的可编程存储器阵列,其特征是所述相关的高位地址译码器的所述可编程高位逻辑装置包括:
一“与”门,具有一耦合到所述启动输入的输出和多个输入;和
可编程选择装置,置于所述地址总线与所述“与”门的所述输入之间,可对所述可编程选择装置编程来按照一选择信号选择由其接收所述高位地址的所述地址总线的特定信号线;和
可编程极性装置,用于按照待形成的所述给定地址有选择地改变由所述特定的信号线向所述“与”门的输入传送的选择信号的极性。
93.按照权利要求87的可编程存储器阵列,其特征是所述可编程总线矩阵包含一层次位线结构,包括:
一低层位线,与所述多个存储器子阵列的各存储器子阵列的各列存储器单元相关联;
一半全局位线,与跨越所述多个存储器子阵列的至少两个相邻存储器子阵列的对应列存储器单元相关联;
一低层选择性耦合器,位于两相邻存储器子阵列的两对应列的低层位线之间,可对所述低层选择耦合器编程来在其中间传送信号;和
一层次选择性开关,置于各低层位线与同一列存储器单元相关联的相关半全局位线之间,可对所述各层次选择开关编程来在所述相关的低层位线与各个半全局位线之间传送信号。
94.按照权利要求93的可编程存储器阵列,其特征是还包括各存储器子阵列的各局部位线用的选择性耦合器,所述各选择性耦合器可按照层次选择信号进行编程来在其相关的局部位线与由所述低层位线和所述相关的半全局位线构成的组的一个位线之间有选择地传送信号。
95.按照权利要求94的可编程存储器阵列,其特征是还包括:
一基本数据总线,具有多个信号线,用于为所述可编程存储器阵列提供一外部数据接口;
其中所述可编程总线矩阵还包括与各存储器子阵列相关联的可编程路径选择矩阵装置,各可编程路径选择矩阵装置按照相关的路径选择信号通过编程来将相关的存储器子阵列各列的所述层次位线结构的选择位线有选择地互相耦合到所述基本数据总线的选择信号线。
96.按照权利要求87的可编程阵列,其特征是还包括一层次地址总线,包含有:
多个第一层地址线,第一个与多个存储器子阵列的各个存储器子阵列相关联;
多个第二层地址线,每一个与多个存储器子阵列的各个子集相关联;和
一全局地址线,与多个存储器子阵列相关联。
97.按照权利要求96的可编程存储器阵列,其特征是存储器子阵列的各个子集的两个具有至少一共用存储器子阵列,各个第二层地址线可有选择地连接到至少一个共用存储器子阵列。
98.一存储器阵列,其特征是包括:
Z个存储器块,所述存储器块的每一个包括总体为M×N个存储器单元的矩形子阵列;
地址线,可连接到所述存储器块的每一个;
数据线,可连接到所述存储器块的每一个;
I/O电路;和
编程部件,分布在所述地址线、数据线和I/O电路中,以使得所述Z个存储器块的至少一部分可依靠对所述编程部件进行编程而配置进一iM×jN存储器,其中i和j为正整数。
99.一用于多个存储单元的位线结构,其特征是包括:
多个第一层次位线,各第一层次位线与多个存储单元的一给定存储单元相关联;
多个第二层次位线,各第二层次位线与多个存储器单元的一不同的各自存储器单元组相关联,各第二层次位线部分地与至少一另外的第二层次位线重叠,此时所述各第二层次位线与所述一另外的第二层次位线的各个分组存储器单元共用一公共存储器单元;和
选择性多路器装置,对各存储器单元进行设置来将所述各存储器单元有选择地耦合到其相关的第一和第二层次位线之一。
100.按照权利要求99的位线层次结构,其特征是至少一个所述选择器多路器装置包含用于将其相关的存储器单元有选择地耦合到部分地重叠所述相关的第二层次位线的所述一另外的第二层次位线的装置。
101.按照权利要求99的位线层次结构,其特征是还包括:
与多个存储单元相关联的全局位线;
各选择性多路器,将其相关存储器单元有选择地耦合到存储器单元的相关的第一、第二和全局层次位线的一个位线。
102.按照权利要求101的位线层次结构,其特征是:
多个存储单元各包含一列存储器单元和一用于联系该列存储器单元的内部位线;和
各选择性耦合器有选择地将所述一位线耦合到其相关的存储器单元的内部位线。
103.按照权利要求102的多个位线结构,用于联系该多个存储器单元的各个列存储器单元。
104.按照权利要求102的位线层次结构,用于由该多个存储器单元读取数据,其特征是各选择性多路器装置包含有:
放电装置,在按照相关的配置数据被启动时由该相关存储器单元的内部位线的数据对各个第二或全局层次位线进行放电。
105.按照权利要求104的位线层次结构,其特征是放电装置包含:
第一和第二可作门控的分别用于所述第二和全局层次位线的放电路径;
所述第一可作门控的放电路径首先按照所述相关的内部位线的数据被选通,然后再按相关的第二层次开关启动数据选通;和
所述第二可作门控的放电路径首先按所述相关的内部位线的数据被选通,而其次再按相关的全局层次开关启动数据选通。
106.按照权利要求105的位线层次结构,其特征是所述第一和第二可门控的放电路径包括:
一基本晶体管,其栅极按照所述相关的内部位线的数据驱动;和
一辅助晶体管,其栅极经各自的开关启动数据驱动,
其中所述基本和辅助晶体管的沟道串联地设置在各个层次位线与一已知的电位放电装置之间。
107.按照权利要求104的位线层次结构,其特征是还包括:
用于所述各个第一、第二和全局层次位线的预充电电路,用于将所述相关的位线预充电到一预定的电压电位。
108.按照权利要求107的位线层次结构,其特征是所述预充电电路包括:
一P沟道晶体管,其沟道串联地设置在一预定电位的预充电源与所述相关层次位线之间,而其栅极由相关的层次预充电启动信号驱动。
109.按照权利要求108的位线层次结构,其特征是所述预充电电路还包括:
一辅助P沟道晶体管,其沟道串接于所述预充电源与所述相关层次位线之间;和
一反相器,按照所述相关层次位线的数据驱动所述辅助P沟道晶体管的栅极。
110.按照权利要求109的位线层次结构,其特征是所述辅助P沟道晶体管的沟道导通电阻大于所述相关的放电装置的源电阻。
111.按照权得要求102的位线层次结构,其特征是还包括:
与所述第一、第二和全局层次位线每一个相关联的选择性传送锁存器,用于同步地经各个层次传送时钟联系所述各个层次位线。
112.按照权利要求111的位线层次结构,用于由存储器读取数据,其特征是所述选择性传送锁存器包括:
一具有一输入和输出的锁存器电路;
一反相器;和
一晶体管,其沟道与所述反相器串接在所述相关层次位线与所述锁存器的输入间,且其栅极由其相关的层次传送时钟驱动。
113.按照权利要求111的位线层次结构,被用于对所述多个存储单元的可编程读接口中,其特征是还包括:
具有多个信号线的基本I/O总线;和
读端口,具有第一、第二和第三层次输入,用于由与一给定存储器单元相关联的所述第一、第二和全局层次位线的各自的传送锁存器接收数据,所述读端口能以相关的读端口配置数据编程来由在所述第一、第二和全局输入端之一接收的数据有选择地驱动所述基本I/O总线的一选择信号线。
114.按照权利要求113的可编程读接口,其特征是所述读端口包括:
各个三态反相器,用于由所述读端口的所述第一、第二和全局输入的每一个分别接收数据,此三态反相器的每一个按照所述读端口配置数据被独立地和有选择地启动;和
选择性驱动装置,其输入电耦合到所述三态反相器的各输出,和由所述读端口配置数据有选择地驱动所述基本I/O总线的一选择线。
115.按照权利要求114的可编程读接口,其特征是还包括以类似方式与所述多个存储器单元的每一个其他存储器单元相关联的所述读端口之一。
116.按照权利要求102的位线层次接口,被用于连到所述多个存储器单元的可编程写接口中,其特征是还包括:
基本I/O总线,具有多个信号线;和
写端口,具有与一给定存储器单元相关联的分别耦合到所述第一、第二和全局层次位线的第一、第二和全局输出,所述写端口可由相关的写端口配置数据编程来按照由所述基本I/O总线的一选择信号线接收的数据有选择地驱动其输出。
117.按照权利要求116的可编程写接口,其特征是所述写端口包括:
选择性多路器装置,用于由所述基本I/O总线的所述多个信号线的一选择信号线有选择地接收数据;
驱动器,按所述选择性多路器装置所接收的数据驱动所述相关第一层次位线;和
各个三态驱动器,用于有选择地分别驱动所述写端口的所述第二和全局输出的每一个,每一个三态驱动器按照所述写端口配置数据被分别地和选择地启动。
118.按照权利要求117的可编程写接口,其特征是:
所述驱动器包括一第一反相器;和
所述三态驱动器包括三态反相器。
119.按照权利要求118的可编程写接口,其特征是所述写端口还包括:
第二反相器,串接在所述选择性多路器的输出数据通路中,以使提供到所述第一反相器和所述三态驱动器的数据反相。
120.按照权利要求118的可编程写接口,其特征是所述写端口还包括:
可编程反相装置,用于使由所述选择性多路器装置接收的数据有选择地反相。
121.按照权利要求117的可编程写接口,其特征是还包括以类似方式与所述多个存储器单元的每一个其他存储器单元相关联的所述写端口之一。
122.一选择性读俘获锁存器,用于有选择地联系一层次位线结构,所述选择性读俘获锁存器包括:
至少第一和第二层次输入,用于由层次位线结构的各个第一和第二层次位线接收数据;
具有一输入和输出的存储器单元,所述存储器单元用于按照在其输入接收的数据保持数据,和按其中保持的数据在其输出端提供数据;和
选择性耦合装置,位于所述至少第一和第二层次输入端和所述存储器单元的所述输入端之间,用于按照一相关层次读俘获时钟将所述第一和第二层次输入之一有选择地耦合到所述存储器单元的所述输入端以便在它们中间传送数据。
123.按照权利要求122的选择性读俘获锁存器,其特征是所述存储器单元包括一锁存器。
124.按照权利要求122的选择性读俘获锁存器,其特征是所述选择性耦合装置包括:
第一晶体管,其沟道串接在所述第一层次输入与至所述存储器单元的所述输入之间,和其栅极用于接收一第一层次俘获时钟;和
第二晶体管,其沟道位于所述第二层次输入与至所述存储器单元的所述输入之间,和其栅极用于接收一第二层次俘获时钟。
125.按照权利要求124的选择性耦合器,其特征是所述选择性耦合装置还包括:
第一和第二缓冲器,与各个所述第一和第二晶体管的沟道串联地置于所述存储器单元的输入与各个所述第一和第二层次输入之间。
126.按照权利要求124的选择性读俘获锁存器,其特征是还包括:
预充电装置,用于按照与所述至少一位线相关联的所述第一和第二层次俘获时钟的各自的一俘获时钟的相关的预充电信号,对层次位线结构的各个第一和第二层次位线的至少一个位线进行预充电。
127.按照权利要求126的选择性读俘获锁存器,其特征是所述预充电装置包括:
一P沟道晶体管,其沟道串接于一预定电压电位的预充电源与所述至少一位线之间,并且其栅极由相关的预充电信号驱动。
128.按照权利要求127的选择性读俘获锁存器,其特征是所述预充电装置还包括:
一辅助P沟道晶体管,其沟道串接在所述预充电源与所述至少一位线之间;和
一反相器,具有一输入和一按照在其输入接收的所述至少一位线的数据驱动所述辅助P沟道晶体管的输出。
129.按照权利要求128的选择性读俘获锁存器,其特征是所述辅助P沟道晶体管具有大于与所述至少一位线相关联的源电阻的沟道导通电阻。
130.按照权利要求126的选择性读锁存器,其特征是还包括用于提供具有一个不与各个俘获时钟的有效俘获期间重叠的有效预充电期间的所述预充电信号的装置。
131.按照权利要求124的选择性锁存器,其特征是还包括:
第一反相器,其输入耦合到第一层次输入以接收层次位线结构的第一层次位线的数据,和其输出驱动所述晶体管的沟道;和
第二反相器,其输入耦合到第二层次输入以接收层次位线结构的第二层次位线的数据;和其输出驱动所述第二晶体管的沟道。
132.按照权利要求131的选择性锁存器,其特征是还包括:
预充电装置,用于按照与所述至少一位线相关联的第一和第二层次结构俘获时钟的各自的一俘获时钟的相关的预充电信号对层次位线结构的各个第一和第二位线的至少一位线进行预充电。
133.按照权利要求132的选择性锁存器,其特征是所述预充电装置包括:
P沟道晶体管,其沟道串接在一预定电压电位的预充电源与所述至少一位线之间,和其栅极由相关的预充电信号驱动。
134.按照权利要求133的选择性锁存器,其特征是所述预充电装置还包括:
选择晶体管,其沟道与所述P沟道晶体管相串联地设置在所述预充电源和所述至少一位线之间,且其栅极按照相关层次配置数据驱动。
135.按照权利要求134的选择性锁存器,其特征是所述预充电装置还包括:
辅助P沟道晶体管,其沟道串接在所述预充电源与所述至少一位线间,而其栅极由所述第一反相器的输出驱动;和
辅助选择晶体管,其沟道与所述辅助P沟道晶体管相串联地设置在所述预充电源与所述至少一位线之间,而其栅极与所述基本选择晶体同样按照所述层次配置数据驱动。
136.按照权利要求124的选择性读俘获锁存器,其特征是还包括:
时钟发生器,具有至少第一和第二读位线定时输入,以接收各个的第一和第二读定时信号、至少第一和第二各个的俘获时钟输出;和
用于接收配置启动数据的配置输入,所述时钟发生器提供经各个第一和第二读定时信号触发和在经该配置启动数据启动的各个第一和第二层次俘获时钟。
137.按照权利要求136的选择性读俘获锁存器,其特征是所述时钟发生器包括:
第一“与”门,具有一作为所述第一读位线定时输入的输入,用于接收第一读定时信号,一作为所述配置输入的一部分的第二输入,用于接收所述配置数据的第一层次时钟启动数据,和一用于提供选通的第一读定时信号的输出;
第一触发器,其时钟端由来自所述第一“与”门输出的所选通的第一读定时信号驱动,其数据输入端耦合到一预定的电压源,和其输出端耦合到所述第一晶体管的栅极以提供该第一层次俘获时钟;
第二“与”门,具有一作为所述第二读位线定时输入的输入端,用于接收第二读定时信号,一作为所述配置输入的另一部分的第二输入,用于接收所述配置启动数据的第二层次时钟启动数据,和一用于提供选通的第二读定时信号的输出;和
第二触发器,其时钟输入端由来自所述第二“与”门输出的被选通的第二读定时信号驱动,其数据输出端耦合到预定的电压源,和其输出耦合到所述第二晶管的栅极以提供第二层次俘获时钟。
138.按照权利要求137的选择性读俘获锁存器,其特征是所述时钟发生器还包括延时装置,用于在接收到所述第一和第二层次俘获时钟的相关的一俘获时钟时在一预定的延时后将一延时的复位信号反馈到至少一个所述第一和第二触发器的复位输入。
139.可编程存储器阵列,具有多个排列成行和列的存储器单元,各行单元具有一相关的可寻址的字线,各列单元具有与之相关联的可编程位线结构,其特征是可编程位线结构包括:
多个第一层次位线,所述多个第一层次位线的至少两个第一层次位线的每个与所述给定列单元的各个子阵列组的存储器单元相关联;
第二层次位线,与所述给定列的各个区段存储器单元相关联,所述区段拥有与所述至少两个第一层次位线相关联的所述给定列的所述子阵列存储器单元组;
与各子阵列组的存储器单元相关联的内部子阵列位线,用于在经其相关的行字线作可寻址启动的所述给定列中提供由其相关的子阵列组的一给定存储器单元读出的数据的传送;
选择性耦合器,用于至少一个所述可编程内部子阵列位线,按照给定的层次配置数据在其相关的内部子阵列位线和包含至少一个所述第一层次位线和所述第二层次位线的一组的一位线之间有选择地传送信号;
读端口,用于输出由所述给定列存储器单元的给定存储器单元读取的数据;和
选择性读俘获锁存器,用于由所述第一层次位线和所述第二层次位线的至少一个的选择位线中有选择地俘获其中的数据,和具有一个用于将所述被俘获的数据提供给所述读端口的输出。
140.按照权利要求139的可编程存储器阵列,其特征是所述选择性读俘获锁存器包括:
至少第一和第二层次输入端,分别耦合到至少一第一层次位线和所述第二层次位线;
存储器单元;
选择性耦合装置,按照相关的层次读俘获时钟有选择地耦合所述存储器单元以便由所述第一和第二层次输入之一接收数据从而俘获其中的数据。
141.按照权利要求140的可编程存储器阵列,其特征是所述存储器单元包括一锁存器,它具有一耦合到所述选择耦合装置的输入,和一将其锁存的数据发送到所述读端口的输出。
142.按照权利要求141的可编程存储器阵列,其特征是所述选择性读俘获锁存器的所述选择性耦合装置包括:
第一晶体管,其沟道串接在所述第一层次输入和所述存储器单元之间,用于按照一第一层次俘获时钟在它们中间作有选择地传送信号,其栅极接收此第一层次俘获时钟;和
第二晶体管,其沟道串接在所述第二层次输入和所述存储单元之间,用于按照一第二层次俘获时钟在它们之间有选择地传送信号,和其栅极接收此第二层次俘获时钟。
143.按照权利要求142的可编程存储器阵列,其特征是所述选择性读俘获锁存器的所述选择性耦合装置还包括:
预充电装置,按照与所述至少一位线相关的所述第一和第二层次俘获时钟的各自一俘获时钟的相关层次预充电信号对所述至少第一层次位线和所述第二层次位线的至少一位线进行预充电。
144.按照权利要求143的可编程存储器阵列,其特征是所述预充电装置包括一基本预充电晶体管,其沟道串接在一预定电压电位的预充电源和所述至少一位线之间,和其栅极由相关的层次预充电信号驱动。
145.按照权利要求144的可编程存储器阵列,其特征是所述预充电装置包括:
基本抑制晶体管,其沟道串接于所述预充电源的和所述至少一位线之间;和
反相器,具有一输入和一输出,其输出按照由反相器的输入的所述至少一位线的数据驱动所述基本抑制晶体管的栅极。
146.按照权利要求145的可编程存储器阵列,其特征是所述基本抑制晶体管具有大于与所述至少一位线相关联的源电阻的沟道导通电阻。
147.按照权利要求145的可编程存储器阵列,其特征是包括:
用于所述至少一第一层次位线的一第一所述预充电装置,和用于所述第二层次位线的一第二所述预充电装置;
所述第一预充电装置的反相器被串接在所述至少一位线与读俘获锁存器的所述第一晶体管之间;和
所述第二预充电装置的所述反相器被串接在所述第二层次位线与所述读俘获锁存器的所述第二晶体管之间。
148.按照权利要求147的可编程存储器阵列,其特征是用于对所述至少一第一层次位线进行预充电的所述第一预充电装置还包括:
辅助预充电晶体管,其沟道与所述基本预充电晶体管的沟道相串联地设置在所述预充电源与所述至少一第一层次位线之间,和其栅极由第一层次配置数据驱动;和
用于对所述第二层次位线进行预充电的所述第二预充电装置还包括:
辅助预充电晶体管,其沟道与所述基本预充电晶体管的沟道串联地设置在所述预充电源与所述至少一第一层次位线之间,其栅极由一第二层次配置数据驱动;和
辅助抑制晶体管,其沟道与基本抑制晶体管相串联设置在所述预充电源与所述至少一第一层次位线之间,其栅极由第二层次配置数据驱动。
149.按照权利要求148的可编程存储器阵列,其特征是还包括:
按照一第一层次读时钟提供作为所述第一预充电装置的相关层次预充电信号的第一层次预充电信号的装置,具有一与一相关的读访问重叠的待用预充电期间;和
用于按照一第二层次读时钟提供作为所述第二预充电装置的相关层次预充电信号的第二层次预充电信号的装置,具有与相关的读访问重叠的待用预充电期间。
150.按照权利要求139的可编程存储器阵列,其特征是:
可编程存储器阵列的各可寻址行存储器单元包含有一已知状态的虚设单元用来产生一读定时信号;
所述虚设单元属于多个存储器单元的一虚设列,其相关的可编程位线结构作为定时读位线结构,用于传送一读定时信号,所述定时读位线结构对应于和可经与另外列的存储器单元的所述可编程位线结构相同的层次配置作可编程的配置,和此阵列包含一时钟发生器具有:
至少第一和第二定时读位线输入端,耦合到该定时读位线结构的各个第一和第二层次位线用于接收各自的第一和第二层次读定时信号;
至少第一和第二输出端;和
一配置输入,用于接收配置启动数据;
所述时钟发生器在各自的第一和第二输出端提供可选择的经各个第一和第二读定时信号触发的和经配置启动信号启动的第一和第二层次俘获时钟。
151.按照权利要求150的可编程存储器阵列,其特征是所述时钟发生器包含有一置位输入端,用于静态地启动其输出以作异步传送数据层用。
152.按照权利要求150的可编程存储器阵列,其特征是所述时钟发生器包括:
第一“与”门,其第一输入端用作所述第一定时读位线输入以接收第一读定时信号,其第二输入具有所述配置输入的一部分,用以接收所述配置启动数据的第一层次时钟启动数据,和一输出,用于提供一选通的读定时信号;
第一触发器,其时钟端由所述“与”门输出的选通的第一读定时信号驱动,其数据输入端耦合到一预定的电压源,和其输出端耦合到所述第一晶体管的栅极以便提供第一层次俘获时钟;
第二“与”门,具有一第一输入端作为所述第二定时读位线输入以接收第二读定时信号,一第二输入端具有所述配置输入的另一部分,用于接收所述配置启动数据的辅助层次时钟启动数据,和一输出端,用于提供一选通的第二读定时信号;和
第二触发器,其时钟输入端由所述第二“与”门的输出的选通的第二读定时信号驱动,其数据输入端耦合到预定的电压源,和其输出端耦合到所述第二晶体管的栅极,用于提供第二层次俘获时钟。
153.按照权利要求152的可编程存储器阵列,其特征是所述时钟发生器还包括延时装置,用于在接收到所述第一和第二层次俘获时钟的相关的一俘获时钟经过一预定的延时后将一经延时的复位信号反馈到所述第一和第二触发器中至少一个的复位输入端。
154.按照权利要求152的可编程存储器阵列,其特征是所述提供第一层次预充电信号的装置包含有:
多路器装置,用于根据相关的预充电配置数据由所述定时读位线结构的一选择位线选择相关的读定时信号;和
脉冲发生器,用于产生第一层次预充电信号脉冲以驱动所述基本预充电晶体管的栅极,该脉冲具有大于第一层次俘获时钟的俘获脉冲的时间宽度,被延时来与其基本上同步,和具有截止所述基本预充电晶体管的极性。
155.按照权利要求139的可编程存储器,其特征是所述选择性读俘获锁存器包含三态缓冲器,用于为所述读端口在经相关的配置数据启动时有选择地将代表所述被锁存的数据的数据输出到其输出端。
156.可编程存储器阵列,其中具有多个存储器单元子阵列和包含输入/输出电路的支持电路、地址线、数据线和译码电路,其特征是所述可编程存储器阵列包括:
配置电路,连接在支持电路内,和其中具有用户可编程部件,用于为该阵列的多个子阵列的每一个配置支持电路来提供多个用户选择的访问模式,此多个子阵列可同时以他们各自的用户选择模式操作。
157.按照权利要求156的可编程存储器阵列,其特征是不包括一连接到配置电路的配置存储器,用于保持用户选择的访问模式信息。
158.按照权利要求156的可编程存储器阵列,每一各自的用户选择的访问模式可由宽存储器和深存储器所形成的组中选择。
159.按照权利要求156的可编程存储器阵列,每一各自的用户选择的访问模式可由FIFO,宽存储器和深存储器所形成的组中选择。
160.按照权利要求156的可编程存储器阵列,每一各自的用户选择的访问模式可由单端口存储器和双端口存储器所形成的组中选择。
161.按照权利要求156的可编程存储器阵列,每一各自的用户选择的访问模式可由单端口和双端口寄存器阵列所形成的组中选择。
162.一可编程门阵列,其中具有多个可编程逻辑单元,其特征是所述可编程门阵列还包括如权利要求156中所述的可编程存储器阵列。
163.按照权利要求156可编程存储器阵列,其特征是各个用户选择的用户访问模式包括一只读存储器。
164.一种可编程存储器阵列,其特征在于包括:
至少一个具有多个存储器单元的子阵列;
用于由该至少一子阵列的单元传送出存储器单元数据的引线;
以可编程方式连接到该引线的预充电装置;和
连接在该至少一子阵列与该引线之间的驱动装置,该装置以可编程的方式工作于第一模式,其中根据存储器单元数据实现所述引线的放电,和工作于一第二模式,其中根据存储器单元数据实现所述引线的驱动。
165.按照权利要求164的可编程存储器阵列,其特征是该预充电装置在该第一模式中连接到该引线和在该第二模式中从该引线分离。
166.按照权利要求165的可编程存储器阵列,其特征是该第一模式为同步子阵列操作和该第二模式为异步子阵列操作。
167.按照权利要求164的可编程存储器阵列,其特征是该驱动装置以可编程方式工作于一第三模式,其中对该引线提供高阻抗。
CN96121505A 1995-12-20 1996-12-09 现场可编程存储器阵列 Expired - Lifetime CN1117379C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US575,312 1995-12-20
US575312 1995-12-20
US08/575,312 US5914906A (en) 1995-12-20 1995-12-20 Field programmable memory array

Publications (2)

Publication Number Publication Date
CN1159060A true CN1159060A (zh) 1997-09-10
CN1117379C CN1117379C (zh) 2003-08-06

Family

ID=24299802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN96121505A Expired - Lifetime CN1117379C (zh) 1995-12-20 1996-12-09 现场可编程存储器阵列

Country Status (7)

Country Link
US (10) US5914906A (zh)
EP (1) EP0780846A3 (zh)
JP (1) JPH09186581A (zh)
KR (1) KR100267425B1 (zh)
CN (1) CN1117379C (zh)
SG (1) SG104910A1 (zh)
TW (1) TW297128B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100359602C (zh) * 2002-06-20 2008-01-02 中兴通讯股份有限公司 一种有效利用现场可编程门阵列中的存储器的方法
CN103324594A (zh) * 2013-06-27 2013-09-25 成都林海电子有限责任公司 一种基于FPGA的PCI Express AHBUS状态机的实现方法
CN103514938A (zh) * 2012-06-20 2014-01-15 中国科学院微电子研究所 一种多级选通装置
CN103928048A (zh) * 2013-01-14 2014-07-16 飞思卡尔半导体公司 带有匹配地址和数据线控制的多端口存储器
WO2017012072A1 (zh) * 2015-07-21 2017-01-26 京微雅格(北京)科技有限公司 Fpga的配置存储器上电初始化的电路和方法
CN108021413A (zh) * 2017-12-28 2018-05-11 浙江大华技术股份有限公司 一种fpga在线升级方法及设备
CN108365843A (zh) * 2017-01-26 2018-08-03 株式会社东芝 集成电路和电子设备
WO2022033174A1 (zh) * 2020-08-12 2022-02-17 长鑫存储技术有限公司 先入先出存储器及存储装置
US11830577B2 (en) 2020-08-12 2023-11-28 Changxin Memory Technologies, Inc. First in first out memory and memory device

Families Citing this family (185)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100566466B1 (ko) * 1995-01-31 2006-03-31 가부시끼가이샤 히다치 세이사꾸쇼 반도체 메모리 장치
US6148376A (en) 1996-05-10 2000-11-14 Apple Computer, Inc. Method and apparatus for an improved stack arrangement and operations thereon
US5715197A (en) 1996-07-29 1998-02-03 Xilinx, Inc. Multiport RAM with programmable data port configuration
US5959466A (en) 1997-01-31 1999-09-28 Actel Corporation Field programmable gate array with mask programmed input and output buffers
US5821776A (en) * 1997-01-31 1998-10-13 Actel Corporation Field programmable gate array with mask programmed analog function circuits
US6150837A (en) 1997-02-28 2000-11-21 Actel Corporation Enhanced field programmable gate array
DE19740695C2 (de) * 1997-09-16 2002-11-21 Infineon Technologies Ag Datenspeicher mit Mehrebenenhierarchie
US6052327A (en) * 1997-10-14 2000-04-18 Altera Corporation Dual-port programmable logic device variable depth and width memory array
US6288970B1 (en) 1997-10-16 2001-09-11 Altera Corporation Programmable logic device memory array circuit having combinable single-port memory arrays
US6191998B1 (en) 1997-10-16 2001-02-20 Altera Corporation Programmable logic device memory array circuit having combinable single-port memory arrays
US6104208A (en) * 1998-03-04 2000-08-15 Altera Corporation Programmable logic device incorporating function blocks operable as wide-shallow RAM
US7146441B1 (en) * 1998-03-16 2006-12-05 Actel Corporation SRAM bus architecture and interconnect to an FPGA
US6049487A (en) * 1998-03-16 2000-04-11 Actel Corporation Embedded static random access memory for field programmable gate array
US6492833B1 (en) * 1998-04-30 2002-12-10 Altera Corporation Configurable memory design for masked programmable logic
US6282143B1 (en) * 1998-05-26 2001-08-28 Hewlett-Packard Company Multi-port static random access memory design for column interleaved arrays
US6137307A (en) * 1998-08-04 2000-10-24 Xilinx, Inc. Structure and method for loading wide frames of data from a narrow input bus
US6334169B1 (en) * 1998-09-30 2001-12-25 International Business Machines Corporation System and method for improved bitwrite capability in a field programmable memory array
FR2787600B1 (fr) * 1998-12-17 2001-11-16 St Microelectronics Sa Memoire tampon associee a plusieurs canaux de communication de donnees
US6262933B1 (en) 1999-01-29 2001-07-17 Altera Corporation High speed programmable address decoder
JP3616518B2 (ja) 1999-02-10 2005-02-02 日本電気株式会社 プログラマブルデバイス
EP1177631B1 (en) * 1999-05-07 2005-12-28 Infineon Technologies AG Heterogeneous programmable gate array
AU5805300A (en) * 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
US6107975A (en) * 1999-06-28 2000-08-22 The United States Of America As Represented By The National Security Agency Programmable antenna
US6347346B1 (en) * 1999-06-30 2002-02-12 Chameleon Systems, Inc. Local memory unit system with global access for use on reconfigurable chips
US6256253B1 (en) * 2000-02-18 2001-07-03 Infineon Technologies North America Corp. Memory device with support for unaligned access
US6201750B1 (en) 2000-06-21 2001-03-13 International Business Machines Corporation Scannable fuse latches
IL137635A0 (en) 2000-08-01 2001-10-31 Visionix Ltd Apparatus for interactive optometry
US6661730B1 (en) 2000-12-22 2003-12-09 Matrix Semiconductor, Inc. Partial selection of passive element memory cell sub-arrays for write operation
US6862676B1 (en) 2001-01-16 2005-03-01 Sun Microsystems, Inc. Superscalar processor having content addressable memory structures for determining dependencies
US7299203B1 (en) * 2001-04-19 2007-11-20 Xilinx, Inc. Method for storing and shipping programmable ASSP devices
US6462579B1 (en) 2001-04-26 2002-10-08 Xilinx, Inc. Partial reconfiguration of a programmable gate array using a bus macro
US6388466B1 (en) * 2001-04-27 2002-05-14 Xilinx, Inc. FPGA logic element with variable-length shift register capability
US6629194B2 (en) * 2001-05-31 2003-09-30 Intel Corporation Method and apparatus for low power memory bit line precharge
US8332502B1 (en) 2001-08-15 2012-12-11 Metavante Corporation Business to business network management event detection and response system and method
EP1306849B1 (en) * 2001-10-19 2008-02-27 Samsung Electronics Co., Ltd. Devices and methods for controlling active termination resistors in a memory system
US7376767B1 (en) 2002-01-04 2008-05-20 Xilinx, Inc. Distributed buffering system having programmable interconnecting logic and applications thereof
WO2003071660A2 (en) * 2002-02-19 2003-08-28 Parker-Hannifin Corporation Linear motor with magnet rail support
US6594171B1 (en) * 2002-03-07 2003-07-15 Hewlett-Packard Development Company, L.P. Memory systems and methods of making the same
US6774667B1 (en) 2002-05-09 2004-08-10 Actel Corporation Method and apparatus for a flexible chargepump scheme for field-programmable gate arrays
US7378867B1 (en) * 2002-06-04 2008-05-27 Actel Corporation Field-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers
US7112994B2 (en) 2002-07-08 2006-09-26 Viciciv Technology Three dimensional integrated circuits
US7673273B2 (en) 2002-07-08 2010-03-02 Tier Logic, Inc. MPGA products based on a prototype FPGA
US20040004251A1 (en) * 2002-07-08 2004-01-08 Madurawe Raminda U. Insulated-gate field-effect thin film transistors
US6992503B2 (en) 2002-07-08 2006-01-31 Viciciv Technology Programmable devices with convertibility to customizable devices
US7129744B2 (en) * 2003-10-23 2006-10-31 Viciciv Technology Programmable interconnect structures
US6982587B2 (en) * 2002-07-12 2006-01-03 Rambus Inc. Equalizing transceiver with reduced parasitic capacitance
US6765427B1 (en) 2002-08-08 2004-07-20 Actel Corporation Method and apparatus for bootstrapping a programmable antifuse circuit
US7434080B1 (en) 2002-09-03 2008-10-07 Actel Corporation Apparatus for interfacing and testing a phase locked loop in a field programmable gate array
DE60235888D1 (de) * 2002-09-12 2010-05-20 St Microelectronics Asia Pseudo- Zweidimensionaler Speicher mit wahlfreiem Zugriff
US6750674B1 (en) 2002-10-02 2004-06-15 Actel Corporation Carry chain for use between logic modules in a field programmable gate array
US8643162B2 (en) * 2007-11-19 2014-02-04 Raminda Udaya Madurawe Pads and pin-outs in three dimensional integrated circuits
US7812458B2 (en) * 2007-11-19 2010-10-12 Tier Logic, Inc. Pad invariant FPGA and ASIC devices
US6727726B1 (en) 2002-11-12 2004-04-27 Actel Corporation Field programmable gate array architecture including a buffer module and a method of distributing buffer modules in a field programmable gate array
US7793020B1 (en) * 2002-11-27 2010-09-07 International Business Machines Corporation Apparatus and method to read information from an information storage medium
US6825690B1 (en) 2003-05-28 2004-11-30 Actel Corporation Clock tree network in a field programmable gate array
US6838902B1 (en) * 2003-05-28 2005-01-04 Actel Corporation Synchronous first-in/first-out block memory for a field programmable gate array
US7385419B1 (en) * 2003-05-30 2008-06-10 Actel Corporation Dedicated input/output first in/first out module for a field programmable gate array
US6867615B1 (en) * 2003-05-30 2005-03-15 Actel Corporation Dedicated input/output first in/first out module for a field programmable gate array
US6940779B2 (en) * 2003-08-13 2005-09-06 Lattice Semiconductor Corporation Programmable broadcast initialization of memory blocks
US6912165B2 (en) * 2003-08-22 2005-06-28 International Business Machines Corporation Method for transparent updates of output driver impedance
US7030651B2 (en) 2003-12-04 2006-04-18 Viciciv Technology Programmable structured arrays
US8250295B2 (en) 2004-01-05 2012-08-21 Smart Modular Technologies, Inc. Multi-rank memory module that emulates a memory module having a different number of ranks
US7042792B2 (en) * 2004-01-14 2006-05-09 Integrated Device Technology, Inc. Multi-port memory cells for use in FIFO applications that support data transfers between cache and supplemental memory arrays
US7193432B1 (en) 2004-02-14 2007-03-20 Herman Schmit VPA logic circuits
US7126381B1 (en) 2004-02-14 2006-10-24 Herman Schmit VPA interconnect circuit
US7167025B1 (en) * 2004-02-14 2007-01-23 Herman Schmit Non-sequentially configurable IC
US7425841B2 (en) 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
US7284222B1 (en) * 2004-06-30 2007-10-16 Tabula, Inc. Method and apparatus for identifying connections between configurable nodes in a configurable integrated circuit
US7109752B1 (en) 2004-02-14 2006-09-19 Herman Schmit Configurable circuits, IC's, and systems
US7126373B1 (en) 2004-02-14 2006-10-24 Herman Schmit Configurable logic circuits with commutative properties
US7193440B1 (en) * 2004-02-14 2007-03-20 Herman Schmit Configurable circuits, IC's, and systems
US7157933B1 (en) 2004-02-14 2007-01-02 Herman Schmit Configurable circuits, IC's, and systems
US7707472B1 (en) 2004-05-17 2010-04-27 Altera Corporation Method and apparatus for routing efficient built-in self test for on-chip circuit blocks
US7489164B2 (en) 2004-05-17 2009-02-10 Raminda Udaya Madurawe Multi-port memory devices
US7408382B2 (en) * 2004-06-30 2008-08-05 Tabula, Inc. Configurable circuits, IC's, and systems
US7193438B1 (en) 2004-06-30 2007-03-20 Andre Rohe Configurable integrated circuit with offset connection
US7145361B1 (en) * 2004-06-30 2006-12-05 Andre Rohe Configurable integrated circuit with different connection schemes
US7282950B1 (en) * 2004-11-08 2007-10-16 Tabula, Inc. Configurable IC's with logic resources with offset connections
US7449915B2 (en) * 2004-06-30 2008-11-11 Tabula Inc. VPA logic circuits
US7312630B2 (en) * 2004-06-30 2007-12-25 Tabula, Inc. Configurable integrated circuit with built-in turns
US7439766B2 (en) * 2004-06-30 2008-10-21 Tabula, Inc. Configurable logic circuits with commutative properties
US7151709B2 (en) * 2004-08-16 2006-12-19 Micron Technology, Inc. Memory device and method having programmable address configurations
US7031211B1 (en) * 2004-10-08 2006-04-18 Atmel Corporation Direct memory access interface in integrated circuits
US7454675B1 (en) * 2004-10-22 2008-11-18 Xilinx, Inc. Testing of a programmable device
US7301368B2 (en) * 2005-03-15 2007-11-27 Tabula, Inc. Embedding memory within tile arrangement of a configurable IC
US7317331B2 (en) 2004-11-08 2008-01-08 Tabula, Inc. Reconfigurable IC that has sections running at different reconfiguration rates
US7573296B2 (en) 2004-11-08 2009-08-11 Tabula Inc. Configurable IC with configurable routing resources that have asymmetric input and/or outputs
US7917559B2 (en) * 2004-11-08 2011-03-29 Tabula, Inc. Configurable IC's with configurable logic circuits that perform adder and/or subtractor operations
US7242216B1 (en) 2004-11-08 2007-07-10 Herman Schmit Embedding memory between tile arrangement of a configurable IC
US7224181B1 (en) 2004-11-08 2007-05-29 Herman Schmit Clock distribution in a configurable IC
US20070244958A1 (en) * 2004-11-08 2007-10-18 Jason Redgrave Configurable IC's with carry bypass circuitry
US7276933B1 (en) * 2004-11-08 2007-10-02 Tabula, Inc. Reconfigurable IC that has sections running at different looperness
US7342415B2 (en) * 2004-11-08 2008-03-11 Tabula, Inc. Configurable IC with interconnect circuits that also perform storage operations
US7295037B2 (en) * 2004-11-08 2007-11-13 Tabula, Inc. Configurable IC with routing circuits with offset connections
US7259587B1 (en) * 2004-11-08 2007-08-21 Tabula, Inc. Configurable IC's with configurable logic resources that have asymetric inputs and/or outputs
US7330050B2 (en) 2004-11-08 2008-02-12 Tabula, Inc. Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements
US7268586B1 (en) * 2004-11-08 2007-09-11 Tabula, Inc. Method and apparatus for accessing stored data in a reconfigurable IC
US7743085B2 (en) 2004-11-08 2010-06-22 Tabula, Inc. Configurable IC with large carry chains
US7236009B1 (en) 2004-12-01 2007-06-26 Andre Rohe Operational time extension
US7428721B2 (en) 2004-12-01 2008-09-23 Tabula, Inc. Operational cycle assignment in a configurable IC
US7496879B2 (en) * 2004-12-01 2009-02-24 Tabula, Inc. Concurrent optimization of physical design and operational cycle assignment
US7183798B1 (en) * 2005-01-24 2007-02-27 Lattice Semiconductor Corporation Synchronous memory
US20060171243A1 (en) * 2005-01-31 2006-08-03 Atsushi Kawasumi Memory array circuit with word line timing control for read operations and write operations
US7530033B2 (en) * 2005-03-15 2009-05-05 Tabula, Inc. Method and apparatus for decomposing functions in a configurable IC
US7230869B1 (en) 2005-03-15 2007-06-12 Jason Redgrave Method and apparatus for accessing contents of memory cells
US7224182B1 (en) 2005-03-15 2007-05-29 Brad Hutchings Hybrid configurable circuit for a configurable IC
US7825684B2 (en) * 2005-03-15 2010-11-02 Tabula, Inc. Variable width management for a memory of a configurable IC
US7298169B2 (en) 2005-03-15 2007-11-20 Tabula, Inc Hybrid logic/interconnect circuit in a configurable IC
US20070244959A1 (en) * 2005-03-15 2007-10-18 Steven Teig Configurable IC's with dual carry chains
US7310003B2 (en) * 2005-03-15 2007-12-18 Tabula, Inc. Configurable IC with interconnect circuits that have select lines driven by user signals
US7126858B1 (en) * 2005-06-17 2006-10-24 Altera Corporation Apparatus for emulating asynchronous clear in memory structure and method for implementing the same
US7463266B2 (en) * 2005-07-07 2008-12-09 Seiko Epson Corporation Low overhead serial interface
US7277353B2 (en) * 2005-08-22 2007-10-02 P.A. Semi, Inc. Register file
US7495993B2 (en) * 2005-10-26 2009-02-24 Capso Vision, Inc. Onboard data storage and method
WO2007051147A2 (en) * 2005-10-26 2007-05-03 Capso Vision, Inc. Onboard data storage and method
US7818361B1 (en) 2005-11-07 2010-10-19 Tabula, Inc. Method and apparatus for performing two's complement multiplication
US7765249B1 (en) 2005-11-07 2010-07-27 Tabula, Inc. Use of hybrid interconnect/logic circuits for multiplication
US7372297B1 (en) 2005-11-07 2008-05-13 Tabula Inc. Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources
US8463836B1 (en) 2005-11-07 2013-06-11 Tabula, Inc. Performing mathematical and logical operations in multiple sub-cycles
US7310257B2 (en) * 2005-11-10 2007-12-18 Micron Technology, Inc. Local digit line architecture and method for memory devices having multi-bit or low capacitance memory cells
US7679401B1 (en) 2005-12-01 2010-03-16 Tabula, Inc. User registers implemented with routing circuits in a configurable IC
US7489162B1 (en) 2005-12-01 2009-02-10 Tabula, Inc. Users registers in a reconfigurable IC
US7461362B1 (en) 2005-12-01 2008-12-02 Tabula, Inc. Replacing circuit design elements with their equivalents
US7715420B1 (en) * 2006-01-06 2010-05-11 Oracle America, Inc. Method and apparatus for refreshing receiver circuits using extra communication bits
US7518400B1 (en) 2006-03-08 2009-04-14 Tabula, Inc. Barrel shifter implemented on a configurable integrated circuit
US7504858B1 (en) 2006-03-08 2009-03-17 Tabula, Inc. Configurable integrated circuit with parallel non-neighboring offset connections
US7694083B1 (en) * 2006-03-08 2010-04-06 Tabula, Inc. System and method for providing a virtual memory architecture narrower and deeper than a physical memory architecture
US7797497B1 (en) 2006-03-08 2010-09-14 Tabula, Inc. System and method for providing more logical memory ports than physical memory ports
US7609085B1 (en) 2006-03-08 2009-10-27 Tabula, Inc. Configurable integrated circuit with a 4-to-1 multiplexer
US7529992B1 (en) 2006-03-27 2009-05-05 Tabula, Inc. Configurable integrated circuit with error correcting circuitry
US7669097B1 (en) 2006-03-27 2010-02-23 Tabula, Inc. Configurable IC with error detection and correction circuitry
US7366006B2 (en) * 2006-04-11 2008-04-29 Honeywell International Inc. SRAM with read assist
CN100433697C (zh) * 2006-06-01 2008-11-12 东南大学 多通道高速数据处理器及处理方法
US20080024165A1 (en) * 2006-07-28 2008-01-31 Raminda Udaya Madurawe Configurable embedded multi-port memory
US7564738B2 (en) * 2006-08-11 2009-07-21 Freescale Semiconductor, Inc. Double-rate memory
US7478357B1 (en) 2006-08-14 2009-01-13 Xilinx, Inc. Versatile bus interface macro for dynamically reconfigurable designs
US7587697B1 (en) 2006-12-12 2009-09-08 Tabula, Inc. System and method of mapping memory blocks in a configurable integrated circuit
US7930666B1 (en) 2006-12-12 2011-04-19 Tabula, Inc. System and method of providing a memory hierarchy
US7525344B2 (en) * 2007-03-20 2009-04-28 Tabula, Inc. Configurable IC having a routing fabric with storage elements
US7610566B1 (en) 2007-03-22 2009-10-27 Tabula, Inc. Method and apparatus for function decomposition
US8874831B2 (en) 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
US8301833B1 (en) 2007-06-01 2012-10-30 Netlist, Inc. Non-volatile memory module
US8904098B2 (en) 2007-06-01 2014-12-02 Netlist, Inc. Redundant backup using non-volatile memory
CN100449481C (zh) * 2007-06-29 2009-01-07 东南大学 具有多通道指令预取功能的存储控制电路
WO2009035586A1 (en) 2007-09-06 2009-03-19 Tabula, Inc. Configuration context switcher
US7635988B2 (en) * 2007-11-19 2009-12-22 Tier Logic, Inc. Multi-port thin-film memory devices
US20090128189A1 (en) * 2007-11-19 2009-05-21 Raminda Udaya Madurawe Three dimensional programmable devices
US7795913B2 (en) * 2007-12-26 2010-09-14 Tier Logic Programmable latch based multiplier
US7573293B2 (en) * 2007-12-26 2009-08-11 Tier Logic, Inc. Programmable logic based latches and shift registers
US7573294B2 (en) * 2007-12-26 2009-08-11 Tier Logic, Inc. Programmable logic based latches and shift registers
US7602213B2 (en) * 2007-12-26 2009-10-13 Tier Logic, Inc. Using programmable latch to implement logic
US8863067B1 (en) 2008-02-06 2014-10-14 Tabula, Inc. Sequential delay analysis by placement engines
US8166435B2 (en) 2008-06-26 2012-04-24 Tabula, Inc. Timing operations in an IC with configurable circuits
US8230375B2 (en) 2008-09-14 2012-07-24 Raminda Udaya Madurawe Automated metal pattern generation for integrated circuits
US8674721B2 (en) 2008-09-17 2014-03-18 Tabula, Inc. Controllable storage elements for an IC
EP2190022B1 (en) * 2008-11-20 2013-01-02 Hitachi Ltd. Spin-polarised charge carrier device
US7990780B2 (en) * 2009-02-20 2011-08-02 Apple Inc. Multiple threshold voltage register file cell
US9262171B2 (en) * 2009-06-30 2016-02-16 Oracle America, Inc. Dependency matrix for the determination of load dependencies
US8547774B2 (en) * 2010-01-29 2013-10-01 Mosys, Inc. Hierarchical multi-bank multi-port memory organization
US8619482B1 (en) 2010-02-08 2013-12-31 Altera Corporation Programmable precharge circuitry
WO2011123151A1 (en) 2010-04-02 2011-10-06 Tabula Inc. System and method for reducing reconfiguration power usage
CN102237145A (zh) * 2010-04-22 2011-11-09 联咏科技股份有限公司 箝入式存储装置以及其测试方法
US8760193B2 (en) 2011-07-01 2014-06-24 Tabula, Inc. Configurable storage elements
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US10198350B2 (en) 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US10838646B2 (en) 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
WO2013071183A1 (en) 2011-11-11 2013-05-16 Tabula, Inc. Content addressable memory in integrated circuit
US8693236B2 (en) 2011-12-09 2014-04-08 Gsi Technology, Inc. Systems and methods of sectioned bit line memory arrays, including hierarchical and/or other features
US8593860B2 (en) * 2011-12-09 2013-11-26 Gsi Technology, Inc. Systems and methods of sectioned bit line memory arrays
US8645777B2 (en) 2011-12-29 2014-02-04 Intel Corporation Boundary scan chain for stacked memory
US9058860B2 (en) * 2012-03-29 2015-06-16 Memoir Systems, Inc. Methods and apparatus for synthesizing multi-port memory circuits
US8811070B1 (en) * 2013-02-19 2014-08-19 Lsi Corporation Write-tracking circuitry for memory devices
JP2014179141A (ja) * 2013-03-14 2014-09-25 Toshiba Corp 半導体記憶装置
US10372551B2 (en) 2013-03-15 2019-08-06 Netlist, Inc. Hybrid memory system with configurable error thresholds and failure analysis capability
US9436600B2 (en) 2013-06-11 2016-09-06 Svic No. 28 New Technology Business Investment L.L.P. Non-volatile memory storage for multi-channel memory system
TWI493568B (zh) 2013-08-19 2015-07-21 Ind Tech Res Inst 記憶體裝置
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
JP6722986B2 (ja) * 2014-07-04 2020-07-15 株式会社半導体エネルギー研究所 半導体装置
US9720827B2 (en) * 2014-11-14 2017-08-01 Intel Corporation Providing multiple memory modes for a processor including internal memory
US9922700B2 (en) 2016-05-24 2018-03-20 Taiwan Semiconductor Manufacturing Co., Ltd. Memory read stability enhancement with short segmented bit line architecture
JP2018010707A (ja) * 2016-07-12 2018-01-18 ルネサスエレクトロニクス株式会社 半導体装置
KR102512985B1 (ko) 2018-06-12 2023-03-22 삼성전자주식회사 반도체 장치를 위한 테스트 장치 및 반도체 장치의 제조 방법
US10921996B2 (en) 2019-03-22 2021-02-16 Micron Technology, Inc. Data lines updating for data generation
US11482276B2 (en) 2020-10-30 2022-10-25 Taiwan Semiconductor Manufacturing Company Limited System and method for read speed improvement in 3T DRAM
US11532353B2 (en) * 2021-01-29 2022-12-20 Arm Limited Circuitry apportioning of an integrated circuit

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3993919A (en) 1975-06-27 1976-11-23 Ibm Corporation Programmable latch and other circuits for logic arrays
US4177452A (en) 1978-06-05 1979-12-04 International Business Machines Corporation Electrically programmable logic array
US4435775A (en) * 1981-01-19 1984-03-06 Texas Instruments Incorporated Data processing system having interlinked slow and fast memory means
US4430712A (en) * 1981-11-27 1984-02-07 Storage Technology Corporation Adaptive domain partitioning of cache memory space
JPS5952497A (ja) * 1982-09-17 1984-03-27 Nec Corp デコ−ダ回路
US4742383A (en) 1983-01-12 1988-05-03 International Business Machines Corporation Multi-function FET masterslice cell
EP0162934B1 (de) * 1984-05-14 1989-11-08 Ibm Deutschland Gmbh Halbleiterspeicher
US4636990A (en) * 1985-05-31 1987-01-13 International Business Machines Corporation Three state select circuit for use in a data processing system or the like
US4751675A (en) * 1985-08-19 1988-06-14 American Telephone And Telegraph Company, At&T Bell Laboratories Memory access circuit with pointer shifting network
US4775942A (en) * 1985-12-09 1988-10-04 International Business Machines Corporation Seed and stitch approach to embedded arrays
EP0282475B1 (en) * 1986-08-11 1991-12-18 Koninklijke Philips Electronics N.V. Integrated semiconductor memory and integrated signal processor having such a memory
US4758745B1 (en) 1986-09-19 1994-11-15 Actel Corp User programmable integrated circuit interconnect architecture and test method
KR960001106B1 (ko) * 1986-12-17 1996-01-18 가부시기가이샤 히다찌세이사꾸쇼 반도체 메모리
JPH0760600B2 (ja) * 1987-08-19 1995-06-28 三菱電機株式会社 同期型記憶装置
CA1286803C (en) * 1989-02-28 1991-07-23 Benoit Nadeau-Dostie Serial testing technique for embedded memories
US5343406A (en) * 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US5278956A (en) * 1990-01-22 1994-01-11 Vlsi Technology, Inc. Variable sized FIFO memory and programmable trigger level therefor for use in a UART or the like
US5341488A (en) * 1990-04-11 1994-08-23 Nec Electronics, Inc. N-word read/write access achieving double bandwidth without increasing the width of external data I/O bus
US5117389A (en) * 1990-09-05 1992-05-26 Macronix International Co., Ltd. Flat-cell read-only-memory integrated circuit
US5341382A (en) * 1991-06-19 1994-08-23 Sun Microsystems, Inc. Method and apparatus for improving fault coverage of system logic of an integrated circuit with embedded memory arrays
US5250859A (en) * 1991-09-27 1993-10-05 Kaplinsky Cecil H Low power multifunction logic array
US5263003A (en) * 1991-11-12 1993-11-16 Allen-Bradley Company, Inc. Flash memory circuit and method of operation
JPH05266654A (ja) * 1992-03-17 1993-10-15 Mitsubishi Electric Corp マルチポートメモリ装置
GB9223226D0 (en) * 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
JPH06215576A (ja) * 1993-01-18 1994-08-05 Mitsubishi Electric Corp 半導体記憶装置
US5434406A (en) * 1993-05-13 1995-07-18 Mcdonnell Douglas Corporation Hemispheric matrixsized imaging optical system
EP0669620B1 (en) * 1994-02-25 2001-10-24 Kabushiki Kaisha Toshiba Multiplexer
US5426378A (en) * 1994-04-20 1995-06-20 Xilinx, Inc. Programmable logic device which stores more than one configuration and means for switching configurations
US5473573A (en) * 1994-05-09 1995-12-05 Cirrus Logic, Inc. Single chip controller-memory device and a memory architecture and methods suitable for implementing the same
JP3431686B2 (ja) * 1994-05-19 2003-07-28 ブラザー工業株式会社 画像データ変換装置
US5406525A (en) * 1994-06-06 1995-04-11 Motorola, Inc. Configurable SRAM and method for providing the same
US5465056A (en) * 1994-06-30 1995-11-07 I-Cube, Inc. Apparatus for programmable circuit and signal switching
JPH08167290A (ja) * 1994-12-15 1996-06-25 Mitsubishi Electric Corp 半導体記憶装置
US5692147A (en) * 1995-06-07 1997-11-25 International Business Machines Corporation Memory mapping method and apparatus to fold sparsely populated structures into densely populated memory columns or rows by selectively transposing X and Y address portions, and programmable gate array applications thereof
US5784313A (en) * 1995-08-18 1998-07-21 Xilinx, Inc. Programmable logic device including configuration data or user data memory slices
US5615160A (en) * 1995-09-08 1997-03-25 International Business Machines Corporation Minimal recharge overhead circuit for domino SRAM structures
US5604712A (en) * 1995-09-13 1997-02-18 Lsi Logic Corporation Fast word line decoder for memory devices
US5642325A (en) * 1995-09-27 1997-06-24 Philips Electronics North America Corporation Register file read/write cell
US5615168A (en) * 1995-10-02 1997-03-25 International Business Machines Corporation Method and apparatus for synchronized pipeline data access of a memory system
US5640107A (en) * 1995-10-24 1997-06-17 Northrop Grumman Corporation Method for in-circuit programming of a field-programmable gate array configuration memory

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100359602C (zh) * 2002-06-20 2008-01-02 中兴通讯股份有限公司 一种有效利用现场可编程门阵列中的存储器的方法
CN103514938A (zh) * 2012-06-20 2014-01-15 中国科学院微电子研究所 一种多级选通装置
CN103514938B (zh) * 2012-06-20 2016-02-10 中国科学院微电子研究所 一种多级选通装置
CN103928048A (zh) * 2013-01-14 2014-07-16 飞思卡尔半导体公司 带有匹配地址和数据线控制的多端口存储器
CN103928048B (zh) * 2013-01-14 2018-07-17 恩智浦美国有限公司 带有匹配地址和数据线控制的多端口存储器
CN103324594A (zh) * 2013-06-27 2013-09-25 成都林海电子有限责任公司 一种基于FPGA的PCI Express AHBUS状态机的实现方法
CN106716543A (zh) * 2015-07-21 2017-05-24 京微雅格(北京)科技有限公司 Fpga的配置存储器上电初始化的电路和方法
WO2017012072A1 (zh) * 2015-07-21 2017-01-26 京微雅格(北京)科技有限公司 Fpga的配置存储器上电初始化的电路和方法
US10579393B2 (en) 2015-07-21 2020-03-03 Capital Microelectronics Co., Ltd. Circuit and method of power on initialization for configuration memory of FPGA
CN106716543B (zh) * 2015-07-21 2021-05-07 京微雅格(北京)科技有限公司 Fpga的配置存储器上电初始化的电路和方法
CN108365843A (zh) * 2017-01-26 2018-08-03 株式会社东芝 集成电路和电子设备
CN108021413A (zh) * 2017-12-28 2018-05-11 浙江大华技术股份有限公司 一种fpga在线升级方法及设备
WO2022033174A1 (zh) * 2020-08-12 2022-02-17 长鑫存储技术有限公司 先入先出存储器及存储装置
US11830577B2 (en) 2020-08-12 2023-11-28 Changxin Memory Technologies, Inc. First in first out memory and memory device

Also Published As

Publication number Publication date
CN1117379C (zh) 2003-08-06
US6130854A (en) 2000-10-10
JPH09186581A (ja) 1997-07-15
SG104910A1 (en) 2004-07-30
KR100267425B1 (ko) 2000-10-16
TW297128B (en) 1997-02-01
US6118707A (en) 2000-09-12
US6023421A (en) 2000-02-08
US6075745A (en) 2000-06-13
US6044031A (en) 2000-03-28
EP0780846A3 (en) 1999-07-14
US6233191B1 (en) 2001-05-15
US6038192A (en) 2000-03-14
US5914906A (en) 1999-06-22
EP0780846A2 (en) 1997-06-25
US6091645A (en) 2000-07-18
US5949719A (en) 1999-09-07

Similar Documents

Publication Publication Date Title
CN1117379C (zh) 现场可编程存储器阵列
US6617621B1 (en) Gate array architecture using elevated metal levels for customization
US8159268B1 (en) Interconnect structures for metal configurable integrated circuits
CN1516195A (zh) 半导体装置和半导体存储装置
US8630113B1 (en) Apparatus for memory with improved performance and associated methods
CN1125006A (zh) 动态互连于一个动态逻辑内核的现场可编程逻辑设备
CN1617336A (zh) 半导体集成电路装置
CN1239356A (zh) 时钟控制方法及其控制电路
Greene et al. A 65nm flash-based FPGA fabric optimized for low cost and power
CN1875428A (zh) 半导体存储装置
CN1228847C (zh) 半导体集成电路装置
JP2011028786A (ja) 直列入力データを取り込む装置および方法
CN86100419A (zh) 串进存取半导体存储器
US8159266B1 (en) Metal configurable integrated circuits
CN1664952A (zh) 集成电路
CN1477642A (zh) 存储3值数据信号的半导体存储装置
US20120119782A1 (en) Logic for Metal Configurable Integrated Circuits
CN1892893A (zh) 集成电路记忆体及其操作方法
US7886250B2 (en) Reconfigurable integrated circuit
CN1448950A (zh) 设有不需要刷新操作的存储器单元的半导体存储装置
TWI576850B (zh) And a wiring method for disposing a semiconductor device that can be reconstructed, a program thereof, and a wiring device
CN1705127A (zh) 半导体集成电路
EP0204034B1 (en) Configurable logic array
US8159265B1 (en) Memory for metal configurable integrated circuits
CN1620701A (zh) 低功耗内容可定址记忆体架构

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20030806

EXPY Termination of patent right or utility model