一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种8TSRAM单元及存内计算装置的制作方法

2020-12-29 13:19:00 来源:中国专利 TAG:存储器 单元 装置 计算 设计
一种8T SRAM单元及存内计算装置的制作方法

本发明涉及存储器设计领域,特别是涉及一种8tsram单元及存内计算装置。



背景技术:

深度卷积神经网络(dcnns)在人工智能等领域发展迅速,随着它的逐步发展,需要越来越多的考虑计算装置尺寸的大小、效率、能耗等方面的问题。传统的计算过程中,权重是在存储器和运算单元之间移动作用的,这不符合低功耗的要求。内存计算(imc)对dcnns加速越来越有吸引力。传统的8tsram结构晶体管数量较多,面积较大,还存在计算时计算精度不够高的问题,这不符合现在的需求。

因此,如何设计一种计算精度高、功耗低的8tsram单元及多位8tsram结构的存内计算装置,成为本领域当前要解决的问题。



技术实现要素:

本发明的目的是针对于传统的8tsram结构的存内计算装置存在的弊端,提供一种8tsram单元及存内计算装置,该装置将多个8tsram单元与外围存算结构相结合,并按列计算结果,提高了存内计算装置的计算效率。同时,以此为基础的8tsram单元,利用模拟信号计算完成二进制神经网络乘累加计算,提高了计算精度,减少了中间数据的产生,降低了功耗。

为实现上述目的,本发明提供了如下方案:

一种8tsram单元,包括存储模块、传输模块和计算模块;

所述存储模块的一端与vdd连接,另一端与所述传输模块连接,用于存储权重w;

所述传输模块包括两个晶体管,分别为第一晶体管和第二晶体管,用于实现权重w的写入操作;

所述第一晶体管的栅极和所述第二晶体管的栅极连接至字线wl,所述第一晶体管的源极连接至位线bl;

所述第二晶体管的源极连接至位线blb;

所述计算模块的第一输入端与第一输入位线fwlm连接,所述计算模块的第二输入端与第二输入位线fwll连接,所述计算模块的权重输入端与所述第一晶体管的漏极连接,用于进行乘累加操作。

可选的,所述存储模块包括两个pmos晶体管,分别为第一pmos晶体管和第二pmos晶体管;

所述第一pmos晶体管的源极和所述第二pmos晶体管的源极与vdd连接;

所述第一pmos晶体管的栅极和所述第二pmos晶体管的漏极与第二nmos晶体管的漏极连接;

所述第一pmos晶体管的漏极和所述第二pmos晶体管的栅极与所述第一nmos晶体管的漏极连接。

可选的,所述传输模块进行权重w写入操作时,所述字线wl预充电到高电平,然后对所述位线bl和所述位线blb进行充电或者放电操作,使得所述位线bl和所述位线blb一个为高电平一个为低电平。

可选的,所述计算模块包括四个晶体管,分别为第三晶体管、第四晶体管、第五晶体管、第六晶体管;

所述第三晶体管的栅极与所述第一输入位线fwlm连接,所述第三晶体管的源极与所述第四晶体管的漏极连接,所述第三晶体管的漏极和所述第六晶体管的漏极连接至读位线rbl;

所述第四晶体管的栅极和所述第五晶体管的栅极与所述第一晶体管的漏极连接,所述第四晶体管的源极与所述第五晶体管的源极接地;

所述第五晶体管的漏极与所述第六晶体管的源极连接;

所述第六晶体管的栅极与所述第二输入位线fwll连接。

可选的,所述第一晶体管、所述第二晶体管、所述第三晶体管、所述第四晶体管、所述第五晶体管和所述第六晶体管分别为nmos晶体管。

可选的,所述计算模块进行乘累加操作时,in[1]通过所述第一输入位线fwlm输入到所述第三晶体管的栅极,in[0]通过所述第二输入位线fwll输入到所述第六晶体管的栅极,同时所述权重w被输入到所述第四晶体管和所述第五晶体管;

所述第三晶体管和所述第四晶体管执行in[1]*w的二进制乘法运算,所述第五晶体管和所述第六晶体管执行in[0]*w的二进制乘法运算。

可选的,所述第三晶体管和所述第四晶体管的宽度是所述第五晶体管和所述第六晶体管的2倍,所述第三晶体管和所述第四晶体管共同输出的rbl放电电流是所述第五晶体管和所述第六晶体管共同输出的rbl放电电流的2倍。

一种多位8tsram结构的存内计算装置,包括一个8tsram单元阵列、一个输入驱动器、一个列译码和位线驱动模块、一个行解码器和n个数模转换模块,n为大于或等于1的正整数;其中,所述8tsram单元阵列包括m*n个8tsram单元,其中,每一行各8tsram单元通过字线wl、第一输入位线fwlm和第二输入位线fwll连接;每一列各8tsram单元通过位线bl、位线blb和读位线rbl连接,m为大于或等于1的正整数;

所述输入驱动器分别与各行所述8tsram单元的第一输入位线fwlm和第二输入位线fwll连接,用于输入数据到所述8tsram单元阵列中,使所述输入数据与所述8tsram单元阵列中的权重w进行计算;

所述列译码和位线驱动模块分别与各列所述8tsram单元的位线bl和位线blb连接,用于控制所述8tsram单元阵列中权重w的读操作;

所述行解码器分别与各行所述8tsram单元的字线wl连接,用于控制所述8tsram单元阵列中权重w的写操作;

n个所述数模转换模块的一端与电源连接,另一端与对应的各列所述8tsram单元的rbl线连接,用于进行模数转换,最终输出转换后的结果。

可选的,所述8tsram单元阵列还包括一个rst、一个vrst和第七晶体管,所述第七晶体管的栅极与所述rst连接;所述第七晶体管的源极与所述rbl线连接,所述第七晶体管的漏极与所述vrst连接,所述rst作为所述rbl线的预充电器件。

可选的,n个所述数模转换模块的一端与电源连接,另一端与对应的各列所述8tsram单元的rbl线连接,用于进行模数转换,最终输出转换后的结果,具体包括:

所述8tsram单元阵列将产生的输出结果分别通过所述rbl线输入到n个所述数模转换模块,n个所述数模转换模块利用参考电压vref对所述输出结果进行模数转换,最终输出转换后的结果。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

1、本发明中的8tsram单元阵列使用的计算模式采用的2比特输入的乘算模式,相比传统的8t结构的存算sram采用的1比特输入的计算模式,能够提高计算的精度,有利于提高数据计算的准确性。

2、本发明中的8tsram单元阵列的2比特计算方案,和传统的8t结构的存算sram相比实现了2个传统8t结构的存算sram才能完成的功能,降低了阵列的面积,减小了整体sram的面积消耗以及能耗,提高了效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的1个8tsram单元的结构示意图;

图2为本发明实施例提供的2行1列8tsram单元阵列的结构示意图;

图3为本发明实施例提供的一种多位8tsram结构的存内计算装置的结构示意图。

符号说明:1、8tsram单元阵列;2、输入驱动器;3、列译码和位线驱动模块;4、行解码器;5、数模转换模块;101、第一pmos晶体管;102、第二pmos晶体管;103、第一nmos晶体管;104、第二nmos晶体管;105、第三nmos晶体管;106、第四nmos晶体管;107、第五nmos晶体管;108、第六nmos晶体管;109、第七晶体管。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提高计算精度,降低8tsram阵列的面积,从而减小整体8tsram的面积消耗及能耗。为此,本发明提出了一种8tsram单元及存内计算装置。

所述8tsram单元的工作原理为:通过传输模块将权重值写入存储模块中,当通过第一输入位线fwlm和第二输入位线fwll向计算模块输入数据时,同时将存储在存储模块中的权重值也输入到计算模块中,然后将权重值和输入值进行乘累加操作。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例1:

图1为本发明实施例1中1个8tsram单元的结构示意图。其包括存储模块、传输模块和计算模块;在图中,第一pmos晶体管101和第二pmos晶体管102构成存储模块,用于存储权重w;第一nmos晶体管103和第二nmos晶体管104构成传输模块,用于实现权重w的写入操作;第三nmos晶体管105、第四nmos晶体管106、第五nmos晶体管107和第六nmos晶体管108构成计算模块,用于进行乘累加操作。

具体的,所述第一pmos晶体管101的源极和所述第二pmos晶体管102的源极与vdd连接;所述第一pmos晶体管101的栅极和所述第二pmos晶体管102的漏极与所述第二nmos晶体管104的漏极连接;所述第一pmos晶体管101的漏极和所述第二pmos晶体管102的栅极与所述第一nmos晶体管103的漏极连接;所述第一nmos晶体管103的栅极和所述第二nmos晶体管104的栅极连接至字线wl;所述第一nmos晶体管103的源极连接至位线bl;所述第一nmos晶体管103的漏极分别与所述第四nnos晶体管106的栅极和所述第五nmos晶体管107的栅极连接;所述第二nmos晶体管104的源极连接至位线blb;所述第三nmos晶体管105的栅极与所述第一输入位线fwlm连接;所述第三nmos晶体管105的源极与所述第四nmos晶体管106的漏极连接;所述第三nmos晶体管105的漏极和所述第六nmos晶体管108的漏极连接至读位线rbl;所述第四nmos晶体管106的栅极和所述第五nmos晶体管107的栅极与所述第一nmos晶体管103的漏极连接;所述第四nmos晶体管106的源极与所述第五nmos晶体管107的源极接地;所述第五nmos晶体管107的漏极与所述第六nmos晶体管108的源极连接;所述第六nmos晶体管108的栅极与所述第二输入位线fwll连接。

所述传输模块进行权重w写入操作时,所述字线wl预充电到高电平,然后对所述位线bl和所述位线blb进行充电或者放电操作,使得所述位线bl和所述位线blb一个为高电平一个为低电平。

所述计算模块进行乘累加操作时,in[1]通过所述第一输入位线fwlm输入到所述第三nmos晶体管105的栅极,in[0]通过所述第二输入位线fwll输入到所述第六nmos晶体管108的栅极;同时所述权重w被分别输入到所述第四nmos晶体管106和所述第五nmos晶体管107;

所述第三nmos晶体管105和所述第四nmos晶体管106执行in[1]*w的二进制乘法运算,所述第五nmos晶体管107和所述第六nmos晶体管108执行in[0]*w的二进制乘法运算。

进一步的,所述第三nmos晶体管105和所述第四nmos晶体管106的宽度是所述第五nmos晶体管107和所述第六nmos晶体管108的2倍,所述第三nmos晶体管105和所述第四nmos晶体管106共同输出的rbl放电电流是所述第五nmos晶体管107和所述第六nmos晶体管108共同输出的rbl放电电流的2倍。

本发明中的8tsram单元使用的计算模式采用的2比特输入的乘算模式,相比传统的8t结构的存算sram采用的1比特输入的计算模式,能够提高计算的精度,有利于提高数据计算的准确性。

需要说明的是,本发明中不仅限于实施例1中所示的第一晶体管、第二晶体管、第三晶体管、第四晶体管、第五晶体管和第六晶体管分别为nmos晶体管,只要能够实现本发明中传输模块和计算模块各自对应的功能,就在本发明的保护范围内。

实施例2:

图2为本发明实施例2中2行1列8tsram单元阵列的结构示意图。该单元阵列通过rbl线将两个8tsram单元连接在一起,如图所示,还包括一个rst、第七晶体管109和一个vrst,所述第七晶体管109的栅极与所述rst连接;所述第七晶体管109的源极与所述rbl线连接,所述第七晶体管109的漏极与所述vrst连接,所述rst作为所述rbl线的预充电器件。

与实施例1不同的是,当进行乘累加操作时,首先进行预充电,所述rbl线被预充电至vrst,其次是数据输入。

每个8tsram的工作过程都是与实施例1相同的,即所述传输模块进行权重w写入操作时,所述字线wl预充电到高电平,然后对所述位线bl和所述位线blb进行充电或者放电操作,使得所述位线bl和所述位线blb一个为高电平一个为低电平。

所述计算模块进行乘累加操作时,in[1]通过所述第一输入位线fwlm输入到所述第三nmos晶体管105的栅极,in[0]通过所述第二输入位线fwll输入到所述第六nmos晶体管108的栅极;同时所述权重w被分别输入到所述第四nmos晶体管106和所述第五nmos晶体管107;

所述第三nmos晶体管105和所述第四nmos晶体管106执行in[1]*w的二进制乘法运算,所述第五nmos晶体管107和所述第六nmos晶体管108执行in[0]*w的二进制乘法运算。

最后将计算结果都传输到所述rbl线以进行下一步的操作。

本发明中的8tsram单元阵列的2比特计算方案,和传统的8t结构的存算sram相比实现了2个传统8t结构的存算sram才能完成的功能,降低了阵列的面积,减小了整体sram的面积消耗以及能耗,提高了效率。

实施例3:

图3为本发明实施例3中一种多位8tsram结构的存内计算装置的结构示意图。如图所示,该装置包括一个8tsram单元阵列1、一个输入驱动器2、一个列译码和位线驱动模块3、一个行解码器4和n个数模转换模块5,n为大于或等于1的正整数;其中,所述8tsram单元阵列1包括m*n个8tsram单元,其中,每一行各8tsram单元通过字线wl、第一输入位线fwlm和第二输入位线fwll连接;每一列各8tsram单元通过位线bl、位线blb和读位线rbl连接,m为大于或等于1的正整数;

所述输入驱动器2分别与各行所述8tsram单元的第一输入位线fwlm和第二输入位线fwll连接,用于输入数据到所述8tsram单元阵列中,使所述输入数据与所述8tsram单元阵列1中的权重w进行计算;

所述列译码和位线驱动模块3分别与各列所述8tsram单元的位线bl和位线blb连接,用于控制所述8tsram单元阵列中权重w的读操作;

所述行解码器4分别与各行所述8tsram单元的字线wl连接,用于控制所述8tsram单元阵列1中权重w的写操作;

n个所述数模转换模块5的一端与电源连接,另一端与对应的各列所述8tsram单元的rbl线连接,用于进行模数转换,最终输出转换后的结果。

具体的,所述8tsram单元阵列将产生的输出结果分别通过所述rbl线输入到n个所述数模转换模块,n个所述数模转换模块利用参考电压vref对所述输出结果进行模数转换,最终输出转换后的结果。

本发明的存内计算装置将多个8tsram单元与外围存算结构相结合,并按列计算结果,提高了存内计算装置的计算效率。同时,以此为基础的8tsram单元,利用模拟信号计算完成二进制神经网络乘累加计算,提高了计算精度,减少了中间数据的产生,降低了功耗。

需要说明的是,虽然在图3中列出了256*64个8tsram单元,但是本发明的保护范围并不仅限于此。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜