内存运算电路及芯片结构的制作方法

文档序号:23720372发布日期:2021-01-24 07:50阅读:118来源:国知局
内存运算电路及芯片结构的制作方法

[0001]
本申请涉及一种数字集成电路领域,具体涉及一种内存运算电路及芯片结构。


背景技术:

[0002]
在当今集成电路设计中,电路需要有各种数学运算。很大一部分数学运算需要芯片中存储器存储的逻辑值参与运算。如图1所示,其中,sram是存储器,其包括逻辑控制电路control、译码器xdec以及存储单元io[0]-io[n]组成的存储阵列。要实现a*b+c*d+cell_entry0[x]的逻辑运算,需要先将该存储单元的逻辑值cell_entry0[x]从存储阵列中读取出来,然后将逻辑值a和b进行与运算,将逻辑值c和d进行与运算;最后,再将读取出的逻辑值cell_entry0[x]、a*b以及c*d进行或运算,需要至少2个逻辑延时的时长。因此,得到最终运算结果所需的时间较长,无法满足现有的集成电路对高速运算的需求。


技术实现要素:

[0003]
本申请实施例的目的在于提供一种内存运算电路及芯片结构,可以降低延时,提高逻辑运算的效率。
[0004]
本申请实施例提供了一种内存运算电路,包括:
[0005]
读字线及读位线;
[0006]
存储单元,其具有互补的主存储节点和辅存储节点;
[0007]
下拉开关,其控制端与所述辅存储节点或主存储节点连接,其输出端接地;
[0008]
读控制开关,其控制端与所述读字线连接,其输入端与所述读位线连接,其输出端与所述下拉开关的输入端连接;
[0009]
至少一个下拉单元,每一下拉单元的输入端均与所述读位线连接,每一下拉单元的输出端接地,每一下拉单元的控制端接入至少一个控制信号,每一所述下拉单元用于在其接入的每一控制信号均为高电平时导通。
[0010]
本申请实施例提供的内存运算电路可以在将其存储单元存储的逻辑值读出之前,在存储阵器内即可与其他逻辑值或者逻辑关系表达式进行或运算,可以在一个逻辑延时的时长内计算出运算结果,可以提高计算效率。
[0011]
可选地,在本申请实施例所述的内存运算电路中,所述下拉开关与所述辅存储节点连接,所述下拉开关包括第二反相器以及下拉nmos管,所述下拉nmos管的栅极与所述第二反相器的输出端连接,所述第二反相器的输入端与所述辅存储节点连接,所述下拉nmos管的漏极与所述读控制开关的输出端连接,所述下拉nmos管的源极接地。
[0012]
可选地,在本申请实施例所述的内存运算电路中,所述下拉开关与所述主存储节点连接,所述下拉开关为nmos管。
[0013]
可选地,在本申请实施例所述的内存运算电路中,所述下拉单元包括一个第一nmos管,所述第一nmos管的漏极与所述读位线连接,所述第一nmos管的源极接地,所述第一nmos管的栅极接入一个控制信号。
[0014]
可选地,在本申请实施例所述的内存运算电路中,所述下拉单元包括多个第一nmos管,所述多个第一nmos管依次级联,所述多个第一nmos管中的第一级的第一nmos管的漏极与所述读位线连接,所述多个第一nmos管中的最后一级的第一nmos管的源极接地,每一所述第一nmos管的栅极分别接入一个控制信号。
[0015]
可选地,在本申请实施例所述的内存运算电路中,所述读控制开关为nmos管。
[0016]
可选地,在本申请实施例所述的内存运算电路中,还包括字线、互补的第一位线和第二位线;
[0017]
所述存储单元还包括第一位线开关以及第二位线开关;
[0018]
所述第一位线开关的第一端与所述第一位线连接,所述第一位线开关的第二端与所述主存储节点连接,所述第二位线开关的第一端与所述第二位线连接,所述第二位线开关的第二端与所述辅存储节点连接;所述第一位线开关以及第二位线开关的控制端均与所述字线连接。
[0019]
本申请实施例还提供了一种内存运算电路,包括:
[0020]
存储阵列,其包括多个存储单元,所述多个存储单元呈n行m列排布,每一存储单元具有互补的主存储节点和辅存储节点;
[0021]
n条读字线,所述n条读字线与所述n行一一对应;
[0022]
m条读位线,所述m条读位线与所述m列一一对应;
[0023]
多个下拉开关,所述多个下拉开关与所述多个存储单元一一对应,每一下拉开关的控制端与对应存储单元的主存储节点或辅存储节点连接,每一下拉开关的输出端接地;
[0024]
多个读控制开关,所述多个读控制开关与所述多个存储单元一一对应,每一读控制开关的输出端与对应存储单元连接的下拉开关的输入端连接,每一读控制开关的输入端与对应读位线连接,每一读控制开关的栅极与对应的读字线连接;
[0025]
至少一个下拉单元,每一下拉单元的输入端与一所述读位线连接,每一下拉单元的输出端接地,每一下拉单元的控制端接入至少一个控制信号,每一所述下拉单元用于在其接入的每一控制信号均为高电平时导通。
[0026]
本申请实施例可以将同一列的两个存储单元的逻辑值与其他逻辑值进行或运算,可以在一个逻辑延时周期内计算出运算结果,不需要在外部多准备一个诸如触发器之类的器件去存储早先读出来的一个存储单元的逻辑值作运算,因此不仅可以降低延时,提高计算效率,还可以减少器件数量,从而可以减小芯片的尺寸。
[0027]
可选地,在本申请实施例所述的内存运算电路中,所述下拉开关与所述主存储节点连接,所述下拉开关为下拉nmos管。
[0028]
可选地,在本申请实施例所述的内存运算电路中,所述下拉开关与所述辅存储节点连接,所述下拉开关包括第二反相器以及下拉nmos管,所述下拉nmos管的栅极与所述第二反相器的输出端连接,所述第二反相器的输入端与所述辅存储节点连接,所述下拉nmos管的漏极与所述读控制开关的输出端连接,所述下拉nmos管的源极接地。
[0029]
可选地,在本申请实施例所述的内存运算电路中,所述下拉单元包括多个第三nmos管,所述多个第一nmos管依次级联,所述多个第一nmos管中的第一级的第一nmos管的漏极与所述读位线连接,所述多个第一nmos管中的最后一级的第一nmos管的源极接地,每一所述第一nmos管的栅极分别接入一个控制信号。
[0030]
本申请实施例还提供了一种芯片结构,包括上述任一项所述的内存运算电路。
[0031]
本申请实施例提供的内存运算电路通过采用在其内部的读位线上设置至少一个下拉单元,从而通过该至少一个下拉单元的控制端接入的控制信号,来将需要与该存储单元的逻辑值进行逻辑运算的其他逻辑值接入,从而使得该至少一个下拉单元将其他逻辑值与该存储单元的逻辑值进行运算,可以在将其存储单元存储的逻辑值读出之前,在存储阵器内即可与其他逻辑值或者逻辑关系表达式进行或运算,可以在一个逻辑延时的时长内计算出运算结果,可以提高计算效率。
附图说明
[0032]
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0033]
图1是现有技术中存储器中的逻辑值参与逻辑运算时的结构示意图。
[0034]
图2是本申请一些实施例中的一种内存运算电路的第一种结构示意图。
[0035]
图3是本申请一些实施例中的一种内存运算电路的第二种结构示意图。
[0036]
图4是本申请一些实施例中的一种内存运算电路的第三种结构示意图。
[0037]
图5是本申请一些实施例中的一种内存运算电路的第四种结构示意图。
具体实施方式
[0038]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0039]
在本申请的描述中,需要说明的是,术语“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0040]
还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
[0041]
本申请实施例提供了一种内存运算电路,包括:读字线及读位线;存储单元,其具
有互补的主存储节点和辅存储节点;下拉开关,其控制端与所述辅存储节点或主存储节点连接,其输出端接地;读控制开关,其控制端与所述读字线连接,其输入端与所述读位线连接,其输出端与所述下拉开关的输入端连接;至少一个下拉单元,每一下拉单元的输入端均与所述读位线连接,每一下拉单元的输出端接地,每一下拉单元的控制端接入至少一个控制信号,每一所述下拉单元用于在其接入的每一控制信号均为高电平时导通。该内存运算电路应用于芯片结构中,其相比于图1所示的现有技术,该内存运算电路可以在将其存储单元存储的逻辑值读出之前,在存储阵器内即可与其他逻辑值或者逻辑关系表达式进行逻辑运算,可以在一个逻辑延时的时长内计算出运算结果,可以提高计算效率。
[0042]
请同时参照图2,图2是本申请一些实施例中的一种内存运算电路的结构示意图。该内存运算电路,包括:读字线rwl、读位线rbl、字线wl、第一位线bl、第二位线blb、存储单元101、下拉开关t1、读控制开关t2以及至少一个下拉单元102。
[0043]
其中,该存储单元101具有互补的主存储节点qb和辅存储节点q;主存储节点qb和辅存储节点q的电平相反。该下拉开关t1的控制端与辅存储节点q或所述主存储节点qb连接,该下拉开关t1的输出端接地。读控制开关t2的控制端与所述读字线rwl连接,读控制开关t2的输入端与该读位线rbl连接,读控制开关t2的输出端与下拉开关t1的输入端连接。每一下拉单元102的输入端均与读位线rbl连接,每一下拉单元102的输出端接地,每一下拉单元102的控制端接入至少一个控制信号,每一下拉单元102用于在其接入的每一控制信号均为高电平时导通。该第一位线bl以及第二位线blb互补,分别与该存储单元101连接。
[0044]
例如,当下拉单元102的数量为一个时,该一个下拉单元接入一个控制信号,该控制信号的逻辑值为a。
[0045]
该存储单元存储的逻辑值为1也即是qb为1,则下拉开关t1导通;如果a为1,则该下拉单元导通,其将该读位线rbl的电压拉低为低电平,也即是该读位线rbl输出逻辑值0。
[0046]
如果存储单元的逻辑值为1,a为0,则该下拉单元断开,下拉开关导通,该读位线rbl输出逻辑值0。
[0047]
如果该存储单元的逻辑值为0,a为1,则该下拉单元导通,下拉开关均断开,该读位线rbl的电压被拉低为低电平,也即是该读位线rbl输出逻辑值0。
[0048]
如果存储单元的逻辑值为0,a为0,则该下拉单元关断,下拉开关关断,该读位线rbl输出逻辑值1。从而实现了或运算中的或非门运算。当然,如果在该读位线rbl的输出端接一个第一反相器,则实现了或运算中的或门运算。
[0049]
具体地,该存储单元101包括锁存器1011、第一位线开关n3以及第二位线开关n4。该锁存器1011互补的主存储节点qb和辅存储节点q。该第一位线开关n3的第二端与该主存储节点qb连接,该第一位线开关n3的第一端与该第一位线bl连接。该第一位线开关n3的控制端与该字线wl连接。该第二位线开关n4的第一端与该第二位线blb连接,该第二位线开关n4的第二端与该辅存储节点q连接。该第二位线开关n4的控制端与该字线wl连接。
[0050]
其中,该锁存器1011包括第一pmos管p1、第一nmos管n1、第二pmos管p2以及第二pmos管p2。该第一pmos管p1以及该第二pmos管p2的源极连接并接入公共电压vdd。该第一nmos管n1以及该第二nmos管n2的源极连接并与预设低电压线vss连接,当然,也可以直接接地。该第一pmos管p1的漏极与该第一nmos管n1的漏极连接于该主存储节点qb,该第二pmos管p2的漏极与该第二nmos管n2的漏极连接于该辅存储节点q。该第一nmos管的栅极以及该
第一pmos管p1的栅极连接并与该辅存储节点q连接,该第二pmos管p2的栅极与该第二nmos管n2的栅极连接并与该主存储节点qb连接。
[0051]
其中,该第一位线开关n3为nmos管,该第二位线开关n4为nmos管。当然,可以理解地,该第一位线开关n3以及第二位线开关n4还可以采用其他类似开关结构实现,只要保证该字线wl为高电平时,该第一位线开关n3以及第二位线开关n4打开即可。
[0052]
其中,该下拉开关t1的控制端与辅存储节点q或所述主存储节点qb连接,其输出端接地。在图2所示实施例中,该下拉开关t1的控制端与该辅存储节点q连接。对应地,该下拉开关t1为下拉nmos管。例如,当该存储单元101存储的逻辑值为1时,该主存储节点qb的电平为高电平,该辅存在点qb的电平为低电平,该下拉开关t1关断。若该存储单元101存储的逻辑值为0时,该主存储节点qb的电平为低电平,该辅存储节点q的电平为高电平,该下拉开关t1打开。
[0053]
当然,可以理解地,如图3所示,该下拉开关t1的控制端与主存储节点qb连接,该下拉开关t1包括第二反相器f2以及下拉nmos管nd。下拉nmos管nd的栅极与所述第二反相器f2的输出端连接,所述第二反相器f2的输入端与所述辅存储节点连接,所述下拉nmos管nd的漏极与所述读控制开关的输出端连接,所述下拉nmos管的源极接地。例如,当该存储单元101存储的逻辑值为1时,该主存储节点qb的电平为高电平,该下拉开关t1关断。若该存储单元101存储的逻辑值为0时,该主存储节点qb的电平为低电平,该辅存储节点q的电平为高电平,该下拉开关t1打开。
[0054]
该读控制开关t2可以为nmos管。该读控制开关t2用于在该读字线rwl的控制下打开或者关闭,当该读字线rwl为高电平时,该读控制开关t2导通,从而使得该读位线rbl可以读取该存储单元存储的逻辑值。
[0055]
其中,至少一个下拉单元102的数量可以为一个也可以为多个。这个需要根据实际需要求的或运算的表达式来。其中,每一下拉单元102的控制端接入至少一个控制信号,每一下拉单元102用于在其接入的每一控制信号均为高电平时导通。其中,每一下拉单元102可以包括一个第五nmos管n5或者多个第五nmos管n5。
[0056]
当该下拉单元102包括一个第五nmos管n5时,该一个第五nmos管n5的漏极与该读位线rbl连接,该第五nmos管n5的源极接地。该第五nmos管n5的栅极接入一个控制信号a。假设该存储单元存储的逻辑值为l1,在该读字线将该读控制开关t2打开的情况下,该读位线rbl输出的逻辑值out=a+l1。
[0057]
若该下拉单元102包括多个第五nmos管n5,则该多个第五nmos管n5依次级联,且每一第五nmos管n5的栅极分别接入一个控制信号,该多个第五nmos管中的第一级的第五nmos管的漏极与该读位线rbl连接,最后一级的第五nmos管的源极接地。例如,如果第五nmos管的个数为两个,该两个第五nmos管的栅极接入的控制信号的逻辑值分别为a和b,则该读位线rbl输出的逻辑值out=l1+a
·
b。
[0058]
当然,如果该至少一个下拉单元102的个数为两个,每一个下拉单元102均包括两个第五nmos管,其中,一个下拉单元的两个第五nmos管的栅极接入的控制信号的逻辑值分别为a和b,另一个下拉单元的两个第五nmos管的栅极接入的控制信号的逻辑值分别为c和d。该读位线输出的逻辑值out=l1+ab+cd。
[0059]
本申请提供的内存运算电路通过采用在其内部的读位线上设置至少一个下拉单
元,从而通过该至少一个下拉单元的控制端接入的控制信号,来将需要与该存储单元的逻辑值进行逻辑运算的其他逻辑值接入,从而使得该至少一个下拉单元将其他逻辑值与该存储单元的逻辑值进行运算,可以在将其存储单元存储的逻辑值读出之前,在存储阵器内即可与其他逻辑值或者逻辑关系表达式进行或运算,可以在一个逻辑延时的时长内计算出运算结果,可以提高计算效率。
[0060]
请参照图4所示,图4是本申请一些实施例中的一种内存运算电路的结构示意图。内存运算电路包括:多个呈n行m列排布的存储单元201形成的存储阵列、n条读字线rwl、m条读位线rbl、多个下拉开关t1、多个读控制开关t2以及至少一个下拉单元202。
[0061]
其中,该每一存储单元201具有互补的主存储节点和辅存储节点。该n条读字线rwl与n行一一对应;也即是,位于同一行的存储单元201对应同一条读字线rwl。该m条读位线rbl与该m列一一对应,也即是,位于同一列的存储单元201对应同一条读位线rbl。该多个下拉开关t1与该多个存储单元201一一对应,每一下拉开关t1的控制端与对应存储单元201的主存储节点或辅存储节点连接,每一下拉开关t1的输出端接地。该多个读控制开关t2与多个存储单元201一一对应,每一读控制开关t2的输出端与对应存储单元201连接的下拉开关t1的输入端连接,每一读控制开关t2的输入端与对应读位线rbl连接,每一读控制开关t2的栅极与对应的读字线rwl连接。每一下拉单元202的输入端与一读位线rbl连接,每一下拉单元202的输出端接地,每一下拉单元202的控制端接入至少一个控制信号,每一下拉单元202用于在其接入的每一控制信号均为高电平时导通。
[0062]
当然,可以理解地,该内存运算电路还包括多个字线、多对互补的第一位线和第二位线,第一位线、第二位线以及字线的连接方式属于现有技术,在此不重复描述。
[0063]
其中,该存储单元201与上述实施例中的存储单元的结构及功能相同,因此不重复描述。
[0064]
其中,在图4所示实施例中,每一下拉开关t1的控制端均与对应存储单元201的辅存储节点q连接,对应地,该下拉开关t1为nmos管。
[0065]
当然,可以理解地,在另一些实施例中,如图5所示,每一下拉开关t1的控制端均与对应存储单元201的主存储节点qb连接,对应地,该下拉开关t1为pmos管。
[0066]
请继续参照图4,读控制开关t2可以为nmos管,其用于在读字线rwl的控制下实现开关切换。当该读字线rwl为高电平时,该读控制开关t2导通,从而使得该读位线rbl可以读取对应存储单元201存储的逻辑值。
[0067]
其中,至少一个下拉单元202的数量可以为一个也可以为多个。其中,该多条读位线rbl中的每一条读位线rbl均设置有至少一个下拉单元202,或者该多条读位线rbl中的部分读位线rbl设置有至少一个下拉单元202。每一下拉单元202可以包括一个或者多个第五nmos管n5。当该下拉单元202包括一个第五nmos管n5时,该一个第五nmos管n5的漏极与该读位线rbl连接,该第五nmos管n5的源极接地。
[0068]
在本实施例中,第一列的存储单元202对应的读位线rbl与两个下拉单元202连接,每一个下拉单元202均包括两个级联的第五nmos管n5。该两个下拉单元202的四个第五nmos管n5的栅极接入分别接入控制信号a、控制信号b、控制信号c以及控制信号d。该存储阵列的每一存储单元201存储的逻辑值为l(x,y),其中,x为行号,y为列号。在本实施例中,如果第一行存储单元201对应的读字线rwl打开(为高电平),其他行的读字线rwl关闭,该第一列的
读位线rbl打开;则,该第一列的读位线rbl输出的逻辑值out1=l(1,1)+a*b+c*d。其中,该公式中的“+”标示或运算,“*”标示与运算。当然,如果第一行的读字线rbl以及第二行的读字线rbl均打开,则out1=l(1,1)+l(2,1)+a*b+c*d。
[0069]
在本实施例中,该第二列的存储单元202对应的读位线rbl与一个下拉单元连接,每一个下拉单元202均包括两个级联的第五nmos管n5,该两个第五nmos管n5的栅极分别接入控制信号e以及控制信号f。该存储阵列的每一存储单元201存储的逻辑值为l(x,y),其中,x为行号,y为列号。在本实施例中,如果第一行存储单元201对应的读字线打开(为高电平),其他行的读字线关闭,该第一列的读位线rbl打开;则,该第一列的读位线rbl输出的逻辑值out2=l(1,1)+e*f。其中,该公式中的“+”标示或运算,“*”标示与运算。当然,如果第一行的读字线rbl以及第二行的读字线rbl均打开,则out2=l(1,1)+l(2,1)+e*f。
[0070]
采用上述方式实现了或运算中的或非门运算。当然,如果在该读位线rbl的输出端接一个反相器,则实现了或运算中的或门运算。
[0071]
本申请实施例提供的内存运算电路通过采用在其内部的读位线上设置至少一个下拉单元,从而通过该至少一个下拉单元的控制端接入的控制信号,来将需要与该存储单元的逻辑值进行逻辑运算的其他逻辑值接入,从而使得该至少一个下拉单元将其他逻辑值与该存储单元的逻辑值进行运算,可以在将其存储单元存储的逻辑值读出之前,在存储阵器内即可与其他逻辑值或者逻辑关系表达式进行或运算,可以在一个逻辑延时的时长内计算出运算结果,可以提高计算效率,并且还可以减少器件数量,从而可以减小芯片的尺寸。
[0072]
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1