当前位置: 首页 > 专利查询>安徽大学专利>正文

一种在内存中实现带有正负数乘加的SRAM电路制造技术

技术编号:26222276 阅读:40 留言:0更新日期:2020-11-04 10:52
本发明专利技术公开了一种在内存中实现带有正负数乘加的SRAM电路,通过将多个乘数存入一列单元中,多个被乘数通过SRAM的字线WL输入,与单元内的相应的乘数进行乘法运算,再将每组乘得的结果累加在位线上,可直接通过位线电压得出乘加的结果。另外添加了一列参考列以判断计算结果是正数还是负数,以实现正负数的乘法。

【技术实现步骤摘要】
一种在内存中实现带有正负数乘加的SRAM电路
本专利技术涉及集成电路
,尤其涉及一种在内存中实现带有正负数乘加的SRAM电路。
技术介绍
随着机器学习、图像识别和边缘计算等应用领域的快速发展,这些领域需要处理海量数据和对计算能耗效率要求较高。传统的传统冯诺伊曼架构把处理器计算单元和存储器分开,需要时处理器从存储器读数据,之后在处理器处理完了数据之后再写回存储器。由于摩尔定律的快速发展,内存运行速度与处理器速度的不同步,内存的存取速度严重滞后于处理器的计算速度,内存性能已经成为了整体计算机性能的一个重要瓶颈。内存对于能效比的限制也成了传统冯诺伊曼体系计算机的一个瓶颈,这个瓶颈在机器学习和图像识别计算量大的领域例如卷积神经网络中尤为明显,为了克服这些传统的冯诺依曼结构带来的弊端,内存内计算(ComputinginMemory,缩写为CIM)成为解决这个问题的热点,内存内计算不需要把数据传输到处理器中,直接在内存中进行运算,因此大大减少了计算过程中数据存取能量消耗,同时在计算速度和能效上得到提高。现有存内技术大部分都着重与在SRAM单元内部实现逻辑布尔运算,例如简单的与或运算,但是这些运算并不能充分体现出存内计算的优势。目前图像识别等领域,卷积神经网络的作用十分重要,所以仅仅对数据进行简单逻辑处理时远远不够的,需要更复杂的计算,而乘法与加法在卷积神经网路中的是最基本的运算,也是进行最多的运算,所以在SRAM中实现乘法运算可以很好的提升整个存内系统的工作效率,充分体现其优势。虽然目前有相关实现乘法的电路,但是他们仅仅考虑简单的正数相乘,没有考虑实际情况中存在正负数相乘的情况,不适合实际的应用。
技术实现思路
本专利技术的目的是提供一种在内存中实现带有正负数乘加的SRAM电路,可以实现在SRAM中实现正负数的乘加运算,极大的提升了SRAM存内计算的实用性。本专利技术的目的是通过以下技术方案实现的:一种在内存中实现带有正负数乘加的SRAM电路,包括:行译码模块、列译码模块、时序控制电路、字线数据控制模块、以及SRAM存储阵列;其中:时序控制电路与行地址译码模块、列地址译码模块以及字线控制模块连接,行译码模块与字线控制模块,列译码与字线控制模块与SRAM存储阵列相连接;SRAM存储阵列包含一个参考列与若干计算列,参考列与计算列都包含多个SRAM6管单元;三个同列的SRAM6管单元构成一个带有符号位的2位乘法计算单元;在计算前的准备阶段,时序控制模块控制行译码模块和列译码模块选中计算列的相应SRAM6管单元,由SRAM6管单元存储被乘数,乘数则从外部输入到字线数据控制模块中,采用双字线设计,左字线连接字线信号WLP,右字线连接字线信号WLN,字线信号WLP与WLN表示乘数,根据乘数的正负来相应的开启或关闭字线信号WLP与WLN;每列SRAM单元的全局位线GBL与GBLB与列译码模块的输出端相连;通过比较计算列和参考列的全局位线电位得到最终整列的乘加结果。由上述本专利技术提供的技术方案可以看出,电路结构提高了SRAM存内计算的实用性:通过带有符号位的2位乘法计算单元可以实现正负数的乘法运算,再综合同列的乘法结果与参考率进行比较,从而得到整个计算列的乘加结果。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图1为本专利技术实施例提供的一种在内存中实现带有正负数乘加的SRAM电路的示意图;图2为本专利技术实施例提供的2位乘法计算单元及SRAM6管单元的结构示意图;图3为本专利技术实施例提供的字线脉宽调制信号示意图;图4为本专利技术实施例提供的测试仿真图。具体实施方式下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。本专利技术实施例提供一种在内存中实现带有正负数乘加的SRAM电路,通过将多个乘数存入一列单元中,多个被乘数通过SRAM的字线WL输入,与单元内的相应的乘数进行乘法运算,再将每组乘得的结果累加在位线上,可直接通过位线电压得出乘加的结果。另外添加了一列参考列以产生乘法结果为0时的电位,通过计算列的电位与其比较即可判断计算结果是正数还是负数,以实现正负数的乘法。如图1所示,其主要包括:行译码模块、列译码模块、时序控制电路、字线数据控制模块、以及SRAM存储阵列;其中:时序控制电路与行地址译码模块、列地址译码模块以及字线控制模块连接,行译码模块与字线控制模块,列译码与字线控制模块与SRAM存储阵列相连接;时序控制模块用于控制整个电路的工作状态。在计算前的准备阶段,时序控制模块控制行译码模块和列译码模块选中相应SRAM单元,将被乘数存入选中的单元中,而乘数则从外部输入到字线数据控制模块中;在计算开始时,时序控制模块启用字线数据控制模块,根据输入的乘数值产生对应的字线信号。SRAM存储阵列包含一个参考列与若干计算列,参考列与计算列都包含多个SRAM6管单元;三个同列的SRAM6管单元构成一个带有符号位的2位乘法计算单元;SRAM6管单元存储被乘数,采用双字线设计,将传统单字线WL拆分为WLP和WLN,左字线连接字线信号WLP(WLPositive代表控制正数放电的字线),右字线连接字线信号WLN(WLNegative代表控制负数放电的字线),字线信号WLP与WLN表示乘数,根据乘数的正负来相应的开启或关闭字线信号WLP与WLN;每列SRAM单元的全局位线GBL(GlobalBL)与GBLB(GlobalBLB)与列译码模块的输出端相连;通过比较计算列和参考列的全局位线电位得到最终整列的乘加结果。如图2所示,为2位乘法计算单元及SRAM6管单元的结构。一个带有符号位的2位乘法计算单元包括:三个SRAM6管单元6T-0、6T-1与6T-2,两个传输门构成的开关SW1和SW2,以及四个电容C1、C2、C3与C4;三个SRAM6管单元6T-0、6T-1与6T-2的左侧的BL端相连组成局部位线LBL(LocalBL),右侧的BLB端相连组成局部位线LBLB(LocalBLB);三个SRAM6管单元6T-0、6T-1与6T-2的左端字线分别对应的接入WLP0、WLP1与WLP2,右端字线分别对应接入WLN0、WLN1与WLN2;电容C1上端与局部位线LBL相连,下端与GND相连;电容C2上端与局部位线LBLB相连,下端与GND相连;电容C3上端与全局位线GBL相连,下端与GND相连;电容C4上端与全局位线GBLB相连,下端与GND相连;开关SW1连接全局位线GBL与局部位线LBL;开关SW2连接全局位线GBLB与局部位线本文档来自技高网
...

【技术保护点】
1.一种在内存中实现带有正负数乘加的SRAM电路,其特征在于,包括:行译码模块、列译码模块、时序控制电路、字线数据控制模块、以及SRAM存储阵列;其中:/n时序控制电路与行地址译码模块、列地址译码模块以及字线控制模块连接,行译码模块与字线控制模块,列译码与字线控制模块与SRAM存储阵列相连接;/nSRAM存储阵列包含一个参考列与若干计算列,参考列与计算列都包含多个SRAM 6管单元;三个同列的SRAM 6管单元构成一个带有符号位的2位乘法计算单元;在计算前的准备阶段,时序控制模块控制行译码模块和列译码模块选中计算列的相应SRAM 6管单元,由SRAM6管单元存储被乘数,乘数则从外部输入到字线数据控制模块中,采用双字线设计,左字线连接字线信号WLP,右字线连接字线信号WLN,字线信号WLP与WLN表示乘数,根据乘数的正负来相应的开启或关闭字线信号WLP与WLN;每列SRAM单元的全局位线GBL与GBLB与列译码模块的输出端相连;通过比较计算列和参考列的全局位线电位得到最终整列的乘加结果。/n

【技术特征摘要】
1.一种在内存中实现带有正负数乘加的SRAM电路,其特征在于,包括:行译码模块、列译码模块、时序控制电路、字线数据控制模块、以及SRAM存储阵列;其中:
时序控制电路与行地址译码模块、列地址译码模块以及字线控制模块连接,行译码模块与字线控制模块,列译码与字线控制模块与SRAM存储阵列相连接;
SRAM存储阵列包含一个参考列与若干计算列,参考列与计算列都包含多个SRAM6管单元;三个同列的SRAM6管单元构成一个带有符号位的2位乘法计算单元;在计算前的准备阶段,时序控制模块控制行译码模块和列译码模块选中计算列的相应SRAM6管单元,由SRAM6管单元存储被乘数,乘数则从外部输入到字线数据控制模块中,采用双字线设计,左字线连接字线信号WLP,右字线连接字线信号WLN,字线信号WLP与WLN表示乘数,根据乘数的正负来相应的开启或关闭字线信号WLP与WLN;每列SRAM单元的全局位线GBL与GBLB与列译码模块的输出端相连;通过比较计算列和参考列的全局位线电位得到最终整列的乘加结果。


2.根据权利要求1所述的一种在内存中实现带有正负数乘加的SRAM电路,其特征在于,一个带有符号位的2位乘法计算单元包括:三个SRAM6管单元6T-0、6T-1与6T-2,两个传输门构成的开关SW1和SW2,以及四个电容C1、C2、C3与C4;
三个SRAM6管单元6T-0、6T-1与6T-2的左侧的BL端相连组成局部位线LBL,右侧的BLB端相连组成局部位线LBLB;三个SRAM6管单元6T-0、6T-1与6T-2的左端字线分别对应的接入WLP0、WLP1与WLP2,右端字线分别对应接入WLN0、WLN1与WLN2;
电容C1上端与局部位线LBL相连,下端与GND相连;电容C2上端与局部位线LBLB相连,下端与GND相连;电容C3上端与全局位线GBL相连,下端与GND相连;电容C4上端与全局位线GBLB相连,下端与GND相连;
开关SW1连接全局位线GBL与局部位线LBL;开关SW2连接全局位线GBLB与局部位线LBLB。


3.根据权利要求2所述的一种在内存中实现带有正负数乘加的SRAM电路,其特征在于,每一计算列开始计算前,关闭2位乘法计算单元中的局部位线与计算列全局位线的开关SW1和SW2,使得每个2位乘法计算单元单独计算;
被乘数的符号位...

【专利技术属性】
技术研发人员:蔺智挺陈中伟彭春雨卢文娟黎轩吴秀龙陈军宁
申请(专利权)人:安徽大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1