DS-CIM: A 40nm Asynchronous Dual-SpikeDriven, MRAM Compute-In-MemoryMacro for Spiking Neural Network
引言
研究背景
物联网(IoT)设备的普及对边缘计算提出了低能耗、高吞吐量的需求。
传统冯诺依曼架构因“存储墙”和“功耗墙”限制,难以满足这些要求。
内存计算(Compute-In-Memory, CIM)通过在内存阵列中直接处理数据,显著提升了计算效率和能效。
存在的问题
器件问题:传统非易失性存储器(如ReRAM)在随机性、能耗和耐久性等方面的权衡。
电路问题:模数转换器(ADC)和数模转换器(DAC)导致的高能耗和延迟。
编码问题:神经网络中的速率编码引发的带宽和能量消耗问题。
研究目标
设计基于MRAM的异步神经形态内存计算宏单元(DS-CIM)。
引入双脉冲编码方案以降低功耗、提升效率。
双脉冲驱动CIM宏单元的原理
1 双脉冲编码方案
将信息编码为两个脉冲的时间间隔与顺序,保留时间和强度信息。
相较于传统速率编码,双脉冲编码减少了脉冲数量,降低能耗和延迟。
2 MRAM器件特点
使用基于CoFeB/MgO/CoFeB结构的SOT-MRAM,厚度增加的MgO层降低了读取电流。
测试结果显示,在0.1V读取电压下,平行电阻为58.19kΩ,反平行电阻为157.14kΩ。
3 DS-CIM宏单元架构
包含AER模块(地址事件表示)、脉冲驱动器、MRAM子阵列、读取电路、预处理电路和神经元模块。
信息以双脉冲形式输入,经过向量矩阵运算后输出用于下一层。
DS-CIM神经元的工作流程
1 预尖峰生成
电容C1积累输入电流,当电压超过阈值Vth1时,生成预尖峰。
通过异步握手逻辑重置C1,并向后续电路传递尖峰信号。
2 后尖峰生成
电容C2积累剩余电流,当电压超过阈值Vth2时,生成后尖峰。
双尖峰间隔编码信息的强度,并驱动下一层。
仿真与实用性分析
1 MRAM特性
电阻的高斯分布变化会影响读取精度。
网络训练中模拟这种变化以提高鲁棒性。
2 非线性补偿
当前镜失配、非线性I-V特性等导致的非线性被建模并在训练中补偿。
考虑了寄生效应和电容泄漏,确保实际精度不受影响。
性能评估
1 能量效率
在MNIST、Fashion-MNIST等数据集上,每样本能耗分别为8.06nJ、69.07nJ。
与其他设计相比,DS-CIM实现了更低的能耗和更高的能效。
2 准确性
在MNIST上准确率为96.99%,在IBM DVS手势识别上为90.00%,均达到领先水平。
3 延迟与带宽
双脉冲编码减少脉冲数量,降低带宽需求。
由于采用异步电路设计,无需等待时钟信号,延迟显著降低。
4 面积性能
使用40nm工艺,512×512 MRAM阵列占用面积约12.2MF²。
ADC-free设计进一步降低了面积和功耗。
结论
DS-CIM通过设备、电路和算法的协同设计,实现了超低功耗和高精度。
双脉冲编码在神经形态计算中展示了优越性,尤其适用于能效敏感的边缘设备。
未来可进一步探索专用训练算法及片上学习技术。
评论区