技术新讯 > 信息存储应用技术 > 一种基于半导体存储器件2T0C的非运放钳位存内计算电路  >  正文

一种基于半导体存储器件2T0C的非运放钳位存内计算电路

  • 国知局
  • 2024-07-31 19:12:37

本发明属于半导体(semiconductor)和cmos超大规模集成电路(ulsi)中的存储器与存内计算(process-in-memory),具体涉及一种使用氧化物半导体2t0c存储单元进行向量矩阵乘法计算(vector matrix multiplication)的电路设计。

背景技术:

1、随着人工智能与深度学习技术的发展,人工神经网络在自然语言处理、图像识别、自动驾驶、图神经网络等领域得到了广泛的应用。然而逐渐增大的网络规模导致数据在内存与传统计算设备如cpu与gpu间的搬运消耗了大量的能量,这被称为冯诺依曼瓶颈。在人工神经网络算法中占据最主要部分的计算为向量矩阵乘法计算(vector matrixmultiplication)。基于存储器阵列的存内计算(process-in-memory),把权重存储在存储器单元中,并在阵列中进行模拟向量矩阵乘法计算,避免了数据在内存与计算单元间的频繁搬运,被认为是一种有希望解决冯诺依曼瓶颈的途径。

2、图1为基于存储器阵列进行向量矩阵乘法的示意图。存储器器件如sram、dram、flash等在权值写入后,把权值存储在单元上。器件组织成阵列的形式,从一端输入电压作为向量矩阵乘法的输入,阵列中通过欧姆定律与基尔霍夫定律计算,在阵列的另一端得到的电流为向量矩阵乘法的求和结果。通常情况下输入通过数模转换器(dac)输入多值电压,或通过缓冲器(buffer)输入二值电压,求和结果通常使用模数转换器(adc)读出。

3、可用于存内计算的一种存储器件是氧化物半导体2t0c单元,其结构如图2,每个存储单元(cell)由两个晶体管m1与m2组成。m1为写晶体管,在写入过程,通过写字线(wwl)开启m1,通过写位线(wbl)写入要存的电压值并存储在m2的栅电容。m2为读晶体管,在读取过程,在读字线(rwl)上施加电压,根据m2栅电容上存储的电压是开态(“1”)或关态(“0”),在读位线(rbl)上会形成开态或关态的读电流。其功能类似dram,但相比传统基于cmos晶体管的dram有更小的漏电流与更长的保持时间,因此可以以更低频率进行刷新操作。同时氧化物半导体2t0c单元导通电流可以通过工艺降低,因此可以得到更高的计算能效,且有助于在开启更多行并行计算时降低阵列中导线压降的影响,以得到更高的计算并行度。现有技术中需研发计算能效比与并行度高的基于存储器件2t0c单元的存内计算电路。

技术实现思路

1、本发明基于现有技术,提出了一种基于半导体存储器件2t0c的非运放钳位存内计算电路,实现了输入向量与权值矩阵的乘法运算。与传统的运算放大器钳位读位线电压设计不同,电路利用读位线上电容的电压差的计算,全程无直流通路,且无运放功耗,可以得到更高计算能效。

2、本发明的技术方案如下:

3、一种基于半导体存储器件2t0c的非运放钳位存内计算电路,该电路具有写入模式、读取模式、刷新模式与计算模式,其包括一个n行m列的2t0c阵列、输入驱动电路、写字线驱动电路、读写电路与输出电路;所述2t0c阵列包括n*m个存储单元,每个存储单元由两个晶体管m1与m2组成,2t0c阵列还包括n条写字线、n条读字线、m条写位线和m条读位线;所述写字线和写字线驱动电路相连;所述读字线和输入驱动电路相连;所述写位线与读写电路相连,所述读位线一端连读写电路、另一端连输出电路;所述输入驱动电路对2t0c阵列每条读字线进行电压输入,输入电压是脉冲形式vg或gnd电压;所述输出电路由采样保持电路与模数转换器组成,采样保持电路的输入端与2t0c阵列的读位线相连、输出端与模数转换器相连,采样保持电路用于在计算模式下采样计算结束时读位线上的电压值,模数转换器将采样保持电路的输出电压转换为表示计算结果的数字值;所述写入模式、读取模式、刷新模式下分别进行二值存储值“1”或“0”的写入、读取和刷新,对于权值矩阵[[w11,w21,…,wn1],[w12,w22,…,wn2],…,[w1m,w2m,…,wnm]],其中wij(1≤i≤n,1≤j≤m)代表矩阵第i行第j列的权值,wij由位于所述2t0c阵列第i行、第j列的单元存储;所述计算模式,计算准备过程将2t0c阵列读位线电容crbl预充到电源电压vdd,同时输入驱动电路将读字线上电压拉高至vg,计算开始后,2t0c阵列每一行输入“1”或“0”,组成输入向量(v1,v2,……,vn),把需要输入“1”的读字线电压换成输入gnd,把需要输入“0”的读字线电压保持输入电压vg不变,使得2t0c阵列只有在输入与权值均为“1”的存储单元上才有电流流过,该电流对读位线电容crbl放电产生压降,该压降正比于同一列上权值与输入均为“1”的单元的个数之和,输出电路中采样保持电路采样计算结束时读位线电容上的电压值,再将该电压值与vdd作差,该电压差值通过输出电路中的模数转换器adc转换为数字值,2t0c阵列一列上该数字值输出是输入向量与该列权值向量(w1j,w2j,…,wnj)的点乘结果,2t0c阵列m列输出m个此类数字值作为输出向量,输出向量是输入向量与2t0c阵列所存储的权值矩阵相乘的结果。

4、进一步,组成2t0c阵列存储单元的晶体管m1与m2,m1是写晶体管,m2是读晶体管,m1栅端连写字线、源端连写位线、漏端连m2的栅端,m2源端连读字线、漏端连读位线,晶体管m1、晶体管m2是氧化物半导体薄膜晶体管。

5、进一步,所述输入驱动电路对2t0c阵列读字线以脉冲形式输入的vg电压是预先设定的电压值,与2t0c存储单元存“1”时m2的栅电压相同。

6、进一步,所述写字线驱动电路控制打开2t0c阵列的一行写字线,即选中该行,打开了该条写字线上2t0c存储单元所有m1晶体管;关闭写字线驱动电路,即2t0c存储单元所有m1晶体管被断开。

7、进一步,所述读写电路由缓冲器和灵敏放大器sa组成;缓冲器与2t0c阵列写位线相连,用于在写入模式下将外部输入数据转换为待存电压vg或gnd;灵敏放大器与2t0c阵列读位线相连,用于在读取模式下对读位线电压的钳位、预充、读取与比较,并用于在刷新模式下输出控制相连的缓冲器,2t0c阵列m条写位线对应与读写电路m个缓冲器相连,m条读位线对应与读写电路m个灵敏放大器相连,读写电路用于阵列的权值写入、读取与刷新。

8、本发明的技术效果如下:

9、本发明一种基于氧化物半导体2t0c的非运放钳位存内计算电路,利用2t0c存储阵列与其外围电路的结合,实现了存内计算电路的写入、读取、刷新与计算,利用先对2t0c阵列读位线上的电容预充电压,后在计算过程中通过输入驱动电路和输出电路配合,使得阵列中只有在输入与权值均为“1”的单元上才有电流流过,该电流对读位线电容放电,在计算结束时读位线电容产生的压降正比于同一列上权值与输入均为“1”的单元的个数之和,实现输出向量等于输入向量与权值矩阵相乘的计算,相比使用运算放大器钳位读位线电压的设计,本设计全程无直流通路,且无运放功耗,可以得到更高计算能效。

本文地址:https://www.jishuxx.com/zhuanli/20240731/181867.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。