一种用于存内计算的行列布尔运算电路



1.本发明涉及存内计算电路领域,尤其涉及一种用于存内计算的行列布尔运算电路。


背景技术:



2.人类科技发展至今,已经进入人工智能时代,与之相关的机器学习、语音识别、图像识别、照片搜索、目标定位等等应用大量涌现。这些应用所需要进行的计算给目前的计算设备带来巨大的挑战,因为它们需要高效的计算处理,大量的数据存储,并在计算和存储之间高速的交换数据。目前,几乎所有最先进的计算平台都基于总线结构,即著名的冯
·
诺依曼体系结构,数据从处理单元外的存储器获取,处理完毕之后,再写回存储器,即便不考虑计算核心处理速度和访问存储器速度的差异,有限的总线带宽就直接限制了在处理器和存储之间交换数据的速度,这就是所谓的冯
·
诺依曼瓶颈。因此实现一种用于存内计算的行列布尔运算电路来突破冯
·
诺依曼瓶颈是非常有意义的。
3.如图1所示,为传统的6管sram(static random access memory,中文为静态随机存储器)单元结构,其pmos晶体管p1、nmos晶体管n1和pmos晶体管p2、nmos晶体管n2分别构成两个反相器从而锁存住数据,字线wl控制nmos晶体管n3、nmos晶体管n4,从而控制该sram单元结构的读写;这种传统的6管sram单元结构的数据都是通过位线bl和位线blb传出的,目前只能实现列布尔运算,还不能实现行布尔运算。
4.有鉴于此,特提出本发明。


技术实现要素:



5.本发明的目的是提供了一种用于存内计算的行列布尔运算电路,以解决现有技术中存在的上述技术问题。本发明不仅能实现列的布尔运算,而且能实现行的布尔运算,还能够实现矩阵转置操作,从而大大提高了存内计算的能力。
6.本发明的目的是通过以下技术方案实现的:
7.一种8管sram单元,该8管sram单元可以包括6个nmos晶体管和2个pmos晶体管,这6个nmos晶体管分别定义为n1、n2、n3、n4、n5、n6;这2个pmos晶体管分别定义为p1、p2;pmos晶体管p1和nmos晶体管n1构成第一个反向器,pmos晶体管p2和nmos晶体管n2构成第二个反向器,这两个反向器交叉耦合组成一个数据锁存器;pmos晶体管p1的漏极与nmos晶体管n1的漏极电连接于存储节点qb,pmos晶体管p2的漏极与nmos晶体管n2的漏极电连接于存储节点q;nmos晶体管n3的源极与左列位线blb电连接,nmos晶体管n3的栅极与字线wl电连接,nmos晶体管n3的漏极与存储节点qb电连接,nmos晶体管n4的源极与右列位线bl电连接,nmos晶体管n4的栅极与字线wl电连接,nmos晶体管n4的漏极与存储节点q电连接;nmos晶体管n6的栅极与存储节点q电连接,nmos晶体管n6的源极与接地端gnd电连接,nmos晶体管n6的漏极与nmos晶体管n5的漏极电连接;nmos晶体管n5的栅极与读字线rwl电连接,nmos晶体管n5的源极与读位线rbl电连接。
8.优选地,所述数据锁存器的结构包括:pmos晶体管p1的源极与电源vdd电连接,pmos晶体管p1的漏极与nmos晶体管n1的漏极电连接于存储节点qb,nmos晶体管n1的源极与接地端gnd电连接,pmos晶体管p1的栅极与nmos晶体管n1的栅极电连接,从而构成第一个反向器;pmos晶体管p2的源极与电源vdd电连接,pmos晶体管p2的漏极与nmos晶体管n2的漏极电连接于存储节点q,nmos晶体管n2的源极与接地端gnd电连接,pmos晶体管p2的栅极与nmos晶体管n2的栅极电连接,从而构成第二个反向器;pmos晶体管p1的栅极和nmos晶体管n1的栅极均与存储节点q电连接,pmos晶体管p2的栅极和nmos晶体管n2的栅极均与存储节点qb电连接,从而使所述第一个反向器与所述第二个反向器交叉耦合,组成一个数据锁存器。
9.一种用于存内计算的行列布尔运算电路,包括:sram阵列、行译码单元、读字线控制单元和灵敏放大器sa;sram阵列中的每个bitcell均采用上述的8管sram单元;同一行bitcell的字线wl均与同一根字线wl电连接,不同行bitcell的字线wl不与同一根字线wl电连接,每行bitcell的字线wl均与行译码单元电连接,从而行译码单元通过这些字线wl控制每个bitcell内nmos晶体管n3和nmos晶体管n4的开关;同一列bitcell的读字线rwl均与同一根读字线rwl电连接,不同列bitcell的读字线rwl不与同一根读字线rwl电连接,每列bitcell的读字线rwl均与读字线控制单元电连接,从而读字线控制单元通过这些读字线rwl控制每个bitcell内nmos晶体管n5的开关;同一列bitcell的左列位线blb均与同一根左列位线blb电连接,不同列bitcell的左列位线blb不与同一根左列位线blb电连接,每列bitcell的左列位线blb各与一个灵敏放大器sa电连接,且这些灵敏放大器sa分别外接参考电压vref;同一列bitcell的右列位线bl均与同一根右列位线bl电连接,不同列bitcell的右列位线bl不与同一根右列位线bl电连接,每列bitcell的右列位线bl各与一个灵敏放大器sa电连接,且这些灵敏放大器sa分别外接参考电压vref;通过与左列位线blb电连接的灵敏放大器sa和/或与右列位线bl电连接的灵敏放大器sa,从而实现该sram阵列的列布尔运算;同一行bitcell的读位线rbl均与同一根读位线rbl电连接,不同行bitcell的读位线rbl不与同一根读位线rbl电连接,每行bitcell的读位线rbl各与一个灵敏放大器sa电连接,且这些灵敏放大器sa分别外接参考电压vref,从而实现该sram阵列的行布尔运算。
10.优选地,所述的sram阵列为256行
×
64列存内计算模块。
11.优选地,所述行译码单元通过sram的地址位来控制对应字线的使能,从而控制每行对应的bitcell的读写使能。
12.优选地,所述读字线控制单元通过sram的外部地址来控制读字线rwl的使能,从而控制每列对应的bitcell的读使能。
13.与现有技术相比,本发明采用了由8管sram单元组成的sram阵列,该8管sram单元是在传统的6管sram单元的基础上,增加了两个nmos晶体管(即nmos晶体管n5和nmos晶体管n6),并且在这两个nmos晶体管上增设了一条读字线rwl和一条读位线rbl,这为8管sram单元增加了一个可以读出数据的控制端口,sram阵列中的每个8管sram单元都与字线wl、读字线rwl、左列位线blb、右列位线bl、读位线rbl电连接,采用行译码单元控制字线wl的使能,采用读字线控制单元控制读字线rwl的使能,采用灵敏放大器sa对左列位线blb、右列位线bl、读位线rbl读出的数据进行电压比较,从而能够实现行方向布尔运算、列方向的布尔运算和矩阵转置计算,这比传统6管sram单元增加了行方向布尔运算和矩阵转置计算的功能,
大大提高了存内计算的能力。
附图说明
14.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
15.图1为现有技术中传统的6管sram单元结构示意图;
16.图2为本发明实施例所提供的8管sram单元结构示意图;
17.图3为本发明实施例所提供的用于存内计算的行列布尔运算电路的结构示意图。
具体实施方式
18.下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述;显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,这并不构成对本发明的限制。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
19.首先对本文中可能使用的术语进行如下说明:
20.术语“和/或”是表示两者任一或两者同时均可实现,例如,x和/或y表示既包括“x”或“y”的情况也包括“x和y”的三种情况。
21.术语“包括”、“包含”、“含有”、“具有”或其它类似语义的描述,应被解释为非排它性的包括。例如:包括某技术特征要素(如原料、组分、成分、载体、剂型、材料、尺寸、零件、部件、机构、装置、步骤、工序、方法、反应条件、加工条件、参数、算法、信号、数据、产品或制品等),应被解释为不仅包括明确列出的某技术特征要素,还可以包括未明确列出的本领域公知的其它技术特征要素。
22.下面对本发明所提供的用于存内计算的行列布尔运算电路进行详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本发明实施例中未注明具体条件者,按照本领域常规条件或制造商建议的条件进行。本发明实施例中所用试剂或仪器未注明生产厂商者,均为可以通过市售购买获得的常规产品。
23.实施例1
24.如图2和图3所示,本发明提供了一种用于存内计算的行列布尔运算电路,其具体结构包括:sram阵列、行译码单元、读字线控制单元、字线wl、左列位线blb、右列位线bl、读字线rwl、读位线rbl和灵敏放大器sa。
25.sram阵列为256行
×
64列存内计算模块,包括256
×
64个bitcell;sram阵列中的每个bitcell均采用8管sram单元,即该sram阵列包括256
×
64个8管sram单元。如图2所示,该8管sram单元包括6个nmos晶体管和2个pmos晶体管,这6个nmos晶体管分别定义为n1、n2、n3、n4、n5、n6;这2个pmos晶体管分别定义为p1、p2。pmos晶体管p1和nmos晶体管n1构成第一个反向器,pmos晶体管p2和nmos晶体管n2构成第二个反向器,这两个反向器交叉耦合组成一个数据锁存器,即第一个反向器的输出连接第二个反向器的输入,第二个反向器的输出连接第一个反向器的输入,这就能实现两个反相器的输出状态的锁定、保存,即存储了一位的
状态。pmos晶体管p1的漏极与nmos晶体管n1的漏极电连接于存储节点qb,pmos晶体管p2的漏极与nmos晶体管n2的漏极电连接于存储节点q。nmos晶体管n3和nmos晶体管n4作为传输晶体管;nmos晶体管n3的源极与左列位线blb电连接,nmos晶体管n3的栅极与字线wl电连接,nmos晶体管n3的漏极与存储节点qb电连接,nmos晶体管n4的源极与右列位线bl电连接,nmos晶体管n4的栅极与字线wl电连接,nmos晶体管n4的漏极与存储节点q电连接,实现字线wl对数据读写的控制。nmos晶体管n6的栅极与存储节点q电连接,nmos晶体管n6的源极与接地端gnd电连接,nmos晶体管n6的漏极与nmos晶体管n5的漏极电连接;nmos晶体管n5的栅极与读字线rwl电连接,nmos晶体管n5的源极与读位线rbl电连接,实现数据的行方向的读出。
26.同一行bitcell的字线wl均与同一根字线wl电连接,不同行bitcell的字线wl不与同一根字线wl电连接,每行bitcell的字线wl均与行译码单元电连接,从而行译码单元通过这些字线wl控制每个bitcell内nmos晶体管n3和nmos晶体管n4的开关;行译码单元通过sram的地址位来控制对应字线的使能,从而控制每行对应的bitcell的读写使能。
27.同一列bitcell的读字线rwl均与同一根读字线rwl电连接,不同列bitcell的读字线rwl不与同一根读字线rwl电连接,每列bitcell的读字线rwl均与读字线控制单元电连接,从而读字线控制单元通过这些读字线rwl控制每个bitcell内nmos晶体管n5的开关;读字线控制单元通过sram的外部地址来控制读字线rwl的使能,从而控制每列对应的bitcell的读使能。
28.同一列bitcell的左列位线blb均与同一根左列位线blb电连接,不同列bitcell的左列位线blb不与同一根左列位线blb电连接,每列bitcell的左列位线blb各与一个灵敏放大器sa电连接,且这些灵敏放大器sa分别外接参考电压vref;同一列bitcell的右列位线bl均与同一根右列位线bl电连接,不同列bitcell的右列位线bl不与同一根右列位线bl电连接,每列bitcell的右列位线bl各与一个灵敏放大器sa电连接,且这些灵敏放大器sa分别外接参考电压vref;左列位线blb所连接的灵敏放大器sa与右列位线bl所连接的灵敏放大器sa不是同一个灵敏放大器sa;通过将左列位线blb的电压与灵敏放大器sa外接参考电压vref进行比较可以实现与逻辑,通过将右列位线bl的电压与灵敏放大器sa外接参考电压vref进行比较可以实现或非逻辑,从而实现sram阵列的列布尔运算。
29.同一行bitcell的读位线rbl均与同一根读位线rbl电连接,不同行bitcell的读位线rbl不与同一根读位线rbl电连接,每行bitcell的读位线rbl各与一个灵敏放大器sa电连接,且这些灵敏放大器sa分别外接参考电压vref,通过将读位线rbl的电压与灵敏放大器sa外接参考电压vref进行比较,可以实现与逻辑和与非逻辑,从而实现sram阵列的行布尔运算。
30.具体地,该用于存内计算的行列布尔运算电路可以包括以下实施方案:
31.(1)如图2所示,该8管sram单元中,nmos晶体管n3和nmos晶体管n4是由字线wl控制,数据的读出写入都通过右列位线bl和左列位线blb传入传出,nmos晶体管n5和nmos晶体管n6是由读字线rwl控制,数据从读位线rbl传出,从而实现数据能够分别在行方向和列方向上传输出去。所述数据锁存器的具体结构可以包括:pmos晶体管p1的源极与电源vdd电连接,pmos晶体管p1的漏极与nmos晶体管n1的漏极电连接于存储节点qb,nmos晶体管n1的源极与接地端gnd电连接,pmos晶体管p1的栅极与nmos晶体管n1的栅极电连接,从而构成第一个反向器;pmos晶体管p2的源极与电源vdd电连接,pmos晶体管p2的漏极与nmos晶体管n2的
漏极电连接于存储节点q,nmos晶体管n2的源极与接地端gnd电连接,pmos晶体管p2的栅极与nmos晶体管n2的栅极电连接,从而构成第二个反向器;pmos晶体管p1的栅极和nmos晶体管n1的栅极均与存储节点q电连接,pmos晶体管p2的栅极和nmos晶体管n2的栅极均与存储节点qb电连接,从而使所述第一个反向器与所述第二个反向器交叉耦合组成一个数据锁存器,从而实现数据的锁存。
32.(2)列布尔运算功能的实现:如图3所示,本发明实施例1所提供的用于存内计算的行列布尔运算电路包括256行
×
64列存内计算模块,每一列上有256个bitcell,即每一列上有256个8管sram单元;同一列上的256个bitcell分别与256根字线wl(例如:图3中的wl0~wl
255
这256根字线wl)相连,这256根字线wl是由行译码单元控制的,行译码单元主要是通过sram的地址位来控制对应字线的使能,从而控制对应行的64个bitcell的读写使能;同一列上的256个bitcell的左列位线blb均与同一根左列位线blb电连接(例如:图3中第1列上的256个bitcell的左列位线blb均与同一根左列位线blb0电连接),同一列上的256个bitcell的右列位线bl均与同一根右列位线bl电连接(例如:图3中第1列上的256个bitcell的右列位线bl均与同一根右列位线bl0电连接);每列bitcell的左列位线blb各与一个灵敏放大器sa电连接,且这些灵敏放大器sa分别外接参考电压vref(例如:图3中第1列bitcell的左列位线blb0与一个单独的灵敏放大器sa电连接,并且该灵敏放大器sa外接参考电压vref1);每列bitcell的右列位线bl各与一个灵敏放大器sa电连接,且这些灵敏放大器sa分别外接参考电压vref(例如:图3中第1列bitcell的右列位线bl0与一个单独的灵敏放大器sa电连接,并且该灵敏放大器sa外接参考电压vref2);主要通过比较左列位线blb和右列位线bl的电压与灵敏放大器sa外接的参考电压vref可以得出列布尔运算的结果(例如:图3中通过比较左列位线blb0的电压与灵敏放大器sa外接的参考电压vref1可以得出第1列中bitcell a和bitcell b的与运算结果(即a and b的结果),图3中通过比较右列位线bl0的电压与灵敏放大器sa外接的参考电压vref2可以得出第1列中bitcell a和bitcell b的或非运算结果(即a nor b的结果),图3中通过将bitcell a和bitcell b的与运算结果同bitcell a和bitcell b的或非运算结果进行或运算可以得出第1列中bitcell a和bitcell b的同或运算结果(即a xnor b的结果))。
33.(2)行布尔运算功能的实现:如图3所示,本发明实施例1所提供的用于存内计算的行列布尔运算电路包括256行
×
64列存内计算模块,每一行上有64个bitcell,即每一行上有64个8管sram单元;同一行上的64个bitcell分别与64根读字线rwl(例如:图3中的rwl0~rwl
63
这64根读字线rwl)相连,这64根读字线rwl是由读字线控制单元控制的,读字线控制单元主要是通过sram的外部地址来控制读字线rwl的使能,从而控制每列对应的256个bitcell的读使能;同一行上的64个bitcell的读位线rbl均与同一根读位线rbl电连接(例如:图3中第256行上的64个bitcell的读位线rbl均与同一根读位线rbl
255
电连接),每行bitcell的读位线rbl各与一个单独的灵敏放大器sa电连接,且这些灵敏放大器sa分别外接参考电压vref(例如:图3中第256行bitcell的读位线rbl
255
与一个灵敏放大器sa电连接,并且该灵敏放大器sa外接参考电压vref3);主要通过比较读位线rbl的电压与灵敏放大器sa外接的参考电压vref可以得出行布尔运算的结果(例如:图3中通过比较读位线rbl
255
的电压与灵敏放大器sa外接的参考电压vref3可以得出第256行中bitcell c和bitcell d的与运算结果(即c and d的结果))。
34.进一步地,本发明实施例1所提供的用于存内计算的行列布尔运算电路的原理如下:
35.(1)与传统的6管sram单元相比,本发明实施例1所提供的8管sram单元增加了两个nmos晶体管(即nmos晶体管n5和nmos晶体管n6),并且在这两个nmos晶体管上增设了一条读字线rwl和一条读位线rbl,通过这条读字线rwl和这条读位线rbl可以实现数据的读出,从而使该8管sram单元拥有两个读出数据的端口,为实现用于存内计算的行列布尔运算电路提供了基础。
36.(2)本发明实施例1所提供的用于存内计算的行列布尔运算电路主要实现了列布尔运算和行布尔运算这两部分的功能:
37.①
列布尔运算:先预充右列位线bl0和左列位线blb0至高电平,若行译码单元控制字线wl0和字线wl1为高电平,此时bitcell a和bitcell b的字线wl都为高电平,即作为bitcell a的8管sram单元和作为bitcell b的8管sram单元中的nmos晶体管n3和nmos晶体管n4打开,bitcell a和bitcell b中的数据会通过放电的方式读入右列位线bl0和左列位线blb0中;当bitcell a和bitcell b中的数据为不同的值时,它们对右列位线bl0和左列位线blb0的放电程度也会不同,可以分为四种情况:bitcell a数据为低电平,bitcell b数据为低电平;bitcell a数据为低电平,bitcell b数据为高电平;bitcell a数据为高电平,bitcell b数据为低电平;bitcell a数据为高电平,bitcell b数据为高电平。这时通过将右列位线bl0和左列位线blb0的电压与灵敏放大器sa设置的参考电压vref进行比较,就可以实现与逻辑和或非逻辑的布尔运算,进而通过将与逻辑和或非逻辑的布尔运算结果进行或运算,可以得出同或运算的结果。
38.②
行布尔运算:先预充读位线rbl
255
至高电平,若读字线控制单元控制读字线rwl0和rwl1为高电平,此时bitcell c和bitcell d中的读字线rwl都为高电平,即作为bitcell c的8管sram单元和作为bitcell d的8管sram单元中的nmos晶体管n5打开;当bitcell中的数据为高电平时,nmos晶体管n6打开,读位线rbl放电为0,当bitcell中的数据为低电平时,nmos晶体管n6关闭,读位线rbl保持高电平,即bitcell c和bitcell d中的数据会读入读位线rbl
255
中;只有当bitcell c和bitcell d中的数据都为高电平时,读位线rbl
255
才为高电平。这时通过将读位线rbl
255
的电压与灵敏放大器sa设置的参考电压vref3进行比较,就可以实现与逻辑和与非逻辑的布尔运算。
39.(3)本发明实施例1所提供的用于存内计算的行列布尔运算电路还可以实现矩阵转置计算。若有一个256
×
64矩阵,先控制读字线rwl0为高电平,则这一列上的256个bitcell中的读字线都为高电平,即这一列上的256个8管sram单元中的nmos晶体管n5都打开,则数据都读入读位线rbl中,即256个bitcell中的数据都读入读位线rbl0至读位线rbl
255
中,从而实现整个矩阵的列读取,然后依次使能rwl1至rwl
63
,将矩阵所有列都读出,再将读出的列按行写入其他存储单元结构中,从而实现了矩阵转置计算。
40.与现有技术相比,本发明实施例1使用8管sram单元结构的存内计算架构不仅可以实现列的布尔运算,还可以实现行的布尔运算,并且此结构还支持矩阵的转置计算,从而大大提高了存内计算的能力。
41.综上可见,本发明实施例不仅能实现列的布尔运算,而且能实现行的布尔运算,还能够实现矩阵转置操作,从而大大提高了存内计算的能力。
42.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。本文背景技术部分公开的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。

技术特征:


1.一种8管sram单元,其特征在于,该8管sram单元包括6个nmos晶体管和2个pmos晶体管,这6个nmos晶体管分别定义为n1、n2、n3、n4、n5、n6;这2个pmos晶体管分别定义为p1、p2;pmos晶体管p1和nmos晶体管n1构成第一个反向器,pmos晶体管p2和nmos晶体管n2构成第二个反向器,这两个反向器交叉耦合组成一个数据锁存器;pmos晶体管p1的漏极与nmos晶体管n1的漏极电连接于存储节点qb,pmos晶体管p2的漏极与nmos晶体管n2的漏极电连接于存储节点q;nmos晶体管n3的源极与左列位线blb电连接,nmos晶体管n3的栅极与字线wl电连接,nmos晶体管n3的漏极与存储节点qb电连接,nmos晶体管n4的源极与右列位线bl电连接,nmos晶体管n4的栅极与字线wl电连接,nmos晶体管n4的漏极与存储节点q电连接;nmos晶体管n6的栅极与存储节点q电连接,nmos晶体管n6的源极与接地端gnd电连接,nmos晶体管n6的漏极与nmos晶体管n5的漏极电连接;nmos晶体管n5的栅极与读字线rwl电连接,nmos晶体管n5的源极与读位线rbl电连接。2.根据权利要求1所述的8管sram单元,其特征在于,所述数据锁存器的结构包括:pmos晶体管p1的源极与电源vdd电连接,pmos晶体管p1的漏极与nmos晶体管n1的漏极电连接于存储节点qb,nmos晶体管n1的源极与接地端gnd电连接,pmos晶体管p1的栅极与nmos晶体管n1的栅极电连接,从而构成第一个反向器;pmos晶体管p2的源极与电源vdd电连接,pmos晶体管p2的漏极与nmos晶体管n2的漏极电连接于存储节点q,nmos晶体管n2的源极与接地端gnd电连接,pmos晶体管p2的栅极与nmos晶体管n2的栅极电连接,从而构成第二个反向器;pmos晶体管p1的栅极和nmos晶体管n1的栅极均与存储节点q电连接,pmos晶体管p2的栅极和nmos晶体管n2的栅极均与存储节点qb电连接,从而使所述第一个反向器与所述第二个反向器交叉耦合,组成一个数据锁存器。3.一种用于存内计算的行列布尔运算电路,其特征在于,包括:sram阵列、行译码单元、读字线控制单元和灵敏放大器sa;sram阵列中的每个bitcell均采用上述权利要求1至2中任一项所述的8管sram单元;同一行bitcell的字线wl均与同一根字线wl电连接,不同行bitcell的字线wl不与同一根字线wl电连接,每行bitcell的字线wl均与行译码单元电连接,从而行译码单元通过这些字线wl控制每个bitcell内nmos晶体管n3和nmos晶体管n4的开关;同一列bitcell的读字线rwl均与同一根读字线rwl电连接,不同列bitcell的读字线rwl不与同一根读字线rwl电连接,每列bitcell的读字线rwl均与读字线控制单元电连接,从而读字线控制单元通过这些读字线rwl控制每个bitcell内nmos晶体管n5的开关;同一列bitcell的左列位线blb均与同一根左列位线blb电连接,不同列bitcell的左列位线blb不与同一根左列位线blb电连接,每列bitcell的左列位线blb各与一个灵敏放大器sa电连接,且这些灵敏放大器sa分别外接参考电压vref;同一列bitcell的右列位线bl均与同一根右列位线bl电连接,不同列bitcell的右列位线bl不与同一根右列位线bl电连接,每列bitcell的右列位线bl各与一个灵敏放大器sa电连接,且这些灵敏放大器sa分别外接参考电压vref;通过与左列位线blb电连接的灵敏放大器sa和/或与右列位线bl电连接的灵敏放大器sa,从而实现该sram阵列的列布尔运算;同一行bitcell的读位线rbl均与同一根读位线rbl电连接,不同行bitcell的读位线rbl不与同一根读位线rbl电连接,每行bitcell的读位线rbl各与一个灵敏放大器sa电连
接,且这些灵敏放大器sa分别外接参考电压vref,从而实现该sram阵列的行布尔运算。4.根据权利要求3所述的用于存内计算的行列布尔运算电路,其特征在于,所述的sram阵列为256行
×
64列存内计算模块。5.根据权利要求3或4所述的用于存内计算的行列布尔运算电路,其特征在于,所述行译码单元通过sram的地址位来控制对应字线的使能,从而控制每行对应的bitcell的读写使能。6.根据权利要求3或4所述的用于存内计算的行列布尔运算电路,其特征在于,所述读字线控制单元通过sram的外部地址来控制读字线rwl的使能,从而控制每列对应的bitcell的读使能。

技术总结


本发明公开了一种用于存内计算的行列布尔运算电路,包括SRAM阵列、行译码单元、读字线控制单元和灵敏放大器SA;SRAM阵列中的每个Bitcell均采用8管SRAM单元;该8管SRAM单元在传统6管SRAM单元基础上增加了可以读出数据的控制端口,即NMOS晶体管N5和NMOS晶体管N6,并且增加了读字线RWL和读位线RBL,从而使本发明不仅能实现列的布尔运算,而且能实现行的布尔运算,还能实现矩阵的转置计算,这大大提高了存内计算的能力。存内计算的能力。存内计算的能力。


技术研发人员:

卢文娟 杜皓宇 郝礼才 彭春雨 赵强 吴秀龙 蔺智挺 高珊 陈军宁

受保护的技术使用者:

安徽大学

技术研发日:

2022.01.25

技术公布日:

2022/5/6

本文发布于:2024-09-25 14:34:23,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/22268.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:晶体管   栅极   放大器   布尔
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议