CN101236788B - 结构化单元阵列中的可变尺寸软存储器宏及相关的方法 - Google Patents
结构化单元阵列中的可变尺寸软存储器宏及相关的方法 Download PDFInfo
- Publication number
- CN101236788B CN101236788B CN200810009546.8A CN200810009546A CN101236788B CN 101236788 B CN101236788 B CN 101236788B CN 200810009546 A CN200810009546 A CN 200810009546A CN 101236788 B CN101236788 B CN 101236788B
- Authority
- CN
- China
- Prior art keywords
- combined logic
- memory
- logic elements
- memory cell
- circuit
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
- H03K19/1735—Controllable logic circuits by wiring, e.g. uncommitted logic arrays
Abstract
本说明书提供了一种结构化单元阵列中的可变尺寸软存储器宏及相关的方法。可以使用结构化特定用途集成电路(结构化ASIC)的逻辑单元(HLE)来提供不同尺寸的存储器模块。可以使用这些技术中的任意一个或多个,以推动其用于各种对这样的存储器模块具有不同要求(例如,根据尺寸)的用户设计。例如,可以提供存储器模块的预先设计的宏,然后如果需要,组合它们以提供各种尺寸的存储器模块。对于存储器电路的某些部分(例如,存储器核心)要遵守布局约束,而其他部分(例如,地址预解码电路、写入和读出数据寄存器等)可能相对自由地定位。
Description
背景技术
现场可编程门阵列(FPGA)提供具有不同尺寸和宽度的多种存储器模块。FPGA提供固定数量的每种类型的存储器模块,所以给定的用户设计可能会受到所需存储器或逻辑数量的限制。一些FPGA包括有将逻辑资源用作逻辑或用作小存储器(查询表随机存取存储器或LUTRAM)的能力。这提供了一个更为灵活的折衷,因为可以将LUT RAM模块用作逻辑或存储器,其提供平衡使用模块的能力,并可更有效地实现。
类似地,传统的结构化单元阵列(也被认为是结构化特定用途集成电路或结构化ASIC)为用户设计提供固定数量的逻辑模块和存储器模块,但是,不能提供能够身兼两种用途的资源。相比于门阵列或标准单元ASIC,结构化ASIC一般通过提供包括许多逻辑元件、并可以使用少量掩模层,主要是金属和通路孔来进行配置以及路由的逻辑单元,以提供较低的非经常性成本。由FPGA可知,提供多功能资源的结构,也就是既可以担当存储器又可以担当逻辑的资源,相对于仅提供异类单一功能资源的结构,能够提供明显的面积缩小。用于支持用户设计的有效映射到LUT RAM和硬件存储器的结合之中的计算机辅助设计流程已被介绍过(参见Ahmed等于2006年7月13日提交的申请号为11/486,564的美国专利申请),还有用于实现多功能模块以支持LUT RAM的有效方法(参见Lewis等的美国专利7,084,665,和Lewis等于2005年12月27日提交的申请号为11/320,253的美国专利申请)。尽管能够提供两个功能的模块可能不如单用途模块在任一目的下具有面积效率(area-efficient),然而,由于实现的用户设计的设定需要的每种类型的模块数量的变化,执行两个不同功能的能力使得总效率得以改进。因此,对于较小的存储器,较低的模块级效率使得两种用途的模块更吸引人,然而,较大的存储器仍旧更适宜实现为硬件模块。
发明内容
根据本发明的某些可能方面,通过使用结构化ASIC的逻辑单元,在结构化ASIC上提供存储器电路。这些逻辑单元中的每一个都是掩模可编程的,以提供几个电路功能中的任一个。为了提供存储器模块,第一复数个逻辑单元是掩模编程的,以提供存储器单元阵列,第二复数个逻辑单元是掩模编程的,以提供用于选择性地对存储器单元阵列中的行寻址的行解码器,以及第三复数个逻辑元件,其是掩模编程的,以提供用于存储器单元阵列的读出数据缓冲器。以这种方式,结构化ASIC结构中的任意所需数目的逻辑单元都可以被用来提供存储器。该结构中的未被这样用于存储器的任意逻辑单元可以被于其他目的(例如,用于逻辑)。
根据本发明的其它可能的方面,使用结构化ASIC上的逻辑单元来提供存储器单元。例如,每个逻辑单元可以包括两个通行门和五个可以被用作反相器的逻辑信号缓冲元件。存储器单元,包括从两个逻辑单元的通行门中选择的三个通行门,以及五个从那两个逻辑单元的逻辑信号缓冲元件中选择的反相器。另外,结构化ASIC结构中的任意未被用作存储器单元的逻辑单元可以被用于其他目的,例如逻辑。
根据本发明的又一些可能方面,使用单个结构化ASIC逻辑单元来提供存储器单元。这样的一个存储器单元包括两个复用器和三个其他电路元件,每个元件是从包括有反相器和逻辑功能的组中选择的,且每个元件都提供信号缓冲。
根据本发明的其它可能方面,用于将控制对存储器电路的写入所用的信号计时的电路包括第一和第二寄存器,每个寄存器具有一个数据输入端、时钟输入端、复位输入端和输出端。写入地址信号被分别以实际形式和补码形式施加到第一和第二寄存器的数据输入端。将时钟信号施加到寄存器的输入端。将复位信号施加到寄存器的复位输入端。每个寄存器输出(通过它的输出端)一个指示该寄存器当前状态的寄存器内容信号。逻辑电路将时钟信号和寄存器内容信号逻辑地结合在一起以产生复位信号。如果需要,结构化ASIC结构中的逻辑单元可以被用于提供这个写入计时器电路的一切。任意没有被这样使用的逻辑单元都可以用于其他目的,例如逻辑。
结合附图和下面的详细描述,本发明的更多特点、性能和各种优点将更为明显。
附图说明
图1是标准结构化ASIC逻辑单元的示例性实施例的元件的简化原理图。
图2根据本发明来自图1所示类型的结构化ASIC逻辑单元的元件的示例性实施例的简化原理图,这些元件互联以提供一存储器单元。
图3是根据本发明能够实施的存储器地址解码器电路的示例性实施例的简化的原理图。
图4是根据本发明的存储器写地址信号处理电路的示例性实施例的简化的原理图。
图5是图4所示类型的电路在该电路的特定操作条件下的几个示例性信号的简化的波形图的集合。
图6是根据本发明的存储器电路如何设置在结构化ASIC上的示例性实施例的简化的原理图。
图7是根据本发明的存储器宏和一组这样的存储器宏的示例性实施例的简化的原理图。
图8是根据本发明的结构化ASIC逻辑单元的另一个示例性实施例元件的简化的原理图。
图9是本发明的特定方法方面的示例性实施例的简化的流程图。
图10是本发明的另一特定方法方面的示例性实施例的简化的流程图。
具体实施方式
结构化单元阵列提供一种使用少量的掩模层来编程以执行多种逻辑功能的逻辑单元。通过将多个逻辑单元一起耦合成被当成单一复杂逻辑单元对待的较大单元,也可以用同样的编程提供复杂的逻辑功能(例如,双稳态多谐振荡器或复杂的逻辑功能)。第二代硬拷贝(HardCopy II)产品(来自加利福尼亚州圣何塞的Altera公司的商品)是这方面的一个例子。第二代硬拷贝产品使用一个简单的、被称为混合逻辑元件(HLE)的18-晶体管单元。将复杂逻辑单元称为复合混合逻辑元件(CHLE)。图1示出了第二代硬拷贝混合逻辑元件HLE 10的晶体管级元件,但是,不是掩模可编程连通性。如图1所示,混合逻辑元件HLE10包括通行门(pass-gate)20a和20b、与非门(NAND)30a和30b、以及反相器40a、40b和40c。第二代硬拷贝计算机辅助设计流使用CHLE的预定库将用户的设计映射到CHLE网表。每个CHLE包括HLE的相对布局和与元件耦合以执行一些功能的构造,例如复杂逻辑门或双稳态多谐振荡器。其他逻辑单元结构能够通过各种结构化阵列提供。
为实现用户的电路,逻辑结构的进一步定制通过有可能的不同掩模层来提供,所述掩码层执行布线。
如果有这种结构,一种可能的实现软存储器的方法是定义一个实现一个或多个硬存储器的宏。例如,第二代Stratix EPGA(也是Altera公司的商品)包括许多M512存储器,每个存储器包含576位的随机存取存储器RAM。定义一个宏来实现M512(宽度、深度和端口的数量)的一些模式、为软件流程执行到FPGA存储器中的映射以及输出包含在HLE中实现的M5 12宏的实例的结构化单元阵列的网表是可能的。
M512这种单一宏的缺点是任何用户设计都需要构造固定尺寸的RAM而不管存储器的实际使用。因此,所需要的是,能够使用结构化单元阵列中提供的逻辑结构来实现可变尺寸“软”存储器的结构和支持它的计算机辅助设计CAD流程。此外,由于主要使用逻辑结构以用于逻辑实现,分别地设计每一个晶体管以及使用任意电路和布置,例如具有匹配晶体管的读出放大器,这种自由是难于实现的。本发明的第二方面是,实现软存储器的方法应当是坚固的且集中于简单结构,以避免考虑对于有效的存储器所必须评估的细节设计。
传统的存储器使用6-晶体管(6T)单元以使面积最小化,但是,其需要仔细设计存储器控制电路和读出放大器,以使运行可靠。LUTRAM随机地使用由LUT提供的、更加坚固的电路。对于结构化ASIC,希望使用现有的逻辑单元来实现存储器。一个使用两个混合逻辑元件10来提供具有一个读出端口和一个写入端口的单位存储器50的示例构造如图2所示。(在图2中,每个参考符号的最末数字表示元件是在混合逻辑元件1中或是在混合逻辑元件2中(如果需要,两个混合逻辑元件中使用的元件的分配可以不同于刚才指出的))。这些混合逻辑元件HLE被配置以构造具有输入复用器(通行门20a1和20b1)和缓冲器(反相器40a2和通行门20a2)的完全静态锁存器(通过通行门20b1的反相器40b1和40c1的闭环串联连接)以驱动读出位线。缓冲器使得不管读出位线上出现何种状态或驱动强度都不可能扰乱RAM单元。使用完全COMS通行门来确保轨对轨摆动(rail-to-rail swing)并避免需要预充电。这样,对于数据线上的任何活动来说,读通路都是完全组合和坚固的。读通路将复用器的传统用法颠倒,并且将复用器的标称输入之一用作存储器单元的输出,并类似地驱动RAM单元到复用器的标称输出上以减少读出位线上的负载以及消除由存储器单元中不必要的活动引起的功率消耗。类似地,写通路使用完全CMOS复用器以确保牢固的写入。
HLE 10′的一个可替换的实施例如图8所示。单一HLE 10′是掩模可编程的,以提供一个RAM单元。HLE 10′包括第一和第二复用器560a和560b、第一和第二反相器570a和570b、以及两个输入与非门580。每个复用器560有两个可选择的输入562和564,以及选择控制输入566,以用于控制哪个可选择的输入连接到复用器的输出568。与非门NAND580能够被操作作为第三反相器(例如,通过掩模可编程地连接它的输入之一到固定逻辑1的源)。可以认识到,任何提供逻辑信号缓冲的电路元件,包括反相器和逻辑门,都能被用来提供存储器单元的内核和读出线驱动器所需的缓冲功能。这些将被称为“反相器”,因为,当前技术将提供逻辑反转,以及信号缓冲特征。这样,能够以类似的方式使用其他包括不同数量反相器和逻辑门的混合逻辑元件。
从HLE 10′的之前的描述中可知,一个这样的HLE中的元件如何掩模可编程地映射到图2所示的电路中(即一个RAM单元50)。第一复用器560a能够提供图2中的元件20a1、20b1和40a1所提供的。570a/b及580(起第三反相器的作用)中的两个元件能够提供图2中的元件40b和40c1所提供的。570a/b及580中的第三个元件能够提供图2中的元件40a2所提供的。并且,第二复用器560b能够提供图2中的元件20a2、20b2和40b2所提供的。图2所示的所有其他的连接和导体器件都能够被掩模可编程地提供,以致于HLE 10′中的元件起RAM单元的功能,正如之前参照图2所描述的。
返回到图2,尽管由于缓冲位线驱动器,读通路是组合的和坚固的,但是,写通路需要详细地考虑计时以确保它是牢固(robust)的。图3示出了包括用于字线的两个二到四解码器和与门的传统的地址解码器100。可能会提供寄存器(未示出)以用于同步操作。其他写入计时器电路和/或未示出的附加的时钟可能对于确保写入脉冲足够宽以及地址和数据的计时约束能够被服从是有帮助的。
图4所示的双轨写入地址寄存器和预解码器200通过具有最小约束或设计的详细电路分析来确保写入计时是牢固的。(也可参见图5中的相关的计时图)。双轨写入地址寄存器的每个地址位包括两个双稳态多谐振荡器210a和210b,它们分别存储地址位和它的补码。两个寄存器210在时钟边缘到来之前被复位,且写入地址寄存器上的时钟引起双稳态多谐振荡器之一使能(assert)。通过预解码器,其最终传播到写入字线解码器,引起一条写入字线使能。当时钟下降时,OAI(或一与一反相器)门产生复位信号,复位两个地址寄存器210,因此,确保了在下一个时钟边缘开始时它们都是0。结果,写入字线在时钟周期的低相位期间取反[cxy1]。这导致在写入数据线上相对轻的计时约束。因为单元50(图2)是完全D锁存器,所以写入数据位线需要参照写入字线的下降边缘来满足建立和保持时间约束。因为写入字线在负时钟相位下降,所以至少有半个时钟周期用于数据传播到写入数据线中,且参照时钟的下降边缘,存在保持时间要求。计时约束的组合确保直到某个频率,写入都继续,而不需与存储器中的任何延迟相匹配。
图6示出了从这些单元50和相关的逻辑中构造的存储器300的简图。存储器包括含有单元50的核心310、末级地址解码器320(相应于图3中的元件180/190)以及读出缓冲器电路330。这些元件在相对布局方面受约束,以确保单元50对接在一起,从而最小化布线需求并确保可预测的计时。该逻辑的剩余部分,包括读出地址寄存器、写入地址寄存器、预解码器和计时器(共同形成元件340),写入数据寄存器350,以及可选的读出数据寄存器360可能通过CHLE构造。这些模块(340、350和360)不需要被位置约束,所以放置器算法(placer algorithm)可以利用自由布局的优点来使性能最大化。结果,像340、350和/或360这样的元件可能会通过用于其他目的的其他逻辑单元10/10′而与核心310相分离。
CAD流程中对于现代设备的计时分析可能不支持三态单元,而那对于模拟位单元级间隔尺寸的RAM的计时特性来说是需要的。因此,将存储器核心的列看作用于计时目的的单一模块也是有用的。当被认为是一个单一逻辑模块时,单元50的列和相关的读出缓冲器能够被认为是与定义的从读出行线的每一条到数据输出的延迟完全组合的。每一个RAM核心由一个或多个柱状薄片来构造,并且可用薄片组可能包括适当数量的预定义的和被赋予特性的CHLE;例如,一个4、8、16、32、或64深度的柱状薄片。
图7示出了典型的柱状薄片400,其包括RAM单元50、读出缓冲器410和写入缓冲器420,以确保电气完整性。由薄片400构造的RAM的读出访问延迟可以通过使用模拟字线的电容与其在字线驱动器上的延迟效果的标准计时分析以及每个薄片的延迟来容易地确定。从字线到数据输出的薄片400的读出延迟对于一给定的薄片深度来说近似为常数。更精确的模拟包括字线的上升时间的影响,其依次取决于装载驱动器的薄片的数量。相似的特性应用到写入计时,其具有相对于字线的数据的设置/保持时间需求。这样,RAM核心302延迟的精确模拟可以使用传统的门极计时模型来实现,所述模型包括对延迟的RC装载影响和上升/下降时间影响。也描述了用于末级地址解码器的CHLE 430。
薄片也可以通过宽度范围定义,并且RAM核心310通过有限数量的预定宽度来构造,以简化计时特性和分析。例如,一种可能是定义薄片具有固定宽度4,深度4、8、16,32和64,以及限制构造的RAM的宽度为2的乘幂且不大于32,以具有有限数目的RAM核心尺寸,其允许所有独特的核心尺寸通过适当的努力被特征化。也可能形成类似的对宽度的约束,即使薄片宽度与实际应用的RAM的尺寸设定不一样。例如,使用一位宽的RAM薄片,加强支持宽度1、2、4、8、9、16、18、32或36的RAM核心的约束是可能的,此外,能够精确地刻画所有RAM核心的计时特性。然而,本发明的一个优点是,对于传统的计时分析来说仅仅使用一小组单宽度的薄片就可能精确地模拟软存储器的延迟,从而减少了刻画一组不同深度和宽度特性的需要。
另外,就像在LUT RAM中,使用库或参数逻辑发生器,可以宽度或深度将软逻辑合成到多针脚RAM中。这包括产生用于读出数据的输出复用器和用于写使能的地址解码器。
在图9中示出了本发明的一个示例性的方法(涉及图6所阐明的)。这涉及使用如10或10′的HLE以提供具有多个不同尺寸中任一尺寸的、如图6中的310的存储器阵列。在步骤610,选择第一复数个HLE以提供存储器单元阵列。该第一复数个的尺寸是可选的,借此,存储器单元阵列可以具有多个不同存储器阵列尺寸中的任一尺寸。
在步骤620,在第一复数中的HLE是掩模编程的,以起到存储器单元阵列的作用。
在步骤630,第二复数个HLE是掩模编程的,以提供用于选择性地在存储器单元阵列中寻址行的行解码器(例如,如图6中的320)。
在步骤640,第三复数个HLE是掩模编程的,以提供用于存储器单元阵列的读出数据缓冲器(例如,如图6中的330)。
在图10中示出了本发明的另一个示例性的方法(涉及图7所描述的)。这涉及从不同尺寸的RAM薄片(如图7中的400)配置不同尺寸的存储器阵列(如图7中的302)。在步骤710,提供用于不同尺寸的RAM薄片的集合的设计。这些RAM薄片中的每一个使用多个如10或10′的HLE。
在步骤720中,构造用于RAM模块的网表。RAM模块具有期望的、可选的尺寸。使用多个RAM薄片来一起构造网表,以产生RAM模块。
在步骤730中,将附加电路加到网表。该附加电路是支持RAM模块所需的电路。该附加电路至少部分地通过附加的HLE来实施。可以在步骤730加入的这种附加电路的例子包括地址寄存器、行解码器、写入数据寄存器和/或读出数据寄存器。
这里所使用的和权利要求书中所使用的术语“混合逻辑元件”或“HLE”意味着电路的一个相对小的块,包括预定的晶体管和镀金属的集合,以致于晶体管之间的一些(但并非所有)连接是固定的,并定义了专用逻辑功能,在集成电路上提供许多这样的HLE结构的类似的例子,且每一个HLE例子是掩模可定制化的或掩模可编程的(例如,具有附加的镀金属),其中,每个HLE能够执行至少一个预定的两输入逻辑功能。
在本发明的一些实施例中,例如,与一典型FPGA逻辑模块(LM)的最大逻辑能力相比,每个HLE的最大逻辑能力是相对小的。这样一个FPGA LM可能包括一个四输入查询表(4-LUT),并因此能够提供一个输出信号,其可以是到4-LUT的4个输入的任何逻辑组合。在这一段特意描述的本发明的实施例中,HLE的最大逻辑能力比这样的一个4-LUT的最大逻辑能力小。这里使用术语“4以下HLE”用于这些实施例的HLE。“4以下HLE”能够实现几个两输入逻辑功能中的任一个(甚至可能任意两输入逻辑功能)。但是,没有足够的逻辑能力来实现任意四输入逻辑功能(比如FPGA 4-LUT可以实现的)。另一方面,如在说明书其他任意地方所定义的,4以下HLE类似于HLE。
可以理解,前面仅仅是本发明原理的示意性的描述,本领域技术人员能够在不脱离本发明的精神和范围的情况下,作出各种变形。例如,这种在图7中显示的存储器薄片400中的单元50的数目可以多于或少于图7中的示例数目(8)。类似地,存储器阵列302中的薄片400的数目可以与图7中的示例数目(8)不同。这里使用的术语,如行和列,仅仅作为相对术语,且不是为了将说明书或权利要求公开的内容限制到具体与观测者相关的任意特定的固定旋转方向的电路上。因此,在示例性的实施例中示出的和此处描述的所谓行,可以以水平、垂直或相对于观测者的任意其他角度确定方向。此处所谓的列的也是同样的。然而,行和列一般实际上彼此垂直。而且,在权利要求中,使用术语第一、第二、第三、第四等,用作任意参考术语,其不具有任何特殊的编号顺序。例如,一项权利要求可能涉及第五元件,但不意味着该权利要求也要求第一到第四元件(除非那些其他的元件在表述上需要通过其他措辞或在表述上依赖于权利要求)。
Claims (47)
1.一种包括一个混合逻辑元件阵列的结构化ASIC上的存储器电路,该存储器包括:
第一复数个混合逻辑元件,其被掩模编程,以提供存储器单元阵列;
存储器单元电路,其包括来自所述第一复数个混合逻辑元件中的第一混合逻辑元件和所述第一复数个混合逻辑元件中的第二混合逻辑元件每一个的一个通行门;
第二复数个混合逻辑元件,其被掩模编程,以提供用于选择性地对存储器单元阵列中的行进行寻址的行解码器;和
第三复数个混合逻辑元件,其被掩模编程,以提供用于存储器单元阵列的读出数据缓冲器。
2.如权利要求1所述的存储器电路,进一步包括:
第四复数个混合逻辑元件,其被掩模编程,以提供用于存储器单元阵列的写入数据缓冲器。
3.如权利要求1所述的存储器电路,进一步包括:
第五复数个混合逻辑元件,其被掩模编程,以提供用于存储器单元阵列的地址寄存器。
4.如权利要求1所述的存储器电路,进一步包括:
第六复数个混合逻辑元件,其被掩模编程,以提供用于存储器单元阵列的地址预解码器电路。
5.如权利要求1所述的存储器电路,进一步包括:
第七复数个混合逻辑元件,其被掩模编程,以提供用于存储器单元阵列的写入计时器电路。
6.如权利要求1所述的存储器电路,进一步包括:
第八复数个混合逻辑元件,其被掩模编程,以提供用于存储器单元阵列的写入数据寄存器。
7.如权利要求1所述的存储器电路,进一步包括:
第九复数个混合逻辑元件,其被掩模编程,以提供用于存储器单元阵列的读出数据寄存器。
8.如权利要求3所述的存储器电路,其中,
第一到第三复数个混合逻辑元件彼此邻接地布置在所述结构化ASIC上,且所述第五复数个混合逻辑元件通过其他介入的混合逻辑元件,和第一到第三复数个混合逻辑元件隔开。
9.如权利要求4所述的存储器电路,其中,
第一到第三复数个混合逻辑元件彼此邻接地布置在所述结构化ASIC上,且第六复数个混合逻辑元件通过其他介入的混合逻辑元件,和第一到第三复数个混合逻辑元件隔开。
10.如权利要求5所述的存储器电路,其中,
第一到第三复数个混合逻辑元件彼此邻接地布置在所述结构化ASIC上,且第七复数个混合逻辑元件通过其他介入的混合逻辑元件,和第一到第三复数个混合逻辑元件隔开。
11.如权利要求6所述的存储器电路,其中,
第一到第三复数个混合逻辑元件彼此邻接地布置在所述结构化ASIC上,且第八复数个混合逻辑元件通过其他介入的混合逻辑元件,和第一到第三复数个混合逻辑元件隔开。
12.如权利要求7所述的存储器电路,其中,
第一到第三复数个混合逻辑元件彼此邻接地布置在所述结构化ASIC上,且第九复数个混合逻辑元件通过混合逻辑元件的其他介入元件,第一到第三复数个混合逻辑元件隔开。
13.如权利要求1所述的存储器电路,进一步包括结构化ASIC上的存储器单元电路,该结构化ASIC包括所述第一复数个混合逻辑元件,每个元件包括第一和第二通行门以及第一、第二和第三反相器,该存储器单元电路包括:
来自所述混合逻辑元件中的第一混合逻辑元件的第一和第二通行门;
来自所述混合逻辑元件中的第二混合逻辑元件的第一通行门;
来自所述第一混合逻辑元件和第二混合逻辑元件中的一个元件的第一、第二和第三反相器;以及
来自所述第一混合逻辑元件和第二混合逻辑元件中的另一个元件的第一和第二反相器。
14.如权利要求13所述的存储器电路,其中,
所述第一混合逻辑元件中的第一通行门以及第一和第二反相器是以闭环串联连接的。
15.如权利要求14所述的存储器电路,其中,
所述闭环串联中的通行门通过写入字线导线上的信号来控制。
16.如权利要求15所述的存储器电路,其中,
所述第一混合逻辑元件中的第三反相器被连接在写入字线导线和所述闭环串联中的通行门的控制输入端之间。
17.如权利要求16所述的存储器电路,其中,
所述第一混合逻辑元件中的第二通行门被连接在写入位线导线和闭环串联之间。
18.如权利要求17所述的存储器电路,其中,
所述第一混合逻辑元件中的第二通行门通过写入字线导线上的信号来控制。
19.如权利要求18所述的存储器电路,其中,
所述第二混合逻辑元件中的第一反相器和第一通行门串联连接在闭环串联和读出位线导线之间。
20.如权利要求19所述的存储器电路,其中,
所述第二混合逻辑元件中的第一通行门通过读出字线导线上的信号来控制。
21.如权利要求20所述的存储器电路,其中,
所述第二混合逻辑元件中的第二反相器被连接在读出字线导线和所述第二混合逻辑元件中的第一通行门的控制输入端之间。
22.如权利要求1所述的存储器电路,进一步包括存储器写地址信号处理电路,包括:
第一和第二寄存器,每个寄存器具有数据输入端、时钟输入端、复位输入端和输出端,将写入地址信号分别以实际形式和补码形式施加到所述第一和第二寄存器的数据输入端,将时钟信号施加到输入端,将复位信号被施加到所述复位输入端,并且每个寄存器通过它的输出端输出指示该寄存器当前状态的寄存器内容信号;以及
逻辑电路,用于将所述时钟信号和所述寄存器内容信号逻辑地结合在一起以产生所述复位信号。
23.如权利要求22所述的存储器电路,其中,所述逻辑电路包括:
用于形成所述寄存器内容信号的逻辑或,并且逻辑上将该逻辑或的结果与所述时钟信号的变化相结合的电路。
24.如权利要求23所述的存储器电路,其中,所述逻辑电路进一步包括:
用于形成逻辑或和所述时钟信号的变化的逻辑与非的电路,以产生所述复位信号。
25.如权利要求22所述的存储器电路,进一步包括:
用于使用至少部分来自所述寄存器内容信号的信号的电路,以对寄存器电路进行寻址。
26.一种在包括混合逻辑元件阵列的结构化ASIC上提供存储器电路的方法,该方法包括:
选择可选的第一复数个混合逻辑元件,以提供具有复数个不同存储器阵列尺寸中任意一个的存储器单元阵列;
掩模编程该第一复数个混合逻辑元件,以实现存储器单元阵列的功能;
提供存储器单元电路,所述存储器单元电路包括来自所述第一复数个混合逻辑元件中的第一混合逻辑元件和所述第一复数个混合逻辑元件中的第二混合逻辑元件每一个的一个通行门;
掩模编程第二复数个混合逻辑元件,以提供用于在存储器单元阵列中选择性地进行行寻址的行解码器;以及
掩模编程第三复数个混合逻辑元件,以提供用于存储器单元阵列的读出数据缓冲器。
27.如权利要求26所述的方法,进一步包括提供混合逻辑元件电路,包括:
第一和第二复用器,每个复用器具有第一和第二可选输入和一个用于控制哪个可选输入连接到复用器的输出的选择控制输入;
第一和第二反相器;以及
一个两输入与非门;
所述混合逻辑元件电路是掩模可编程的,以通过掩模编程与非门作为第三反相器操作,通过掩模可编程地连接包括第一复用器的第一可选输入和输出的闭环串联中的所述第一到第三反相器中的任意两个反相器,且经由所述第一到第三反相器的剩余的一个反相器通过掩模可编程地连接闭环串联中的一个点到第二复用器,来提供存储器单元。
28.如权利要求27所述的方法,进一步包括:
从写入字线导线到所述第一复用器的选择控制输入的掩模可编程连接。
29.如权利要求28所述的方法,进一步包括:
从写入位线导线到第一复用器的所述第二可选输入的掩模可编程连接。
30.如权利要求29所述的方法,进一步包括:
从所述第二复用器到读出位线导线的掩模可编程连接。
31.如权利要求30所述的方法,进一步包括:
从读出字线导线到所述第二复用器的选择控制输入的掩模可编程连接。
32.如权利要求26所述的方法,进一步包括提供混合逻辑元件电路,包括:
第一和第二复用器,每个复用器具有第一和第二可选输入和一个用于控制哪个可选输入连接到复用器的输出的选择控制输入;以及
第一、第二和第三电路元件,每个元件从包括有反相器和逻辑功能的组中选择,且每个元件提供信号缓冲;
所述混合逻辑元件电路是掩模可编程的,以通过掩模可编程地连接包括第一复用器的第一选择输入和输出的闭环串联中的所述第一到第三电路元件中的任意两个电路元件,并通过经由所述第一到第三电路元件中的剩余的一个电路元件来掩模可编程地连接闭环串联电路中的一个点到第二复用器来提供存储器单元。
33.如权利要求32所述的方法,进一步包括:
从写入字线导线到所述第一复用器的选择控制输入的掩模可编程连接。
34.如权利要求33所述的方法,进一步包括:
从写入位线导线到所述第一复用器的第二可选输入的掩模可编程连接。
35.如权利要求34所述的方法,进一步包括:
从所述第二复用器到读出位线导线的掩模可编程连接。
36.如权利要求35所述的方法,进一步包括:
从读出字线导线到所述第二复用器的选择控制输入的掩模可编程连接。
37.如权利要求32所述的方法,其中,第一到第三电路元件中的一个元件是与非门。
38.如权利要求32所述的方法,其中,第一到第三电路元件中的一个元件是或非门。
39.如权利要求26所述的方法,进一步包括提供结构化ASIC上的存储器单元电路,该结构化ASIC包括所述第一复数个混合逻辑元件,每个混合逻辑元件包括通行门和可以被用作反相器的逻辑信号缓冲元件,该存储器单元电路包括:
从复数个混合逻辑元件的通行门中选择的第一、第二和第三通行门;以及
从复数个混合逻辑元件的逻辑信号缓冲元件中选择的第一、第二、第三、第四和第五反相器。
40.如权利要求39所述的方法,其中,第一通行门以及第一和第二反相器是闭环串联连接的。
41.如权利要求40所述的方法,其中,所述闭环串联中的通行门通过写入字线导线上的信号来控制。
42.如权利要求41所述的方法,其中,所述第三反相器连接在所述写入字线导线和所述闭环串联中的通行门的控制输入端之间。
43.如权利要求42所述的方法,其中,所述第二通行门连接在写入位线导线和所述闭环串联之间。
44.如权利要求43所述的方法,其中,所述第二通行门通过所述写入字线导线上的信号来控制。
45.如权利要求44所述的方法,其中,第四反相器和第三通行门串联连接在所述闭环串联和读出位线导线之间。
46.如权利要求45所述的方法,其中,所述第三通行门通过读出字线导线上的信号来控制。
47.如权利要求46所述的方法,其中,所述第五反相器连接在所述读出字线导线和所述第三通行门的控制输入端之间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/651,364 US7589555B1 (en) | 2007-01-08 | 2007-01-08 | Variable sized soft memory macros in structured cell arrays, and related methods |
US11/651,364 | 2007-01-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101236788A CN101236788A (zh) | 2008-08-06 |
CN101236788B true CN101236788B (zh) | 2014-05-28 |
Family
ID=39400845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810009546.8A Expired - Fee Related CN101236788B (zh) | 2007-01-08 | 2008-01-07 | 结构化单元阵列中的可变尺寸软存储器宏及相关的方法 |
Country Status (3)
Country | Link |
---|---|
US (4) | US7589555B1 (zh) |
EP (1) | EP1944869B1 (zh) |
CN (1) | CN101236788B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009107309A1 (ja) * | 2008-02-29 | 2009-09-03 | 株式会社ルネサステクノロジ | 半導体装置 |
US8516185B2 (en) * | 2009-07-16 | 2013-08-20 | Netlist, Inc. | System and method utilizing distributed byte-wise buffers on a memory module |
US7787314B2 (en) * | 2008-09-11 | 2010-08-31 | Altera Corporation | Dynamic real-time delay characterization and configuration |
BR112014020003A8 (pt) * | 2012-02-15 | 2017-07-11 | Siemens Ag | Arranjo de acesso lógico, método para operar um arranjo de acesso lógico, e, chip de memória |
US10509757B2 (en) * | 2016-09-22 | 2019-12-17 | Altera Corporation | Integrated circuits having expandable processor memory |
US10847214B2 (en) * | 2017-09-25 | 2020-11-24 | Taiwan Semiconductor Manufacturing Company Limited | Low voltage bit-cell |
US10664561B1 (en) * | 2017-10-10 | 2020-05-26 | Xilinx, Inc. | Automatic pipelining of memory circuits |
CN107633866A (zh) * | 2017-10-20 | 2018-01-26 | 上海华力微电子有限公司 | 一种半导体器件的电编程熔丝结构 |
US20210111721A1 (en) * | 2020-12-21 | 2021-04-15 | Intel Corporation | Circuits And Methods For Programmable Memory |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1471170A (zh) * | 2002-07-25 | 2004-01-28 | ��ʿͨ��ʽ���� | 半导体存储器 |
EP1612940A2 (en) * | 2004-07-02 | 2006-01-04 | Altera Corporation (a Delaware Corporation) | Application-specific integrated circuit equivalents of programmable logic and associated methods |
CN1841389A (zh) * | 2005-04-01 | 2006-10-04 | 阿尔特拉公司 | 产生等效的现场可编程门阵列和结构化专用集成电路的方法 |
CN1845461A (zh) * | 2005-04-08 | 2006-10-11 | 阿尔特拉公司 | 用于产生和扩展结构化asic逻辑库和其他功能的方法 |
CN1855488A (zh) * | 2005-04-29 | 2006-11-01 | 阿尔特拉公司 | 对结构化专用集成电路进行可编程断电的方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6262933B1 (en) * | 1999-01-29 | 2001-07-17 | Altera Corporation | High speed programmable address decoder |
JP3957469B2 (ja) * | 2000-04-11 | 2007-08-15 | Necエレクトロニクス株式会社 | 半導体記憶装置 |
US6992503B2 (en) * | 2002-07-08 | 2006-01-31 | Viciciv Technology | Programmable devices with convertibility to customizable devices |
US7126837B1 (en) * | 2004-03-26 | 2006-10-24 | Netlogic Microsystems, Inc. | Interlocking memory/logic cell layout and method of manufacture |
US7084665B1 (en) | 2004-07-22 | 2006-08-01 | Altera Corporation | Distributed random access memory in a programmable logic device |
US7391236B2 (en) | 2005-12-27 | 2008-06-24 | Altera Corporation | Distributed memory in field-programmable gate array integrated circuit devices |
US7493585B1 (en) | 2006-07-13 | 2009-02-17 | Altera Corporation | Methods of packing user logical RAM into dedicated RAM blocks and dual-use logic/RAM blocks |
US7583103B2 (en) * | 2007-03-30 | 2009-09-01 | Altera Corporation | Configurable time borrowing flip-flops |
-
2007
- 2007-01-08 US US11/651,364 patent/US7589555B1/en not_active Expired - Fee Related
-
2008
- 2008-01-07 CN CN200810009546.8A patent/CN101236788B/zh not_active Expired - Fee Related
- 2008-01-08 EP EP08000237.1A patent/EP1944869B1/en not_active Expired - Fee Related
-
2009
- 2009-08-27 US US12/548,976 patent/US7768819B2/en not_active Expired - Fee Related
-
2010
- 2010-06-14 US US12/814,604 patent/US7876601B2/en not_active Expired - Fee Related
-
2011
- 2011-01-11 US US13/004,587 patent/US8185861B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1471170A (zh) * | 2002-07-25 | 2004-01-28 | ��ʿͨ��ʽ���� | 半导体存储器 |
EP1612940A2 (en) * | 2004-07-02 | 2006-01-04 | Altera Corporation (a Delaware Corporation) | Application-specific integrated circuit equivalents of programmable logic and associated methods |
CN1841389A (zh) * | 2005-04-01 | 2006-10-04 | 阿尔特拉公司 | 产生等效的现场可编程门阵列和结构化专用集成电路的方法 |
CN1845461A (zh) * | 2005-04-08 | 2006-10-11 | 阿尔特拉公司 | 用于产生和扩展结构化asic逻辑库和其他功能的方法 |
CN1855488A (zh) * | 2005-04-29 | 2006-11-01 | 阿尔特拉公司 | 对结构化专用集成电路进行可编程断电的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US8185861B2 (en) | 2012-05-22 |
CN101236788A (zh) | 2008-08-06 |
US20110107290A1 (en) | 2011-05-05 |
EP1944869A3 (en) | 2010-11-10 |
EP1944869B1 (en) | 2013-09-18 |
US7768819B2 (en) | 2010-08-03 |
US7589555B1 (en) | 2009-09-15 |
US20090315588A1 (en) | 2009-12-24 |
EP1944869A2 (en) | 2008-07-16 |
US7876601B2 (en) | 2011-01-25 |
US20100244893A1 (en) | 2010-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101236788B (zh) | 结构化单元阵列中的可变尺寸软存储器宏及相关的方法 | |
US7196942B2 (en) | Configuration memory structure | |
JP6250548B2 (ja) | 再構成可能な半導体装置の論理構成方法 | |
US7668035B2 (en) | Memory circuits with reduced leakage power and design structures for same | |
US7609542B2 (en) | Implementing enhanced SRAM read performance sort ring oscillator (PSRO) | |
Tian et al. | A field programmable transistor array featuring single-cycle partial/full dynamic reconfiguration | |
US5572482A (en) | Block architected static RAM configurable for different word widths and associated method for forming a physical layout of the static RAM | |
KR20170109026A (ko) | 명령어 시프터 감소를 위한 방법들 및 장치들 | |
US7511548B2 (en) | Clock distribution network, structure, and method for providing balanced loading in integrated circuit clock trees | |
US9811628B1 (en) | Metal configurable register file | |
US6233197B1 (en) | Multi-port semiconductor memory and compiler having capacitance compensation | |
TWI576850B (zh) | And a wiring method for disposing a semiconductor device that can be reconstructed, a program thereof, and a wiring device | |
US7746722B2 (en) | Metal programmable self-timed memories | |
JP4645238B2 (ja) | 半導体装置 | |
US7479819B2 (en) | Clock distribution network, structure, and method for providing balanced loading in integrated circuit clock trees | |
JPH09134590A (ja) | 半導体記憶回路装置及びその設計装置 | |
JP4471582B2 (ja) | 半導体集積回路及び回路設計装置 | |
Dutta et al. | A design study of a 0.25-/spl mu/m video signal processor | |
TWI239016B (en) | System and method for low area self-timing in memory devices | |
Takahashi et al. | The circuits and physical design of the synergistic processor element of a CELL processor | |
Yazdanshenas | Datacenter-optimized fpgas | |
Elsharkasy | Low power reliable design using pulsed latch circuits | |
Takahashi et al. | The circuit design of the synergistic processor element of a Cell processor | |
Gore et al. | A Scalable and Area-Efficient Configuration Circuitry for Semi-Custom FPGA Design | |
Steinweg et al. | A user-configurable RAM compiler for gate arrays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140528 Termination date: 20170107 |