4、模拟存内计算:基于RRAM的模拟计算原理、电流求和与权重映射、ADC/DAC接口设计

各位同学,今天我们来聊聊模拟存内计算。说实话,这个方向我研究了快十年。从最早在实验室里搭分立器件验证,到后来真正流片做测试,踩过的坑真不少。但模拟存内计算的价值,值得我们去深挖。

4.1 基于RRAM的模拟计算原理

RRAM,也就是阻变存储器。它的核心特性很简单——电阻值可以连续变化。你想想看,一个器件能存数据,还能同时做乘法,这不就是存算一体最理想的载体吗?

我习惯把RRAM的模拟计算拆成三步理解:

  1. 权重存储:通过调节RRAM的电阻状态,把神经网络的权重存进去
  2. 输入调制:输入信号以电压形式施加在RRAM两端
  3. 电流输出:根据欧姆定律 I = V/R,输出电流就是输入电压和权重的乘积

说白了,一个RRAM单元就是一个模拟乘法器。这在数字电路里需要几十个门才能实现,但在模拟域里,一个器件就搞定了。

核心公式:

Iout = Vin × GRRAM

其中 GRRAM = 1/RRRAM,代表电导值

我在项目中遇到过一个问题:RRAM的电导值并不是完全线性的。写操作时,你希望它从1μS变到10μS,但实际可能只到了8μS。嗯,这里要注意,非理想特性是模拟计算最大的敌人。

4.2 电流求和与权重映射

单个RRAM做乘法没问题,但神经网络需要的是向量-矩阵乘法。怎么做?把多个RRAM的电流在一条线上加起来。

这就是基尔霍夫电流定律的应用。每个RRAM的输出电流,通过位线(Bit Line)汇聚到一起,自然就完成了求和操作。

避坑指南:

我曾经在设计8×8的阵列时,忽略了位线上的寄生电阻。结果测出来的电流和理论值差了15%。后来我学乖了,大阵列一定要做IR Drop仿真,否则流片回来哭都来不及。

权重映射这块,我建议用差分对结构。为什么?因为RRAM的电导值不能为负,但神经网络的权重有正有负。解决办法是用两个RRAM组成一对:

  • 正权重:G+ - G- > 0
  • 负权重:G+ - G- < 0
  • 零权重:G+ = G-

你想想看,这样每个权重需要两个RRAM,面积翻倍了。但换来的是正负权重的完整表达能力,值不值?我个人觉得值。

下面这张图展示了典型的RRAM存内计算阵列结构:

RRAM存内计算阵列结构图 输入电压 V1 V2 V3 V4 R R R R R R R R R R R R R R R R R R R R I1 I2 I3 I4 ADC 模数转换器 数字输出 → 处理器 字线 (Word Line) 位线 (Bit Line) RRAM单元 电流求和输出 ADC转换

4.3 ADC/DAC接口设计

模拟计算做完,结果还是电流信号。要跟数字处理器通信,必须经过模数转换。这里有个大问题——ADC的功耗和面积。

我做过一个统计,在典型的存内计算芯片中,ADC占了总功耗的40%~60%。你想想看,本来用模拟计算省下来的功耗,全被ADC吃回去了。

ADC类型 分辨率 功耗 面积 适用场景
Flash ADC 4-6 bit 高 大 高速,低精度
SAR ADC 8-12 bit 中 中 通用,最常用
Sigma-Delta ADC 12-16 bit 低 小 高精度,低速
时间域ADC 6-8 bit 极低 极小 新兴,有潜力

我个人习惯用SAR ADC。为什么?因为它在功耗、面积和精度之间取得了最好的平衡。8位SAR ADC在28nm工艺下,单通道功耗能做到50μW左右,面积不到0.01mm²。

注意:

DAC的设计同样重要。输入信号需要从数字域转换到模拟电压域,才能驱动RRAM阵列。我建议使用电阻串DAC,虽然面积大一点,但线性度好,不容易出问题。

这里分享一个我踩过的坑。有一次做8位精度的设计,我选了6位的ADC,想着反正神经网络对精度不敏感。结果测试时发现,量化噪声把网络精度从95%直接拉到了82%。后来我总结了一个经验公式:

ADC精度选择建议:

ADC位数 ≥ 权重精度位数 + 2

例如:权重用6位表示,ADC至少选8位

DAC这边,我建议用分段式结构。高位用电阻串,低位用R-2R网络。这样面积和精度都能兼顾。

嗯,最后说一句。模拟存内计算不是万能的。它擅长的是大规模并行乘累加,但如果你需要高精度或者频繁更新权重,数字方案可能更合适。选型的时候,一定要想清楚自己的应用场景。

好了,这一讲的内容就到这里。记住,RRAM的模拟计算核心就是用物理定律做数学运算——欧姆定律做乘法,基尔霍夫定律做加法。理解了这个,你就抓住了模拟存内计算的精髓。

个人经验总结:

做模拟存内计算设计,我建议按这个顺序来:

  1. 先确定精度需求(决定ADC/DAC位数)
  2. 再设计RRAM阵列规模(决定计算吞吐量)
  3. 最后优化接口电路(降低功耗和面积)

千万别反过来做,否则你会像我一样,改版改到怀疑人生。

可可精品资料库