086、NPU的模拟计算:基于忆阻器的NPU
上周调试一块混合信号NPU原型板,示波器捕捉到一个诡异的波形——权重更新时电流曲线出现阶梯状跳变,像极了数字电路里的毛刺,但频率又低得离谱。我盯着屏幕看了半小时,最后发现是忆阻器阵列的写入脉冲宽度没对齐。这玩意儿跟传统CMOS完全不是一个脾气,你没法用“写0写1”的思维去理解它。
从电阻到记忆:忆阻器到底是个什么鬼
先别被“忆阻器”这个高大上的名字唬住。1971年蔡少棠就预言了第四种基本电路元件,直到2008年惠普实验室才真正造出来。它的核心特性很简单:电阻值会随流过电荷的历史改变,断电后还不消失。听起来像Flash?不,Flash是电荷存储,忆阻器是阻态存储,物理机制完全不同。
我手头这块测试芯片用的是TaOx材料,两端结构,中间氧空位浓度变化决定阻值。打个比方:就像一条水管,水流大了会把泥沙冲走(阻值降低),水流小了泥沙又沉淀回来(阻值升高)。关键是你得控制好“水流”的力度和时长。
实际调试中踩过最大的坑:别把忆阻器当电阻用。普通电阻你加个电压测电流就行,忆阻器你加个直流偏置,它自己就慢慢变阻值了。第一次上电时我测IV曲线,结果每次扫描结果都不一样,还以为是板子坏了。
模拟计算的本质:基尔霍夫定律的暴力美学
NPU为什么要用忆阻器?因为矩阵乘法太适合模拟域实现了。想象一个交叉阵列,横线是输入电压,竖线是输出电流,交叉点放个忆阻器。根据欧姆定律,每个节点的电流就是电压乘以电导。再根据基尔霍夫电流定律,竖线上汇总的电流就是所有