存储器内计算电路的制作方法
- 国知局
- 2024-07-31 19:21:32
实施例涉及利用静态随机存取存储器(sram)阵列的存储器内计算电路,并且具体地,涉及具有基于加权电流的本地计算读取的阵列的分段架构。
背景技术:
1、参考图1,图1示出了存储器内计算电路10的示意图。电路10利用静态随机存取存储器(sram)阵列12,其由以具有n行和m列的矩阵格式布置的标准6t sram存储器单元14形成。作为替换,可以使用具有类似功能和拓扑的标准8t存储单元或sram。每个存储器单元14被编程为存储用于存储器内计算操作的计算权重或内核数据的位。在此上下文中,存储器内计算操作被理解为支持存储在存储器的多位单元中的多位权重的高维矩阵向量乘法(mvm)的形式。位单元组(在多位权重的情况下)可以被认为是虚拟突触元素。计算权重的每一位具有逻辑“1”或逻辑“0”值。
2、每个sram单元14包括字线wl和一对互补位线blt和blc。8t型sram单元还包括读字线rwl和读位线blr。矩阵的公共行中的单元14通过公共字线wl(以及通过8t型实现中的公共读字线rwl)彼此连接。矩阵的公共列中的单元14通过一对公共互补位线blt和blc(以及通过8t型实现中的公共读位线blr)彼此连接。每一字线wl,rwl由字线驱动器电路16驱动,所述字线驱动器电路16可实施为cmos驱动器电路(例如,形成逻辑反相器电路的串联连接的p沟道和n沟道mosfet晶体管对)。施加到字线且由字线驱动器电路16驱动的字线信号由输入到存储器内计算电路10的特征数据产生且由行控制器电路18控制。列处理电路20感测m列的互补位线对blt和blc上(和/或读取位线blr上)的模拟电流信号,并从这些模拟电流信号产生用于存储器内计算操作的决策输出。列处理电路20可以被实现为支持这样的处理,其中列上的模拟电流信号首先被单独处理,然后接着是多个列输出的重新组合。
3、尽管未在图1中明确示出,但是应当理解,电路10还包括本领域技术人员已知的常规行解码,列解码和读写电路,用于将计算权重的位写入存储器阵列12的sram单元14,以及从存储器阵列12的sram单元14读取计算权重的位。
4、现在参考图2,每个存储单元14包括两个交叉耦合的cmos反相器22和24,每个反相器包括串联连接的p沟道和n沟道mosfet晶体管对。反相器22和24的输入和输出被耦合以形成锁存电路,该锁存电路具有存储所存储数据位的互补逻辑状态的真数据存储节点qt和互补数据存储节点qc。单元14还包括两个转移(传输门)晶体管26和28,其栅极端子由字线wl驱动。晶体管26的源极-漏极路径连接在真数据存储节点qt和与真位线blt相关联的节点之间。晶体管28的源极-漏极路径连接在互补数据存储节点qc和与互补位线blc相关联的节点之间。每一反相器22和24中的p沟道晶体管30和32的源极端子经耦合以在高电源节点处接收高电源电压(例如,vdd),而每一反相器22和24中的n沟道晶体管34和36的源极端子经耦合以在低电源节点处接收低电源电压(例如,接地(gnd)参考)。虽然图2专门针对6t型单元的使用,但是本领域技术人员将认识到,8t型单元被类似地配置,并且将进一步包括耦合到存储节点之一的信号路径,并且包括耦合到读取位线blr和由读取字线rwl上的信号驱动的栅极的转移(传输门)晶体管。字线驱动器电路16还通常经耦合以在高电源节点处接收高电源电压(vdd)且参考低电源节点处的低电源电压(gnd)。
5、行控制器电路18接收用于存储器内计算操作的特征数据,并且响应于此而执行选择字线wl<0>到wl<n-1>中的哪些字线将在存储器内计算操作期间被并行地同时访问(或致动)的功能,以及根据该存储器内计算操作来控制将脉冲信号施加到字线的功能。仅作为示例,图1示出了利用脉冲字线信号同时致动所有n条字线,应当理解,存储器内计算操作可以替代地利用少于sram阵列的所有行的同时致动。给定互补位线对blt和blc上(或8t型实施方案中的读取位线rbl上)的模拟信号取决于存储在对应列的存储器单元14中的计算权重的位的逻辑状态和施加到那些存储器单元14的脉冲字线信号的宽度。
6、图1所示的实现方式示出了用于所施加的字线信号的脉宽调制(pwm)形式的示例,所述字线信号用于取决于所接收的特征数据的存储器内计算操作。对所施加的字线信号使用pwm或周期脉冲调制(ptm)是用于基于乘累加(mac)操作的向量的线性度的存储器内计算操作的常用技术。脉冲字线信号格式可以进一步发展为编码脉冲序列,以管理存储器内计算操作的特征数据的块稀疏性。因此,应认识到,当同时驱动多个字线时,可使用用于所施加的字线信号的任意组的编码方案。此外,在更简单的实施方案中,应了解的是,在同时致动中所施加的所有字线信号可替代地具有相同的脉冲宽度。
7、图3是时序图,示出了对于给定的存储器内计算操作,示例性脉宽调制字线信号同时施加到sram阵列12中的多行存储器单元14,以及响应于由于那些字线信号的脉冲宽度和存储在存储器单元14中的计算权重的位的逻辑状态而引起的单元读取电流的下降,分别在一对相应的互补位线blt和blc上的电压va,t和va,c随时间的发展。如图所示的电压va电平的表示仅仅是一个示例。在完成存储器内计算操作的计算周期之后,电压va电平返回到位线预充电vdd电平。应注意,存在位线blt和blc中的至少一者上的电压可能从vdd电压下降到低于写入容限的电平的风险,其中相对于列的存储器单元14中的一者中的所存储数据位值发生不需要的数据翻转。例如,存储在列的单元14中的逻辑“1”状态可以被翻转为逻辑“0”状态。这种数据翻转在存储在存储单元中的计算权重中引入了数据误差,从而危及随后的存储器内计算操作的准确性。
8、由于过量的位线电压降低而发生的不希望的数据翻转主要是在存储器内计算操作期间在矩阵向量乘法模式中字线的同时并行存取的影响。由于当位线接近电源电压vdd的电平时在串行位单元存取中发生的静态噪声裕度(snm)问题,该问题不同于sram位单元的正常数据翻转。在串行存取期间,正常数据翻转改为由数据存储节点qt或qc的接地反弹引起。
技术实现思路
1、在实施例中,存储器内计算电路包括:一种包括多个子阵列的存储器阵列,其中每个子阵列包括以具有多行和多列的矩阵布置的静态随机存取存储器(sram)单元,每行包括连接到该行的sram单元的字线,并且每列包括连接到该列的sram单元的位线,所述sram单元存储用于存储器内计算操作的权重数据位;用于每一行的字线驱动器电路,其具有被连接以驱动所述行的字线的输出;以及行控制器电路,其被配置为通过经由所述字线驱动器电路向所述字线施加脉冲来同时致动每个子阵列的至少一个字线,以用于所述存储器内计算操作。
2、用于每个子阵列的计算贴片电路包括分别耦合到子阵列的列的位线的多个列计算电路。每一列计算电路包括:开关计时电路,所述开关计时电路响应于所述位线上的所述权重数据的第一逻辑状态而被致动持续由用于所述存储器内计算操作的使能信号设置的持续时间;电流数模转换器(i-dac),所述电流数模转换器(i-dac)由所述开关计时电路的致动供电,并且被配置为生成漏极电流,所述漏极电流具有由用于所述存储器内计算操作的特征数据的位控制的幅度;以及积分电路,其被配置为对所述漏极电流进行积分并生成输出电压。
本文地址:https://www.jishuxx.com/zhuanli/20240731/182389.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表