技术新讯 > 信息存储应用技术 > 一种用于非易失性随机存储器的存算一体电路  >  正文

一种用于非易失性随机存储器的存算一体电路

  • 国知局
  • 2024-07-31 19:30:47

本技术属于集成电路领域,具体地讲,涉及一种用于非易失性随机存储器的存算一体化电路。

背景技术:

1、目前基于磁随机存取存储器(magnetic random access memory,缩写为mram)的存内计算架构几乎都是数字存内计算方案,算法操作通过调度布尔逻辑来执行。虽然数字存内计算方案实现了高度并行和可靠的计算,但由于时序和控制更为复杂,其能源效率低于模拟存内计算方案(即基于交叉棒阵列欧姆定律的高度并行模拟乘法和累积操作);mram不能应用模拟存内计算方案的主要原因是磁隧道结(magnetic tunnel junction,缩写为mtj)器件的隧道磁电阻比(tunnel magnetoresistance ratio,缩写为tmr)较低,这使得在传统交叉杆阵列中难以产生满足模拟计算需求的计算信号裕度。

2、有鉴于此,亟需设计一种新的基于非易失存储器的存内计算电路以解决上述技术问题。

技术实现思路

1、针对现有技术中存在的问题,本技术提供一种用于非易失性随机存储器的存算一体电路,有效内存中实现逻辑运算的功耗、延迟和错误率。

2、根据本技术的第一个方面,提供了一种用于非易失性随机存储器的存算一体电路,所述非易失性随机存储器包括n列存储单元阵列,所述存储单元阵列包括十六个存储单元组,所述存算一体电路包括:第一时间累积模块、第一乘积信号模块和全加器模块,其中:

3、所述第一时间累积模块用于控制所述十六个存储单元组依次放电;

4、所述第一乘积信号模块用于记录每列存储单元阵列的从第一个存储单元组放电开始到最后一个存储单元组放电结束的累积时间,并将所述累积时间转换为二进制形式;

5、所述全加器模块用于将每一列的二进制形式的累积时间相加,得到所述非易失性随机存储器的一次操作时间。

6、在本实施例的一些可选方式中,所述第一时间累积模块的输入端包括第一时间累积第一输入端(inbl00)、第一时间累积第二输入端(inbl10)、第一时间累积第三输入端(inbl20)以及第一时间累积第四输入端(inbl30);所述第一时间累积模块的输出端包括第一时域转换第一输出端(tdc00)、第一时域转换第二输出端(tdc10)、第一时域转换第三输出端(tdc20)、第一时域转换第四输出端(tdc30)、第一触发器第一正相输出端(encs00)、第一触发器第二正相输出端(encs10)、第一触发器第三正相输出端(encs20)、第一触发器第四正相输出端(encs30)、第一触发器第一反相输出端第一触发器第二反相输出端第一触发器第三反相输出端以及第一触发器第四反相输出端

7、所述第一乘积信号模块的输入端包括乘积信号输入端(entdc)、所述第一触发器第四反相输出端以及所述第一时域转换第四输出端(tdc30),所述第一乘积信号模块的输出端包括乘积信号输出端(tac)。

8、在本实施例的一些可选方式中,所述第一时间累积模块包括时域转换单元和触发器单元,其中:

9、所述时域转换单元包括第一时域转换子单元、第二时域转换子单元、第三时域转换子单元和第四时域转换子单元,其中:

10、所述第一时域转换子单元的输入端为所述第一时间累积第一输入端(inbl00),所述第一时域转换子单元的输出端为所述第一时域转换第一输出端(tdc00);所述第二时域转换子单元的输入端为所述第一时间累积第二输入端(inbl10),所述第二时域转换子单元的输出端为所述第一时域转换第二输出端(tdc10);所述第三时域转换子单元的输入端为所述第一时间累积第三输入端(inbl20),所述第三时域转换子单元的输出端为所述第一时域转换第三输出端(tdc20);所述第四时域转换子单元的输入端为所述第一时间累积第四输入端(inbl30),所述第四时域转换子单元的输出端为所述第一时域转换第四输出端(tdc30);

11、所述触发器单元包括第一触发器子单元、第二触发器子单元、第三触发器子单元和第四触发器子单元,其中:

12、所述第一触发器子单元的第一输出端(q0)为所述第一触发器第一反相输出端第一触发器子单元的第二输出端为所述第一触发器第一正相输出端(encs00);所述第二触发器子单元的第一输出端(q1)为所述第一触发器第二反相输出端所述第二触发器子单元的第二输出端为所述第一触发器第二正相输出端(encs10);所述第三触发器子单元的第一输出端(q2)为所述第一触发器第三反相输出端所述第三触发器子单元的第二输出端为所述第一触发器第三正相输出端(encs20);所述第四触发器子单元的第一输出端(q3)为所述第一触发器第四反相输出端所述第四触发器子单元的第二输出端为所述第一触发器第四正相输出端(encs30);

13、所述第一触发器子单元的时钟输入端(clk0)、所述第二触发器子单元的时钟输入端(clk1)、所述第三触发器子单元的时钟输入端(clk2)以及所述第四触发器子单元的时钟输入端(clk3)为所述第四时域转换子单元的输出端或所述乘积信号输入端(entdc);所述第一触发器子单元的d输入端(d0)为四输入与门的输出端,所述第二触发器子单元的d输入端(d1)为第一触发器子单元的第一输出端(q0),所述第三触发器子单元的d输入端(d2)为第二触发器子单元的第一输出端(q1),所述第四触发器子单元的d输入端(d3)为第三触发器子单元的第一输出端(q2);所述四输入与门的四个输入端分别为所述第一触发器子单元的第二输出端所述第二触发器子单元的第二输出端所述第三触发器子单元的第二输出端所述第四触发器子单元的第二输出端

14、在本实施例的一些可选方式中,所述存储单元阵列还包括位线和源线,所述位线和所述源线分别被平分为十六个相等的部分,其中:

15、所述位线包括第一分段位线(bl0)、第二分段位线(bl1)、第三分段位线(bl2)、第四分段位线(bl3)、第五分段位线(bl4)、第六分段位线(bl5)、第七分段位线(bl6)、第八分段位线(bl7)、第九分段位线(bl8)、第十分段位线(bl9)、第十一分段位线(bl10)、第十二分段位线(bl11)、第十三分段位线(bl12)、第十四分段位线(bl13)、第十五分段位线(bl14)以及第十六分段位线(bl15);

16、所述源线包括第一分段源线(sl0)、第二分段源线(sl1)、第三分段源线(sl2)、第四分段源线(sl3)、第五分段源线(sl4)、第六分段源线(sl5)、第七分段源线(sl6)、第八分段源线(sl7)、第九分段源线(sl8)、第十分段源线(sl9)、第十一分段源线(sl10)、第十二分段源线(sl11)、第十三分段源线(sl12)、第十四分段源线(sl13)、第十五分段源线(sl14)以及第十六分段源线(sl15);

17、所述十六个存储单元组包括第一存储单元组、第二存储单元组、第三存储单元组、第四存储单元组、第五存储单元组、第六存储单元组、第七存储单元组、第八存储单元组、第九存储单元组、第十存储单元组、第十一存储单元组、第十二存储单元组、第十三存储单元组、第十四存储单元组、第十五存储单元组以及第十六存储单元组;

18、其中,第n存储单元组的一端与第n分段位线连接,第n存储单元组的另一端与第n分段源线连接,n为大于等于1且小于等于16的整数。

19、在本实施例的一些可选方式中,所述第一时域转换子单元、所述第二时域转换子单元、所述第三时域转换子单元以及所述第四时域转换子单元被所述十六个存储单元组共享,其中:

20、第m时域转换子单元的输入端连接到第4p+m存储单元组的第4p+m分段位线,p为大于等于0小于等于3的整数,m为大于等于1小于等于4的整数,其中:

21、响应于m为大于等于1小于等于3的整数,第m时域转换子单元的输出端连接到第4p+m+1存储单元组的放电晶体管;响应于m为4,第四时域转换子单元的输出连接到所述触发器单元的时钟输入端。

22、在本实施例的一些可选方式中,所述第一时间累积第一输入端(inbl00)连接到第一存储单元组的第一分段位线(bl0)、第五存储单元组的第五分段位线(bl4)、第九存储单元组的第九分段位线(bl8)以及第十三存储单元组的第十三分段位线(bl12);

23、所述第一时间累积第二输入端(inbl10)连接到第二存储单元组的第二分段位线(bl1)、第六存储单元组的第六分段位线(bl5)、第十存储单元组的第十分段位线(bl9)以及第十四存储单元组的第十四分段位线(bl13)

24、所述第一时间累积第三输入端(inbl20)连接到第三存储单元组的第三分段位线(bl2)、第七存储单元组的第七分段位线(bl6)、第十一存储单元组的第十一分段位线(bl10)以及第十五存储单元组的第十五分段位线(bl14);

25、所述第一时间累积第四输入端(inbl30)连接到第四存储单元组的第四分段位线(bl3)、第八存储单元组的第八分段位线(bl7)、第十二存储单元组的第十二分段位线(bl11)以及第十六存储单元组的第十六分段位线(bl15)。

26、在本实施例的一些可选方式中,所述第一时域转换第一输出端(tdc00)连接到第二存储单元组的放电晶体管、第六存储单元组的放电晶体管、第十存储单元组的放电晶体管以及第十四存储单元组的放电晶体管;

27、所述第一时域转换第二输出端(tdc10)连接到第三存储单元组的放电晶体管、第七存储单元组的放电晶体管、第十一存储单元组的放电晶体管以及第十五存储单元组的放电晶体管;

28、所述第一时域转换第三输出端(tdc20)连接到第四存储单元组的放电晶体管、第八存储单元组的放电晶体管、第十二存储单元组的放电晶体管以及第十六存储单元组的放电晶体管;

29、所述第一时域转换第四输出端(tdc30)连接到所述触发器单元的时钟输入端。

30、在本实施例的一些可选方式中,所述第一触发器第一反相输出端连接第一存储单元组的放电晶体管;

31、所述第一触发器第二反相输出端连接第五存储单元组的放电晶体管;

32、所述第一触发器第三反相输出端连接第九存储单元组的放电晶体管;

33、所述第一触发器第四反相输出端连接第十三存储单元组的放电晶体管;

34、所述第一触发器第一正相输出端(encs00)连接到第一存储单元组的控制晶体管、第二存储单元组的控制晶体管、第三存储单元组的控制晶体管以及第四存储单元组的控制晶体管;

35、所述第一触发器第二正相输出端(encs10)连接到第五存储单元组的控制晶体管、第六存储单元组的控制晶体管、第七存储单元组的控制晶体管以及第八存储单元组的控制晶体管;

36、所述第一触发器第三正相输出端(encs20)连接到第九存储单元组的控制晶体管、第十存储单元组的控制晶体管、第十一存储单元组的控制晶体管以及第十二存储单元组的控制晶体管;

37、所述第一触发器第四正相输出端(encs30)连接到第十三存储单元组的控制晶体管、第十四存储单元组的控制晶体管、第十五存储单元组的控制晶体管以及第十六存储单元组的控制晶体管。

38、在本实施例的一些可选方式中,所述第n分段位线和所述第n分段源线之间还包括第n第一分段晶体管和第n第二分段晶体管,其中:

39、所述第n第一分段晶体管的栅极和所述第n第二分段晶体管的栅极之间传输存内计算信号(encim);所述第n分段位线和所述第n分段源线的分离和连接受控于所述第n第一分段晶体管和所述第n第二分段晶体管。

40、在本实施例的一些可选方式中,所述存算一体电路还包括预充晶体管,所述预充晶体管的第一端用于输入pl信号,所述预充晶体管的第二端用于连接电源,所述预充晶体管的第三端用于连接所述位线,其中:

41、所述位线通过受所述pl信号控制的所述预充晶体管预充至高电位;

42、当所述位线未预充完成时,所述第n第一分段晶体管和所述第n第二分段晶体管在所述存内计算信号(encim)的控制下全部打开,将所述第n分段位线和所述第n分段源线连接;

43、当所述位线预充完成后,所述pl信号断开所述电源和所述位线,所述第n第一分段晶体管和所述第n第二分段晶体管在所述存内计算信号(encim)的控制下至少关闭一个,将所述第n分段位线和所述第n分段源线分离。

44、在本实施例的一些可选方式中,所述第一时间累积模块进一步被配置为:

45、所述触发器单元通过所述第一触发器第一正相输出端(encs00)将所述第一时间累积第一输入端(inbl00)连接到所述第一分段位线(bl0)、将所述第一时间累积第二输入端(inbl10)连接到所述第二分段位线(bl1)、将所述第一时间累积第三输入端(inbl20)连接到所述第三分段位线(bl2)以及将所述第一时间累积第四输入端(inbl30)连接到所述第四分段位线(bl3);所述触发器单元通过所述第一触发器第一正相输出端(encs00)将所述第一时域转换第一输出端(tdc00)连接到所述第二存储单元组的放电晶体管、将所述第一时域转换第二输出端(tdc10)连接到第三存储单元组的放电晶体管、将所述第一时域转换第三输出端(tdc20)连接到第四存储单元组的放电晶体管以及将所述第一时域转换第四输出端(tdc30)连接到所述触发器单元的时钟输入端,进入第一放电阶段;

46、在所述第一放电阶段:

47、所述触发器单元通过所述第一触发器第一反相输出端打开所述第一存储单元组的放电晶体管,所述第一分段位线(bl0)上的电荷流经所述第一存储单元组至接地端进行放电;

48、所述第一时域转换子单元读取所述第一分段位线(bl0)上的第一电压,当所述第一电压小于等于预设参考电压时,所述第一存储单元组的放电晶体管放电完成,且所述第一时域转换子单元会升起所述第一时域转换第一输出端(tdc00)的信号,并打开所述第二存储单元组的放电晶体管,所述第二分段位线(bl1)上的电荷流经所述第二存储单元组至接地端进行放电;

49、所述第二时域转换子单元读取所述第二分段位线(bl1)上的第二电压,当所述第二电压小于等于所述预设参考电压时,所述第二存储单元组的放电晶体管放电完成,且所述第二时域转换子单元会升起所述第一时域转换第二输出端(tdc10)的信号,并打开所述第三存储单元组的放电晶体管,所述第三分段位线(bl2)上的电荷流经所述第三存储单元组至接地端进行放电;

50、所述第三时域转换子单元读取所述第三分段位线(bl2)上的第三电压,当所述第三电压小于等于所述预设参考电压时,所述第三存储单元组的放电晶体管放电完成,且所述第三时域转换子单元会升起所述第一时域转换第三输出端(tdc20)的信号,并打开所述第四存储单元组的放电晶体管,所述第四分段位线(bl3)上的电荷流经所述第四存储单元组至接地端进行放电;

51、所述第四时域转换子单元读取所述第四分段位线(bl3)上的第四电压,当所述第四电压小于等于所述预设参考电压时,所述第四存储单元组的放电晶体管放电完成,且所述第四时域转换子单元会升起所述第一时域转换第四输出端(tdc30)的信号,并作用于所述触发器单元的时钟信号输入端,使得所述触发器单元通过所述第一触发器第二正相输出端(encs10)改变所述时域转换单元的连接方式,将所述时域转换单元的输入端从所述第一分段位线至所述第四分段危险切换至所述第五分段位线,进入第二放电阶段。

52、在本实施例的一些可选方式中,所述第一时间累积模块进一步被配置为:

53、在所述第二放电阶段,所述第五存储单元组的放电晶体管至所述第八存储单元组的放电晶体管依次放电,并在所述第八存储单元组的放电晶体管放电完成后,所述第四时域转换子单元会升起所述第一时域转换第四输出端(tdc30)的信号,并作用于所述触发器单元的时钟信号输入端,使得所述触发器单元通过所述第一触发器第三正相输出端(encs20)改变所述时域转换单元的连接方式,将所述时域转换单元的输入端从所述第五分段位线至所述第八分段位线切换至第九分段位线至第十二分段位线,进入第三放电阶段;

54、在所述第三放电阶段,所述第九存储单元组的放电晶体管至所述第十二存储单元组的放电晶体管依次放电,并在所述第十二存储单元组的放电晶体管放电完成后,所述第四时域转换子单元会升起所述第一时域转换第四输出端(tdc30)的信号,并作用于所述触发器单元的时钟信号输入端,使得所述触发器单元通过所述第一触发器第四正相输出端(encs30)改变所述时域转换单元的连接方式,将所述时域转换单元的输入端从所述第九分段位线至所述第十二分段位线切换至第十三分段位线至第十六分段位线,进入第四放电阶段;

55、在所述第四放电阶段,所述第十三存储单元组的放电晶体管和所述第十六存储单元组的放电晶体管依次放电,并在所述第十六存储单元组的放电晶体管放电完成后,所述第四时域转换子单元会升起所述第一时域转换第四输出端(tdc30)的信号,并作用于所述触发器单元的时钟信号输入端,使得所述触发器单元通过所述第一触发器第一正相输出端(encs00)改变所述时域转换单元的连接方式,将所述时域转换单元的输入端从所述第十三分段位线至第十六分段位线切换至第一分段位线至所述第四分段位线,进入所述第一放电阶段。

56、在本实施例的一些可选方式中,所述第一乘积信号模块包括第一二输入与门、三输入与门、二输入或门、触发器、第二二输入与门、延时单元、其中:

57、所述第一二输入与门的第一输入端为所述乘积信号输入端(entdc),所述第一二输入与门的第二输入端与所述触发器的反相输出端连接;所述三输入与门的第一输入端为所述第一触发器第四反相输出端所述三输入与门的第二输入端为所述第一时域转换第四输出端(tdc30),所述三输入与门的第三输入端与所述触发器的正相输出端连接;所述二输入或门的第一输入端与所述第一二输入与门的输出端连接,所述二输入或门的第二输入端与所述三输入与门的输出端连接;所述触发器的时钟输入端与所述二输入或门的输出端连接,所述触发器的d输入端与所述触发器的反相输入端连接;所述延时单元的一端与所述触发器的正相输入端连接,所述延时单元的另一端与所述第二二输入与门的第二输入端连接;所述第二二输入与门的第一输入端与所述触发器单元的正相输出端连接,所述第二二输入与门的输出端为所述乘积信号输出端(tac)。

58、在本实施例的一些可选方式中,所述第一乘积信号模块进一步被配置为:

59、在一个计算周期下,当所述乘积信号输入端(entdc)接受到上升信号时,所述第一乘积信号模块的计算开始,将所述触发器设置为“1”,当所述第十五存储单元组导致的第一时域转换第四输出端(tdc30)的信号上升时,所述第一乘积信号模块的计算结束,将所述触发器设置为“0”,其中,所述触发器处于“1”状态的时间为所述存储单元阵列的从第一个存储单元组放电开始到最后一个存储单元组放电结束的累积时间,并基于所述延时单元和所述触发器,将所述累积时间转换为二进制形式,其中,所述延时单元的延时时间等于全“0”阵列的计算时间。

60、在本实施例的一些可选方式中,在多个计算周期下,所述存算一体电路还包括第二时间累积模块、第二乘积信号模块、预充模块和流水线控制模块,其中:

61、所述预充模块用于将所述第一分段位线至所述第十六分段位线依次预充至高电位;所述第二时间累积模块和所述第二乘积信号模块用于执行新计算周期的放电时间累积操作;所述流水线控制模块用于对流水线过程进行监控和控制。

62、在本实施例的一些可选方式中,所述第二时间累积模块的输入端包括第二时间累积第一输入端(inbl01)、第二时间累积第二输入端(inbl11)、第二时间累积第三输入端(inbl21)以及第二时间累积第四输入端(inbl31);所述第二时间累积模块的输出端包括第二时域转换第一输出端(tdc01)、第二时域转换第二输出端(tdc11)、第二时域转换第三输出端(tdc21)、第二时域转换第四输出端(tdc31)、第二触发器第一正相输出端(encs01)、第二触发器第二正相输出端(encs11)、第二触发器第三正相输出端(encs21)、第二触发器第四正相输出端(encs31)、第二触发器第一反相输出端第二触发器第二反相输出端第二触发器第三反相输出端以及第二触发器第四反相输出端

63、所述第二乘积信号模块的输入端包括乘积信号输入端(entdc)、所述第二触发器第四反相输出端以及所述第二时域转换第四输出端(tdc31),所述第一乘积信号模块的输出端包括乘积信号输出端(tac)。

64、在本实施例的一些可选方式中,所述流水线控制模块的输入端与所述第一时域转换第一输出端(tdc00)、所述第一触发器第三反相输出端所述第二时域转换第一输出端(tdc01)以及所述第二触发器第三反相输出端连接;所述流水线控制模块的输出端分别控制所述第一时间累积模块和所述第二时间累积模块。

65、在本实施例的一些可选方式中,所述预充模块的输入端与所述第一触发器第一正相输出端(encs00)、所述第一触发器第二正相输出端(encs10)、所述第一触发器第三正相输出端(encs20)、所述第一触发器第四正相输出端(encs30)、所述第二触发器第一正相输出端(encs01)、所述第二触发器第二正相输出端(encs11)、所述第二触发器第三正相输出端(encs21)以及所述第二触发器第四正相输出端(encs31)连接;所述预充模块的输出端与第一时间累积第一输入端(inbl00)、第一时间累积第二输入端(inbl10)、第一时间累积第三输入端(inbl20)以及第一时间累积第四输入端(inbl30)、所述第二时间累积第一输入端(inbl01)、第二时间累积第二输入端(inbl11)、第二时间累积第三输入端(inbl21)以及第二时间累积第四输入端(inbl31)连接。

66、在本实施例的一些可选方式中,所述流水线控制模块进一步被配置为:

67、监控所述第一时间累积模块的第一时域转换第一输出端(tdc00)的输出和所述第一触发器第三反相输出端的输出,当所述第一时域转换第一输出端(tdc00)的输出上升且所述第一触发器第三反相输出端为高电位时,表示前一个计算周期的第八个存储单元组放电完成;

68、对所述第一时间累积模块的第一时域转换第一输出端(tdc00)的输出和所述第一触发器第三反相输出端的输出进行与运算,产生上升沿,并将所述上升沿信号传输至所述第二时间累积模块,开始新的计算周期。

69、在本实施例的一些可选方式中,所述第二时间累积模块进一步被配置为:

70、通过所述第二时间累积模块的触发器单元在接收到所述上升沿信号后改变所述第二触发器第一反相输出端的输出,并将所述第二时间累积模块的时域转换单元的输入端连接到所述第一分段位线至所述第四分段位线,并将所述第一分段位线至所述第四分段位线预充至高电位;

71、当预充过程结束时,所述第二乘积信号模块的放电时间累积操作开始。

72、在本实施例的一些可选方式中,所述流水线控制模块进一步被配置为:

73、监控所述第二时间累积模块的第二时域转换第一输出端(tdc01)的输出和所述第二触发器第三反相输出端的输出,当所述第二时域转换第一输出端(tdc01)的输出上升且所述第二触发器第三反相输出端(为高电位时,表示所述新的计算周期的第八个存储单元组放电完成;

74、对所述第二时间累积模块的第二时域转换第一输出端(tdc01)的输出和所述第一触发器第三反相输出端的输出进行与运算,产生上升沿,并将所述上升沿信号传输至所述第一时间累积模块,开始下一个计算周期。

75、在本实施例的一些可选方式中,所述流水线控制模块包括触发器序列单元,所述触发器序列单元被配置为记录所述存储单元阵列的被执行次数,当所述被执行次数达到预设计算周期数量,不向所述第一时间累积模块或所述第二时间累积模块发送所述上升沿信号。

76、在本实施例的一些可选方式中,所述放电晶体管为nmos,所述预充晶体管、所述控制晶体管以及所述分段晶体管为pmos,所述预充晶体管的第一端为栅极,所述预充晶体管的第二端为源极或漏极中的一个,所述预充晶体管的第三端为源极或漏极中的另一个。

77、本技术提供的一种用于非易失性随机存储器的存算一体电路,通过在非易失性随机存储器阵列中采用位线和源线分段设计,能够利用放电时间累积的方法实现乘法累加运算,同时可实现用少量时域转换子单元读取多个存储单元组上的电压并将其转换为时间信号,能够有效降低在内存中实现逻辑运算的功耗、延迟和错误率。

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

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