技术新讯 > 信息存储应用技术 > 5bit带符号位的同或与同或累加运算电路、CIM电路  >  正文

5bit带符号位的同或与同或累加运算电路、CIM电路

  • 国知局
  • 2024-07-31 19:43:16

本发明属于集成电路领域,具体涉及一种5bit带符号位的同或运算电路,一种5bit带符号位的同或累加运算电路,以及对应的cim电路。

背景技术:

1、深度学习推动了广泛的人工智能(ai)应用,从图像分类到语音识别。人工智能设备依赖高精度的本地计算进行推理操作,并依赖云计算进行训练。将人工智能算法部署到边缘终端设备有如下问题:第一,大多数涉及在云端静态训练模型的应用,如果不适应用户依赖的个人数据和操作情况,就无法实现高精确度。第二,许多用户不愿意将个人数据发送到云端重新训练模型。第三,许多远程应用缺乏对云的访问能力,无法针对现场遇到的新情况实时进行重新训练。在这些条件下,直接在ai边缘设备上完成算法的学习和训练是一种可取的方法。

2、在冯·诺依曼架构中,计算和存储功能分别由cpu和存储器完成。而cpu在跟随摩尔定律逐年提升性的过程中,将对制程工艺不敏感的存储器甩在了后面,两者之间逐渐被拉大的差距形成了“存储墙”。为了解决这个问题,技术人员提出的存内运算(cim)的技术,其可以在存储芯片内部完成部分逻辑运算任务。存算一体架构能在很大程度上降低cpu和存储器之间的数据搬运,克服“存储墙”的缺陷。

3、神经网络的主要能量消耗在于卷积计算层,浩如烟海的数据在存储器和计算单元之间迁移,模块之间的长互连带来了巨大的能量损耗,在深亚微米甚至纳米的先进工艺下,连线及间距变窄,电阻及耦合电容变大,这一损耗就变得愈发严重。因此,如何减少数据搬运,并降低计算功耗具有重要意义,已经成为设计者主要的目标。神经网络的算法经过了许许多多版本的改进,一开始的全连接神经网络每一层都是通过全连接的方式进行推理计算,参数较多容易丢失空间信息,并且大多数的任务并不要求提取全图特征。后面广泛研究的卷积神经网络(cnn)其结构和参数量也越来越大,再到后面提出的二值神经网络(bnn),二值神经网络是一种参数量化后的神经网络,极大的减小了参数量。由此可以看出算法研究人员也想设计出能简化参数量同时还可以不损失过多精度的神经网络。存内计算架构搭载轻量化的神经网络模型这种强强联合的方式可以将神经网络计算提升到一个新高度。虽然同或运算是神经网络训练和应用过程的一种基本的逻辑运算,但是现有的支持存内运算的逻辑电路中却缺少可以高效执行多比特带符号数的同或运算的电路架构。

技术实现思路

1、为了解决现有技术缺乏支持同或运算的存内计算电路架构的问题,本发明提供一种5bit带符号位的同或运算电路,一种5bit带符号位的同或累加运算电路,以及对应的cim电路。

2、本发明采用以下技术方案实现:

3、一种5bit带符号位的同或运算电路,其具有数据存储和逻辑运算功能。该电路支持的逻辑运算功能包括计算一个带符号的5bit数与单比特权重之间的乘积。该同或运算电路包括一个由反相器inv1、inv2,以及nmos管m1~m4构成的8t-sram单元,以及一个由nmos管n1~n6,以及pmos管p1、p2构成的计算单元。

4、在8t-sram单元中,inv1、inv2首尾相连构成包含存储节点q和qb的锁存器,存储节点q与m1和m3的源极相连,存储节点qb与m2和m4的源极相连。m1和m2的栅极接字线wl;m1和m2的漏极分别接位线bl和blb。m3和m4的栅极分别接符号位控制线fp和fn;m3和m4的漏极相连作为运算节点fo。

5、在计算单元中,n1的漏极接输出位线ibl1,n1的源极接n3的漏极;n2的漏极接输出位线ibl2,n2的源极接n4的漏极。p1的源极接输出位线cbl1,p1的漏极接n5的漏极;p2的源极接输出位线cbl2,p2的漏极接n6的漏极。n1、n2、p1和p2的栅极接运算节点fo。n3和n5的栅极接输入信号线inh;n4和n6的栅极接输入信号线inl。n3~n6的源极接地。

6、其中,nmos晶体管n1的宽长比是n2的两倍,n3是n4的两倍,n5是n6的两倍。pmos晶体管p1的宽长比是p2的两倍。

7、作为本发明进一步的改进,该5bit带符号位的同或运算电路实现5bit带符号数与单比特权重间同或运算的策略如下:

8、将存储节点q和qb中预存的值作为单比特权重。

9、通过符号位控制线fp和fn输入5bit数的符号位部分。

10、通过两个周期输入5bit数中剩余4bit的无符号数部分;在前一个周期内,通过输入信号线inh和ihl输入高两位中的高位和低位。在后一个周期内,通过输入信号线inh和ihl输入低两位中的高位和低位。前一个周期输入信号的脉冲宽度是后一个周期输入信号的脉冲宽度的4倍。并在两个周期中对位线ibl1、ibl2、cbl1和cbl2上的放电电压分别进行量化。

11、输出位线ibl1和ibl2在两个周期的放电电压总和用于表征乘积结果的正值数据;输出位线cbl1和cbl2在两个周期后的放电电压总和用于表征乘积结果的负值数据。

12、作为本发明进一步的改进,存储节点中单比特权重的编码规则为:当“q=1,qb=0”,则表示权重为“+1”;当“q=0,qb=1”,则表示权重为“-1”。

13、作为本发明进一步的改进,在符号位控制线fp和fn中,多比特数的符号位的编码规则为:当“fp=1,fn=0”,则表示符号位为“正”;当“fp=0,fn=1”,则表示符号位为“负”。

14、作为本发明进一步的改进,该5bit带符号位的同或运算电路还具备计算一个带符号的3bit数与单比特权重之间的乘积的功能,计算策略如下:

15、将存储节点q和qb中预存的值作为单比特权重。

16、通过符号位控制线fp和fn输入3bit数的符号位部分。

17、通过输入信号线inh和ihl输入3bit数的无符号位部分的高位和低位。

18、对位线ibl1、ibl2、cbl1和cbl2上的放电电压进行量化;

19、输出位线ibl1和ibl2在当前周期的放电电压总和用于表征乘积结果的正值数据;输出位线cbl1和cbl2在当前周期后的放电电压总和用于表征乘积结果的负值数据。

20、作为本发明进一步的改进,在8sram单元中,由反相器inv1、inv2构成的数据锁存单元与传输管m1和m2构成实现数据存储功能的基本单元,并用于执行数据的读写和保持。

21、作为本发明进一步的改进,在数据存储模式下,m3、m4以及计算单元处于关断状态;将字线wl置为高电平,通过位线bl、blb写入或读出数据。

22、本发明还包括一种5bit带符号位的同或累加运算电路,其包括至少2个如前述的5bit带符号位的同或运算电路中的8t-sram单元,以及一个如前述的5bit带符号位的同或运算电路中的计算单元。

23、在同或累加运算电路中,各个8t-sram单元和计算单元按列排布;每个8t-sram单元连接独立的字线wl以及符号位控制线fp和fn。所有8t-sram单元连接在同一对位线bl和blb上,且各个8t-sram单元的计算节点fo相连。

24、作为本发明进一步的改进,该同或累加运算电路实现5bit带符号数与单比特权重间的同或累加运算的策略如下:

25、(1)选择预存对应单比特权重的8t-sram单元作为参与运算的单元。

26、(2)在不同的周期内,依次选中一个8t-sram,输入符号位和无符号数部分,并对位线ibl1、ibl2、cbl1和cbl2上的放电电压进行量化;完成其中一个5bit带符号数与单比特权重间的同或运算。

27、(3)将输出位线ibl1和ibl2在全周期内的放电电压总和用于表征乘积结果的正值数据;输出位线cbl1和cbl2在全周期内的放电电压总和用于表征乘积结果的负值数据。

28、(4)将正值数据与负值数据从模拟域转换到数字域后,正值数据与负值数据的差即为所需的同或累加运算结果。

29、本发明还包括一种cim电路,其包括由若干个如前述的5bit带符号位的同或累加运算电路作为基本单元并按行列排布后构成的存算阵列,以及用于配合存算阵列实现数据存储和逻辑运算功能的外围电路。

30、本发明提供的技术方案,具有如下有益效果:

31、本发明在8t-sram的基础上,增加了由8个晶体管构成的计算单元,计算单元连接在一列8t sram的fo上,进而实现利用8t-sram的存储数据作为权重,输入到传输管上的信号作为符号位,并结合输入到计算单元的信号进行同或运算和同或累加。

32、本发明设计出5bit带符号数与单比特权重间的同或运算和同或累加运算的存内运算电路,可以支持最低3bit带符号数与单比特权重的同或运算和同或累加运算,也可以在多个周期内结合对输入信号的脉宽调制实现多比特带符号数与单比特权重的同或运算和同或累加运算。该电路一次计算开启一行,具有高精度计算的优点;因而特别适合处理bnn神经网络中包含的大量同或运算任务。

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

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