存储器宏配置及其方法

文档序号:6771771阅读:146来源:国知局
专利名称:存储器宏配置及其方法
技术领域
本公开基本上涉及半导体结构以及方法,更具体地,涉及存储器宏。
背景技术
许多集成电路(比如专用集成电路,也称为ASIC)包括嵌入式动态随机存取存储器(eDRAM)块(也称为eDRAM宏)。通过将DRAM嵌入到带有数字信号处理器(DSP)或者其他专用硬件的集成电路(IC)芯片上,芯片设计者避免了 DSP或硬件与单独的存储器芯片之间的大延迟。相比于使用单独的DRAM芯片,eDRAM能提高数据带宽并降低功耗。使用eDRAM 还能够降低产品的整体器件封装。因此,eDRAM在种类繁多的电子器件中越来越普遍,包括但不限于,移动电话、智能手机、MP3播放器、以及便携式笔记本电脑。其中包括eDRAM的ASIC环境可以具有各种系统总线,以及各种总线带宽。在设计产品时,IC设计者会寻求将eDRAM的带宽(输入输出端子的数量,或者I/O的数量)与系统总线的带宽相匹配。产生带有不同的eDRAM宏带宽的不同的产品配置的一种方式是使用编译器的软件解决方案。然而,这通常必须要提供多个与不同的期望带宽相对应的eDRAM配置,因而会带来高额成本。为eDRAM宏改变I/O的数量的另一种方法是通过毗邻(abutment)方式来包含多个宏。例如,为了将给定的宏的带宽加倍,可以包括进两个宏而不是一个。当需要较宽的数据总线的时候,这种方式增加了存储器的物理尺寸。这还会使eDRAM宏所用的面积加倍。

发明内容
本发明提出了一种存储器宏,包括多个存储器阵列段,每个存储器阵列段均具有预定数量的数据输入端和输出端;段解码器电路,配置为接收指示存储器分区数量的第一值,其中,存储器阵列段将被分割,并且基于第一值,输出多个信号,用于选择性地激活将要被存取的多个存储器阵列段中的一个或者多个;以及多个输出端驱动器,与段解码器电路相连接,并且与相应的输出端相连接,多个输出端驱动器配置为从每个相应的激活的存储器阵列段的相应输出端中选择性地输出数据。其中,配置多个存储器阵列段,从而使得没有被多个信号选择的存储器阵列段处于待用状态。其中,每个输出端驱动器均包括三态缓冲器。其中,输出端驱动器配置为响应于多个信号,从而使得与没有被选择的多个存储器阵列段之一的输出端之一相连接的每个输出端驱动器均处于高阻抗状态。其中,存储器宏是嵌入式动态随机存取存储器宏。其中,段解码器配置为,产生多个信号,从而使得在给定时间所激活的存储器阵列段的数量等于存储器阵列段的总数量除以存储器分区数量。其中,将到分区的给定的一个中的两个或者更多个段的数据输入端连接到公共节
点O
其中,将从分区的给定的一个中的两个或者更多个段的输出端连接到公共节点。其中,存储器宏的每个段均接收相应的写屏蔽输入端,并且到分区的给定的一个中的每个段的写屏蔽输入端均连接到公共节点。其中,段解码器电路进一步配置为,接收将要进行存取的存储器宏中的地址的一部分,并且多个信号还基于地址的一部分。本发明还提出了一种集成电路,包括嵌入式存储器宏,包括多个存储器阵列段,每个都具有预定数量的数据输入端和输出端;段解码器电路配置为接收指示存储器分区数量的第一值,其中,存储器阵列段将被分割,并且基于第一值,输出多个信号,用于选择性地激活将要被存取的多个存储器阵列段中的一个或者多个;以及多个输出端驱动器, 与段解码器电路相连接,并且与相应的输出端相连接,多个输出端驱动器配置为从每个相应的激活的存储器阵列段的相应输出端中选择性地输出数据;执行电路,配置为对将要从嵌入式存储器中取回的数据或者存储在嵌入式存储器中的数据执行至少一种算法或者逻辑运算,执行电路具有至少一个第一输入端和至少一个第一输出端,其中在至少一个分区中,多个存储器阵列段的相应的数据输入端以第一公共节点的方式连接到执行电路的第一输出端,并且在至少一个分区中,多个存储器阵列段的相应的输出端以第二公共节点的方式连接到执行电路的第一输入端。其中存储器宏具有I个存储器阵列段,每个存储器阵列段均具有J个输入端和J 个输出端,执行电路具有K个输入端和K个输出端,其中,[(IXJ)/K]是整数,以及执行电路的K个输出端中的每一个均连接到相应的第一公共节点,第一公共节点还连接到[(I X J)/ K]个相应的不同的存储器阵列段中的存储器宏的[(I XJ)/K]个输入端。其中,[(IXJ)/K]是分区数量。本发明还提供了一种方法,包括提供存储器宏,存储器宏具有多个存储器阵列段,每个存储器阵列段均具有预定数量的数据输入端和输出端;接收指示存储器分区数量的第一值,其中,存储器宏中的多个存储器阵列段将被分割,并且基于第一值,选择性地激活将要被存取的多个存储器阵列段中的一个或者多个;以及从每个相应的激活的存储器阵列段的相应的输出端选择性地输出数据。该方法进一步包括接收在存储器宏中将要被存取的数据的地址,其中,选择性地激活的步骤使用所接收到的地址的一部分。其中,存储器宏具有N个输入端和输出端(1/0),其中,N是整数,方法进一步包括 提供具有数量为N/K个(I/O)的电路,其中,K是整数,电路的每个输出端连接到相应的第一公共节点,电路的每个输入端连接到相应的第二公共节点;从第一公共节点中的一个向存储器宏的N/K个数据输入端提供信号;以及从存储器宏的N/K个输出端向第二公共节点中的一个提供信号。其中,将来自第一公共节点中的一个的信号提供给存储器宏中的N/K个相应的不同段中的输入端。其中,存储器宏具有K个写屏蔽输入端,方法进一步包括从第三公共节点向存储器宏中的K个写屏蔽输入端提供信号。其中,接收第一值的步骤包括从多个电路路径接收多个电压信号,每个电路路径均单独地与Vss或者Vdd相连接。
其中,存储器宏的每个输出端均具有三态输出端缓冲器,多个存储器阵列段中的其他没有被选择性地激活的存储器阵列段的输出端缓冲器处于高阻抗状态。


图IA和图IB是包括了 eDRAM宏的专用集成电路的框图。图2是图1的eDRAM宏的框图。图3A是图2的段解码器的框图。图:3B是示出了通过图3A的段解码器产生的SEGMENT信号值的真值表。图4示出了以单一分区运行的图2的eDRAM宏。图5A-5B示出了以两个分区运行的图2的eDRAM宏。图6A-6D示出了以四个分区运行的图2的eDRAM宏。图7A-7H示出了以八个分区运行的图2的eDRAM宏。图8A-8D示出了分别在以1个、2个、4个和8个分区运行的时候的图2的宏的I/ 0配置。图9是使用图2的存储器宏的方法的流程图。
具体实施例方式这里对于示例性实施例的描述旨在与附图结合在一起进行阅读,这些附图可视作整个书面说明所要参考的部分。图IA是包括了 eDRAM宏110和专用集成电路120的集成电路(IC)IOO的框图。 eDRAM宏110具有可重复使用的设计,其可以包括在各种IC中。在一些实施例中,eDRAM宏 110由半导体代工(semiconductor foundry)进行设计,而电路120由无晶圆厂设计公司 (fabless design house)(不具备室内生产设备的半导体供应商)进行设计。在其他实施例中,eDRAM 110和电路120由集成设计制造商(integrated design manufacturer)进行设计。专用集成电路块120配置为,在将要从eDRAM宏110上取回或者存储在eDRAM宏 110中的数据上实现至少一种算法或者逻辑操作。电路120可以包括特殊用途的功能和可重复使用的IP单元的任一种组合,与存储器宏110相分离。所述的宏和方法允许电路120的设计者通过外部连接改变宏配置。例如,原来的存储器宏尺寸是M个字XN个1/0,或者MXN。在不改变宏110的尺寸(MXN)的情况下, 可以将宏配置为(MXK)个字X (N/K)个1/0,其中,K是整数,并且N/K是分区数量(number of partitions)。K的值的示例包括但不限于,2、4、8、16等等,并且这一系列相应的示例宏配制包括M 个字 XN 个 1/0,(MX2)个字 X (N/2)个 1/0,(MX4)个字 X (N/4)个 1/0,(MX8)个字 X (N/8)个 1/0,(MX 16)个字 X (N/16)个 1/0,等等。eDRAM宏110具有多个可变动的1/0引脚13h_132h以及14^i-142h,可以通过在引脚之间形成连接131a、131b、141a、141b来在宏110的外部重新配置这些引脚。该重新配制可以在自动布局布线(APR)工具中完成,而不会影响宏110的内部设计。因为不管如何配制宏I/O引脚配制,Ara工具都用于将专用集成电路120与宏110相连接,从而在Ara工具中形成硬接线的连接不会增加设计或者制造工艺的复杂度。在图IA的示例中,为了简洁,示出了 8个输入端引脚1323-13 和8个输出端引脚142a-142h,但是还可以使用任一的I/O数量(例如,256个、288个、512个,等等)。在图 IA中,专用集成电路120只具有2个输入端140a、140b以及两个输出端130a、130b。在该简化示例中,AI3R工具形成了将电路输出端130a与4个宏输入端132a-132d在公共节点131a 处相连接的线路段(circuit segment)。类似地,APR工具形成(1)将电路输出端130b与 4个宏输入端132θ-13 !在公共节点131b上相连接的线路段;(2)将电路输入端140a与4 个宏输出端142a-142d在公共节点141a上相连接的线路段;以及(3)将电路输入端140b 与4个宏输出端142e-14a!在公共节点141b上相连接的线路段。相同的eDRAM宏110可以被重复用于具有4个输入端引脚和4个输出端引脚的专用集成电路,或者具有其他I/O数量的专用集成电路。例如,如图IB所示,相同的eDRAM宏110被连接到具有4个I/O (输出端130a-130d 和输入端140a-140d)的不同的专用集成电路120’。在不改变宏110内部的情况下,将通过布局布线工具制成的连接用于“重新配置”宏110的I/O。这样,Ara工具产生了线路段,以进行以下连接(1)将输出端130a与输入端引脚132a、13 在公共节点131a上相连接;(2)将输出端130b与输入端引脚132c、132d在公共节点131b上相连接;(3)将输出端130c与输入端引脚13&、132f在公共节点131c上相连接;(4)将输出端130d与输入端引脚132g、13 !在公共节点131d上相连接;(5)将输入端140a与输出端引脚142^14 在公共节点141a上相连接;(6)将输入端140b与输出端引脚142c、142d在公共节点141b上相连接;(7)将输入端140c与输出端引脚142e、142f在公共节点141c上相连接;以及(8)将输入端140d与输出端引脚14&、142f在公共节点141d上相连接。虽然在图IA和图IB中没有示出,但是通过在宏110的I/O引脚和APR工具中的专用集成电路的I/O引脚之间制造一对一连接点,相同的宏110也可以重复用于配置为8 个I/O的专用集成电路。在一些实施例中,eDRAM宏110具有分段的I/O块。段包括作为单个组一起进行控制的I/O的最小数量。存储器宏110可以具有许多段。根据所选配置,数据输入端被跨段(across segments)连接在一起,数据输出端被跨段连接在一起。配置的类型(分区数量)通过下面所述的配置输入端引脚上的信号进行确定。在宏外面(例如,通过布局布线工具)制造外部连接(电线)并且外部连接与所选配置相对应。在一些实施例中,在每段中都提供输出端驱动器,可以根据控制信号将每段设置为使用模式(高电压或者低电压)或者高阻抗(hi-Z)模式。如果2段、4段或者8段的输出端通过电线连接在一起,则只有所选段的输出端缓冲器驱动公共节点,而其他未选段的输出端驱动器则处于高阻抗模式。给定的公共输出端节点之一通过单个段的驱动器在任一时间进行驱动;也就是说,不同段的两个输出端驱动器不会同时驱动一个驱动节点(或者电路120的输入端引脚)。在一些实施例中,如果给定的段没有被选择,则与该段相对应的存储器阵列的部分可以选择性地处于待用状态以节省功耗。段的选择是基于外部提供的将要被存取的数据的地址而动态地完成的。图2是适合用作eDRAM的存储器宏110’的示例的框图。该存储器宏110’与图IA和图IB中的宏110类似,除了宏110,配置为观8个I/O引脚(即,288个数据输入端和288个数据输出端)。数据输入端表示为DIN(O). . . DIN(287),而数据输出端表示为 DOUT(O)... DOUT (287) 0 宏 110,被分为 8 个存储器段 150a_150h,表示为段(0)...段(7)。 每个存储器阵列段都具有数据输入端和数据输出端的预定最小数量,数据输入端和数据输出端作为一个组进行共同控制。只示出了 8个段中的2个段,段150a和段150h ;另外6个段配置为与段150a和段150h的方式相同。段(0) 150a包括输入端DIN(O)... DIN(35)和输出端DOUT (0). . . DOUT (35)。每个连续的段包括下一组36个1/0,直到段(7) 150h,其具有输入端DINQ52). . .DIM287)和输出端DOUT (252). . . DOUT (观7)。在该示例中,宏110,的总尺寸是7 (即,73728位),对应于每段9216位,但是其他实施例包括了更大或者更小的宏ο电路120具有至少一个第一输入端引脚和至少一个第一输出端引脚,其中存储器宏110’的至少一个分区中的多个存储器阵列段的相应数据输入端经由第一公共节点,与电路120的第一输出端相连接,至少一个分区中的多个存储器阵列段的相应输出端经由第二公共节点,与电路的第一输入端相连接。在解释宏110’中的其他电路之前,要参考图4到图7H,从而分别解释存储器阵列段150a-150h是如何连同具有1、2、4和8个分区的各种专用集成电路进行使用的。参考图4,所有的8个段(从0到7进行编号)都是使用的。宏110’用作具有观8 位的总线带宽的单个大分区。在单个读周期中,从8个段中的每个中读取36位,一共288 位。参考图5A-5B,示出了相同的宏110’,其被配置为用于具有144个I/O引脚的专用集成电路。在该模式中,宏110’以2个分区运行。在单个读周期期间,只有一个分区被读取。对于写操作来说同样如此。每个分区都具有144位的带宽。在单个读周期中,只从(8 个中的)4个段中的每个中读取36位,一共144位。因此,当第一分区在使用时(图5A), 段0、2、4和6在使用,而段1、3、5和7待用,通过阴影(shading)示出。相反,当第二分区在使用时(图5B),段0、2、4和6待用,通过阴影示出,而段1、3、5和7在使用。参考图6A-6D,示出了相同的宏110’,其被配置为用于具有72个I/O引脚的专用集成电路。在该模式中,宏110’以4个分区运行。在单个读周期期间,只有一个分区被读取。对于写操作来说同样如此。每个分区都具有72位的带宽。在单个读周期中,只从(8 个中的)2个段中的每个读取36位,一共72位。因此,当第一分区在使用时(图6A),段0 和4在使用,而段1-3和5-7待用,通过阴影示出。当第二分区在使用时(图6B),段0、2-4 和6-7待用,通过阴影示出,而段1和5在使用。当第三分区在使用时(图6C),段0-1、3-5 和7待用,通过阴影示出,而段2和6在使用。当第四分区在使用时(图6D),段0-2和4-6 待用,通过阴影示出,而段3和7在使用。
参考图7A-7H,示出了相同的宏110’,其被配置为用于具有36个I/O引脚的专用集成电路。在该模式中,宏110’以8个分区运行。在单个读周期期间,只有一个分区被读取。对于写操作来说同样如此。每个分区都具有36位的带宽。在单个读周期中,只从(8 个中的)1个段中读取36位,一共36位。因此,当第一分区在使用时(图7A),段0在使用, 而段1-7待用,通过阴影示出。当第二分区在使用时(图7B),段0和2-7待用,通过阴影示出,而段1在使用。当第三分区在使用时(图7C),段0-1和3-7待用,通过阴影示出,而段2在使用。当第四分区在使用时(图7D),段0-2和4-7待用,通过阴影示出,而段3在使用。当第五分区在使用时(图7E),段0-3、5-7待用,通过阴影示出,而段4在使用。当第六分区在使用时(图7F),段0-4和6-7待用,通过阴影示出,而段5在使用。当第七分区在使用时(图7G),段0-5和7待用,通过阴影示出,而段6在使用。当第八分区在使用时(图 7H),段0-6待用,通过阴影示出,而段7在使用。再次参考图2,除了数据引脚DIN[287:0] ^P DOUT[287:0]之外,宏110’还具有以下控制输入端WM[7:0]、A[15:0]以及FLEXIO[1:0]。对于任一给定的IC,FLEXI0[1:0]是在布局布线工艺期间通过将两个FLEXIO输入端引脚与Vdd或者Vss相连接的硬接线连接,以分别将每个针编程(program)为1或者0。也就是说,虽然宏设计能够重复用于各种分区数量,但是存储器分区的数量对于任一给定的IC来说在布局布线工艺期间是固定的。DIN、 DOUT, WM和A是到宏110’的动态输入端,而其值通过电路120在运行期间确定。FLEXI0[1:0]输入端引脚接收了示出分区数量的2位。在图2的示例中,有4种运行模式,分别对应于1、2、4或者8个分区。FLEXI0[1:0]的2位的各种值对应于这4种模式。表1示出了 FLEXI0[1:0]的值和对应的分区数量。表 权利要求
1.一种存储器宏,包括多个存储器阵列段,每个所述存储器阵列段均具有预定数量的数据输入端和输出端; 段解码器电路,配置为接收指示存储器分区数量的第一值,其中,所述存储器阵列段将被分割,并且基于所述第一值,输出多个信号,用于选择性地激活将要被存取的所述多个存储器阵列段中的一个或者多个;以及多个输出端驱动器,与所述段解码器电路相连接,并且与相应的输出端相连接,所述多个输出端驱动器配置为从每个相应的激活的存储器阵列段的相应输出端中选择性地输出数据。
2.根据权利要求1所述的存储器宏,其中,配置所述多个存储器阵列段,从而使得没有被所述多个信号选择的存储器阵列段处于待用状态。
3.根据权利要求1所述的存储器宏,其中,每个所述输出端驱动器均包括三态缓冲器。
4.根据权利要求3所述的存储器宏,其中,所述输出端驱动器配置为响应于所述多个信号,从而使得与没有被选择的多个存储器阵列段之一的输出端之一相连接的每个输出端驱动器均处于高阻抗状态。
5.根据权利要求1所述的存储器宏,其中,所述存储器宏是嵌入式动态随机存取存储器宏ο
6.根据权利要求1所述的存储器宏,其中,所述段解码器配置为,产生多个信号,从而使得在给定时间所激活的存储器阵列段的数量等于存储器阵列段的总数量除以所述存储器分区数量。
7.根据权利要求1所述的存储器宏,其中,将到所述分区的给定的一个中的两个或者更多个段的数据输入端连接到公共节点。
8.根据权利要求1所述的存储器宏,其中,将从所述分区的给定的一个中的两个或者更多个段的输出端连接到公共节点。
9.一种集成电路,包括 嵌入式存储器宏,包括多个存储器阵列段,每个都具有预定数量的数据输入端和输出端; 段解码器电路配置为接收指示存储器分区数量的第一值,其中,所述存储器阵列段将被分割,并且基于所述第一值,输出多个信号,用于选择性地激活将要被存取的所述多个存储器阵列段中的一个或者多个;以及多个输出端驱动器,与所述段解码器电路相连接,并且与相应的输出端相连接,所述多个输出端驱动器配置为从每个相应的激活的存储器阵列段的相应输出端中选择性地输出数据;执行电路,配置为对将要从所述嵌入式存储器中取回的数据或者存储在所述嵌入式存储器中的数据执行至少一种算法或者逻辑运算,所述执行电路具有至少一个第一输入端和至少一个第一输出端,其中在至少一个所述分区中,多个存储器阵列段的相应的数据输入端以第一公共节点的方式连接到所述执行电路的所述第一输出端,并且在至少一个所述分区中,多个存储器阵列段的相应的输出端以第二公共节点的方式连接到所述执行电路的所述第一输入端。
10. 一种方法,包括提供存储器宏,所述存储器宏具有多个存储器阵列段,每个所述存储器阵列段均具有预定数量的数据输入端和输出端;接收指示存储器分区数量的第一值,其中,存储器宏中的多个存储器阵列段将被分割,并且基于所述第一值,选择性地激活将要被存取的所述多个存储器阵列段中的一个或者多个;以及从每个相应的激活的存储器阵列段的相应的输出端选择性地输出数据。
全文摘要
一种存储器宏,包括多个存储器阵列段,每个存储器阵列段都具有预定数量的数据输入端和输出端。段解码器电路配置为接收指示存储器的分区数量的第一值,其中,存储器阵列段将被分割,并且基于第一值,输出多个信号,用于选择性地激活将要被存取的多个存储器阵列段中的一个或者多个。多个输出端驱动器,与段解码器电路相连接,并且与相应的输出端相连接。多个输出端驱动器配置为从每个相应被激活的存储器阵列段的相应输出端选择性地输出数据。
文档编号G11C11/4063GK102403032SQ201110166138
公开日2012年4月4日 申请日期2011年6月15日 优先权日2010年9月8日
发明者谢尔盖·罗马洛夫斯基 申请人:台湾积体电路制造股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1