1. 项目概述在边缘人工智能的战场上能效和面积是决定一个硬件方案能否落地的生死线。传统的冯·诺依曼架构在处理深度神经网络时数据在存储器和处理器之间来回搬运能耗巨大速度也上不去这成了制约边缘设备实时智能的“阿喀琉斯之踵”。存内计算Compute-in-Memory, CiM的出现就像是在数据拥堵的高速公路上直接开了条专用通道它把计算单元直接嵌入到存储阵列里让乘累加MAC这种神经网络里最核心、最频繁的操作能在数据“家门口”就地解决从而大幅削减数据搬运的开销实现能效的飞跃。为了把模型塞进资源有限的边缘芯片里量化技术是必不可少的“瘦身术”。其中三元权重神经网络TWN把权重压缩到{-1, 0, 1}三个值在几乎不损失精度的前提下极大地降低了模型对存储和计算资源的需求成了边缘AI的宠儿。把TWN和CiM结合起来再配上像铁电晶体管FeFET这样天生适合做多态存储的新兴存储器听起来就是个“天作之合”。FeFET利用铁电材料的极化状态来存储数据不仅能非易失地保存信息还能通过调节栅压呈现出多个稳定的电导状态正好可以用来映射三元权重。理想很丰满但现实是当工艺尺寸微缩到7纳米甚至更小时硬件非理想性这个“魔鬼”就跳出来了。芯片内部的导线不再是理想的导体它们有电阻。当CiM阵列中成百上千个单元同时被激活电流在细如发丝的金属线上累积产生的IR压降会让晶体管两端的实际电压偏离预设值最终导致计算电流出错推理精度一落千丈。这就引出了一个核心矛盾为了高密度我们想用单个FeFET存三个状态1.58位但为了对抗非理想性带来的干扰业界又倾向于用两个FeFET2T组成差分对通过共模噪声抵消来提升鲁棒性代价就是面积翻倍。那么有没有可能“鱼与熊掌兼得”这篇文章的核心就是探索并回答这个问题我们能否通过算法和架构的协同设计让高密度的1.58位1T-FeFET设计在严苛的硬件非理想性下依然坚如磐石答案是肯定的关键就在于我们提出的权重-输入变换WIT技术。这不是简单的修修补补而是一种从数据分布层面重塑计算负载从而从根本上削弱非理想效应影响的系统级思路。1.1 核心思路拆解从“硬扛”到“智取”面对硬件非理想性传统的思路多在电路层面“硬扛”比如采用更复杂的差分结构、优化偏置点、或者使用部分字线激活来减少同时工作的单元数。这些方法有效但往往以牺牲面积、能耗或速度为代价。我们的思路另辟蹊径转向算法和数据的“智取”。我们观察到非理想电流偏差是输出列电流的超线性函数。也就是说一个CiM阵列列输出的总和越大IR压降导致的误差就越是指数级增长。而标准的1T设计因为其权重映射0, 1, 2和全字线激活FWA策略很容易产生较大的列输出值从而成为非理想性的“重灾区”。因此WIT技术的核心目标非常明确想尽一切办法把CiM阵列每一列的累加输出即列和给“压”下去让它分布在一个更小、更集中的范围内。这样即使存在非理想性其造成的绝对误差也会小得多。具体来说我们通过两种变换来实现静态权重变换WT在将权重部署到硬件之前在软件端对每一列权重进行“翻转”。如果某一列中权重“2”的数量多于“0”我们就把这一列的所有权重进行变换2变00变21保持不变。这能确保变换后该列的理论最大输出值从128降至64。权重-输入变换WIT在WT的基础上在推理运行时动态地对输入向量进行判断和翻转。如果输入向量中“1”的数量过半就将其翻转1变00变1。这进一步压缩了列和的分布。这两种变换的本质是利用了乘法的结合律和分配律在数学上等价但在硬件上却把大数值的乘法累加转换成了小数值的运算加上一些轻量级的后处理加法和减法。后处理的成本远低于因大电流导致的精度崩塌。接下来我们将深入硬件细节看看FeFET的特性、三种阵列设计以及WIT是如何在刀尖上跳舞实现精度、面积和能耗的完美平衡。2. 硬件基石深入理解FeFET与三种CiM阵列设计要实现一个可靠的CiM系统不能只停留在算法层面必须深入到器件和电路。FeFET的行为特别是其在先进工艺下的独特性质以及不同阵列架构的权衡是理解整个方案的基础。2.1 FeFET的多域物理与饱和区低灵敏度特性我们使用的FeFET基于FinFET结构在栅叠层中集成了5纳米厚的Hf₀.₅Zr₀.₅O₂HZO铁电薄膜。它的工作原理是利用铁电材料的极化方向来调制晶体管的阈值电压从而实现不同的导通状态。这里有一个容易被忽略但至关重要的细节FeFET在饱和区的电流灵敏度低于普通晶体管。这得益于铁电材料中多畴极化的形成。铁电体为了最小化退极化场会自发形成多个极化方向相反的畴。这些畴沿着沟道方向产生电势的起伏像波浪一样这种起伏有效地屏蔽了漏端电场对源端势垒的穿透。结果就是当漏源电压VDS因IR压降而波动时FeFET的饱和区电流ID变化更平缓。注意这一点极其关键。许多简化的FeFET电路兼容模型是将铁电电容模型和晶体管模型简单耦合无法捕捉这种多域效应带来的饱和区电流“硬化”特性。如果使用这类模型会高估IR压降对电流的影响从而悲观地预测CiM的鲁棒性。在我们的工作中我们直接采用基于相场模型的仿真数据来构建查找表确保了评估的准确性。基于这一特性我们将CiM的操作点设定在VGS0.4V VDS0.6V。这个点位于饱和区既能获得合适的导通电流约几微安量级又充分利用了FeFET对VDS变化相对不敏感的优势为对抗阵列中的IR压降奠定了物理基础。2.2 三种CiM阵列架构的对比与权衡基于FeFET我们设计了三种不同的CiM单元Bitcell来支持三元权重它们代表了密度、鲁棒性和设计复杂性之间的不同取舍。2.2.1 1T 1.58位设计极致的密度追求这是最紧凑的设计单个FeFET存储三个电导状态HRS, INT, LRS来对应权重{0, 1, 2}。字线WL施加输入电压0或VGS电流从位线BL流向传感线SL或反之。其布局面积仅为约0.00518 µm²。工作原理权重在部署前从{-1, 0, 1}域转换到{0, 1, 2}域W‘ W 1。推理时采用全字线激活FWA所有64行同时工作电流在SL上累积。最终的MAC结果需要通过后处理从CiM输出中减去所有输入的和ΣIn。公式为Σ (In * W) CiM输出 - Σ In。优势与挑战优势无疑是面积最小。但挑战也最大。首先其列输出范围是0到12864行 * 最大权重2分布较宽尾部有大量高值如前所述这使其对IR压降异常敏感。其次单个器件存储三态其相邻状态间的电流差区分度可能不如两个二进制器件抗噪声能力更弱。2.2.2 2T差分设计稳健性的典范采用两个1位FeFET构成一个差分对。两个晶体管的栅极连接同一WL但源漏分别连接BL/SL和BLB/SLB。通过编程两个FeFET的状态ON/OFF组合来表示权重{-1, 0, 1}。布局面积约为0.01036 µm²是1T设计的两倍。工作原理同样采用FWA。电流分别在SL和SLB上累积然后经过两个ADC数字化后再由一个数字减法器执行 SL输出 - SLB输出得到最终结果。优势与挑战其核心优势是共模噪声抑制。许多非理想效应如电源噪声、部分共模的IR压降会同时影响SL和SLB路径在减法过程中被抵消。此外每个分支的列输出范围仅为0-64分布更集中。因此它的鲁棒性最强。代价是面积翻倍且需要两个ADC和一个减法器。2.2.3 2T上拉/下拉设计模拟减法的尝试这个设计试图在阵列内部完成模拟减法从而省去后级的数字减法器。它使用一个P型FeFET作为上拉支路一个N型FeFET作为下拉支路。通过精心设置BL、SL、BLB的偏置电压以及WL、WLB的输入电压使得当存储相同权重时上下支路的电流匹配。工作原理理想情况下输出电流ISL I_pull-up - I_pull-down直接反映了带符号的权重。布局面积最大约0.0155 µm²。优势与挑战优势是节省了一个数字减法器。但挑战极为严峻。首先其布局高度是其他设计的2倍导致垂直方向BL/SL/BLB的导线寄生电阻更大IR压降更严重。其次对称性极其脆弱。任何导致SL电压偏离理想偏置点0.6V的IR压降都会同时以相反方向影响上下支路电流SL电压升高上拉电流减小下拉电流增大导致输出电流产生加倍的误差。因此即使采用FWA其精度也惨不忍睹。为了补救我们不得不采用部分字线激活PWA一次激活32行这虽然将精度提升到了可接受的水平但代价是计算延迟翻倍。下表总结了三种设计的关键特性对比特性1T 1.58位设计2T差分设计2T上拉/下拉设计核心思想单管多态极致密度双管差分共模抑制双管模拟减省数字电路权重映射{0, 1, 2}{-1, 0, 1}{-1, 0, 1}单元面积~0.00518 µm² (1x)~0.01036 µm² (2x)~0.0155 µm² (~3x)激活方式全字线激活全字线激活部分字线激活(32)输出处理需减ΣIn需数字减法(SL - SLB)直接输出无需减法最大列输出12864 (每分支)±64 (FWA), ±32 (PWA)鲁棒性关键对IR压降非常敏感高共模噪声抑制低对称性易被破坏主要挑战列和分布宽误差大面积大外围电路多寄生电阻大对称性要求苛刻从对比中可以清晰看出1T设计在密度上具有压倒性优势但鲁棒性是它的“命门”。而2T差分设计用面积换来了稳健。我们的目标就是通过WIT技术为1T设计装上“鲁棒性”的铠甲。3. 核心创新权重-输入变换的原理与实现WIT不是一种电路技巧而是一种算法-硬件协同优化的策略。它的出发点基于一个深刻的观察在CiM中非理想性引起的误差不是均匀的而是随着列输出电流的增大而急剧恶化。因此优化目标从“降低每个单元的误差”转变为“降低整个列输出值的规模”。3.1 静态权重变换列级别的“瘦身”在将训练好的TWN模型权重映射到CiM阵列之前我们对每个权重子矩阵的列进行预处理。操作步骤对于权重矩阵的每一列计算其变换后的权重和 ΣW‘其中W’ ∈ {0,1,2})。如果 ΣW‘ 行数/2对于64x64阵列即32则说明这一列中“2”的数量可能多于“0”注意因为权重还有“1”所以是“可能”而非绝对但这是一个有效的启发式规则。此时我们对该列执行变换存储(2 - W‘)到硬件中而不是原来的W‘。这意味着原来的权重“2”被存储为“0”原来的权重“0”被存储为“2”原来的权重“1”保持不变因为2-11用一个额外的寄存器column_transform记录每一列是否被变换1表示已变换0表示未变换。数学原理 假设原始运算为 Σ(In * W)。其中 W W‘ - 1。 对于变换列硬件实际计算的是 Σ[In * (2 - W‘)]。 推导过程Σ[In * (2 - W‘)] 2ΣIn - Σ(In * W‘) 2ΣIn - Σ[In * (W 1)] 2ΣIn - ΣIn - Σ(In * W) ΣIn - Σ(In * W)因此要得到原始的 Σ(In * W)只需执行Σ(In * W) ΣIn - CiM_Output。效果这个变换确保了一个关键性质——变换后该列的权重和最大值不会超过行数N。对于64x64阵列最大列输出从128被限制到了64。这直接砍掉了分布中“长尾”的高值部分大幅降低了最易出错的列的比例。3.2 动态输入变换行级别的“平衡”WT是在部署前完成的静态优化。WIT则在此基础上增加了运行时对输入向量的动态判断和变换。操作步骤在推理过程中对于每个要输入到CiM阵列的行向量长度为64计算其中“1”的数量 ΣIn。如果 ΣIn 行数/2即32则说明该输入向量中“1”过多。我们将其翻转将In替换为(1 - In)输入到阵列。即原来的输入“1”变为“0”原来的输入“0”变为“1”用一个寄存器input_transform记录每一行输入是否被变换。数学原理 硬件计算的是 Σ[(1 - In) * W‘]。 推导过程Σ[(1 - In) * W‘] ΣW‘ - Σ(In * W‘) Σ(W1) - Σ[In*(W1)] ΣW N - ΣIn - Σ(In * W)因此要得到原始的 Σ(In * W)需要执行Σ(In * W) ΣW N - ΣIn - CiM_Output。 其中ΣW列原始权重和和 N行数可以预先计算并存储。双重效果直接效果将“活跃”输入为1的行数过多的情况翻转使得实际激活的单元数减少降低了列电流。与WT的协同WT减少了列中权重“2”的数量WIT减少了行中输入“1”的数量。两者共同作用极大地降低了出现“高权重”遇上“高输入”这种产生极大列输出组合的概率。3.3 变换效果的直观展示与系统影响经过WIT处理后1T设计的列输出分布发生了根本性变化。如下图所示概念示意原始分布的“长尾”被彻底消除所有列输出都被压缩在0-64的范围内其分布形状变得与2T差分设计相似。后处理开销 WIT确实引入了额外的计算WT需要存储column_transform向量并在后处理中根据其值选择使用CiM_Output - ΣIn或ΣIn - CiM_Output。这需要一个条件选择逻辑如多路复用器和一个减法器。ΣIn的计算需要一个加法树但这个加法树可以被多个交叉阵列共享以分摊成本。WIT除了上述开销还需要在运行时计算每个输入向量的ΣIn这增加了关键路径的延迟。此外还需要预先存储每一列的ΣW。关键取舍 WIT带来的精度提升与输入数据的稀疏性密切相关。在我们的实验中CIFAR1004位激活输入本身就很稀疏0多1少因此WT献了主要的精度提升WIT带来的额外增益很小。但在输入稀疏性不高的网络如某些二进制神经网络中动态输入变换的价值会大大增加。设计者需要根据目标工作负载的特点在“仅WT”和“完整WIT”之间权衡平衡精度、面积和延迟。4. 仿真验证与结果分析WIT如何扭转战局理论再完美也需要实验的验证。我们构建了一个从器件物理到系统精度的全栈仿真框架来公正地评估三种设计以及WIT技术的效果。4.1 跨层级仿真框架搭建我们的评估不是简单的行为级模拟而是一个充分考虑硬件非理想性的闭环仿真器件层使用二维相场模型仿真FeFET精确获取其电流-电压特性查找表包含了多域效应导致的饱和区低灵敏度特性。电路层基于PythonPyTorch环境开发了定制化的CiM阵列求解器。这个求解器会根据阵列中每个单元的存储状态权重和输入电压从FeFET LUT中获取其电流。自洽地求解基尔霍夫电压/电流定律KVL/KCL将BL/SL/WL上的寄生电阻建模为分布式的电阻网络。采用迭代法计算根据初始假设的节点电压查电流再根据电流和电阻网络更新节点电压如此迭代直至收敛。这精确模拟了IR压降对每个晶体管工作点的真实影响。系统层将上述非理想CiM阵列模拟器集成到TWN推理流程中。将ResNet18在CIFAR100数据集上训练得到的权重映射到模拟的CiM阵列上输入测试图片得到最终的分类精度。这个框架已通过SPICE仿真验证最大误差小于0.3%保证了评估的可靠性。4.2 推理精度对比从崩溃到可比肩我们对ResNet18 TWN在CIFAR100上的推理精度进行了仿真结果令人印象深刻软件基线77.3%浮点精度。2T差分设计达到了76.4%的精度仅比软件基线下降0.9%。这验证了差分结构强大的抗干扰能力。2T上拉/下拉设计 (FWA)精度暴跌至22.3%证实了其对称性在非理想性下的脆弱。2T上拉/下拉设计 (PWA of 32)通过牺牲一半速度延迟翻倍精度恢复至71.3%。标准1T设计 (无WIT)精度仅为19.9%高列输出导致的严重非理想性使其几乎失效。1T设计 WT精度跃升至73.4%。1T设计 WIT精度进一步提升至73.61%。结论WIT技术将1T设计的精度从崩溃的边缘19.9%拯救回来提升到了与最稳健的2T差分设计76.4%仅相差约3个百分点的水平。这是一个质的飞跃。4.3 面积与能耗分析密度优势转化为系统级收益精度上去了那么1T设计的面积和能耗优势是否还在我们对包含所有外围电路ADC、减法器、加法树、多路复用器等的宏模块进行了整体评估面积2T差分设计需要两个6位ADC/列和一个7位减法器面积最大。2T上拉/下拉设计虽然阵列面积最大但只需一个7位ADC/列且无需减法器总面积略低于2T差分。1T-WIT设计阵列面积最小且得益于WIT将列和限制在64以内仅需一个6位ADC/列。加上必要的后处理逻辑加法树、减法器、多路复用器后其总面积相比2T差分设计减少了1.98倍。CiM能耗 CiM能耗主要来自阵列本身的动态功耗。1T设计单元数少导线电容更小且WIT降低了平均列电流从而减少了IR压降和总功耗。最终1T-WIT的CiM能耗相比2T差分设计降低了1.91倍。实操心得在评估CiM方案时绝不能只看单元面积。外围电路尤其是高精度ADC的面积和功耗常常占主导地位。WIT的精妙之处在于它通过算法变换降低了信号的动态范围从而允许我们使用位数更少、更节能的ADC从系统层面放大了1T设计的密度优势。5. 设计考量、挑战与扩展讨论将WIT技术应用于实际的FeFET-CiM芯片设计还需要考虑一系列工程细节和潜在挑战。5.1 ADC精度与量化步长的选择ADC是CiM系统中的功耗和面积大户其精度位数和参考电平的设置至关重要。1T设计量化步长I_quant设置为中间状态电流I_INT(2.32 µA)。因为输出范围是0-64需要6位ADC2^664。2T差分设计每个分支的量化步长设置为I_LRS(4.47 µA)输出范围0-64同样需要6位ADC但需要两个。2T上拉/下拉设计量化步长设置为I_LRS - I_HRS(约2.16 µA)输出范围-32到32PWA需要7位ADC包含符号位。WIT通过压缩动态范围使得1T设计可以使用更低精度的ADC这是其能效优势的重要来源。在实际设计中需要根据工艺角下的电流波动来优化量化电平并在精度和ADC复杂度之间折衷。5.2 工艺波动与器件差异的影响在实际芯片中FeFET的阈值电压、铁电矫顽场等参数会存在工艺波动Process Variation和器件间的差异Device Mismatch。这会导致状态电流漂移同一个权重状态如“1”在不同单元中对应的电流可能不同。状态区分度下降不同权重状态如“1”和“2”之间的电流差可能变小。WIT的辅助作用WIT主要对抗的是系统性的、与电流幅值相关的非理想性如IR压降。对于随机的器件差异WIT本身无法直接消除。但WIT通过降低工作电流间接带来一个好处在更低的电流水平下某些非线性效应可能减弱。然而要应对器件差异通常还需要结合其他技术如写-验证Write-Verify在编程权重时进行多次验证确保每个单元被精确写入目标状态。片上校准在芯片启动时测量关键路径的电流对ADC参考电平或输入电压进行微调。冗余设计与错误校正码对于关键权重可以采用冗余存储。5.3 扩展到更大规模网络与更低位宽本文工作基于64x64的交叉阵列。对于更大的DNN模型需要将权重矩阵分割Tiling到多个这样的阵列中。WIT的扩展性WT和WIT都是列级和行级的操作可以独立应用于每个子阵列扩展性很好。跨阵列的全局求和在后处理中完成。向更低比特位宽的探索本文聚焦三元权重1.58位。WIT的思想可以推广到二进制神经网络BNN1位权重。事实上我们前期的TWINN工作正是针对BNN的。对于BNN输入变换将活跃输入多的行翻转的效果会更加显著因为其输入稀疏性可能更差。对于更高位宽的量化如4位权重WIT仍然适用但变换逻辑和硬件开销会变得更加复杂需要评估其收益成本比。5.4 与其它非理想性缓解技术的对比除了WIT业界还有其他方法对抗CiM非理想性电路级技术如[9]中使用的电流-频率转换、[10]中的计算/编程路径隔离、[13]中的权重位聚合WAGONN等。这些方法通常在电路层面增加复杂性。算法级技术如训练时感知硬件噪声、在损失函数中加入正则化项以使网络对噪声不敏感。WIT的定位WIT是一种轻量级的、训练后post-training的算法变换。它不需要重新训练模型这是其巨大优势。它通过与硬件特性的协同利用乘法分配律在几乎不增加训练复杂度的情况下实现了显著的精度提升。它可以与上述电路级或训练级技术结合使用形成多层次的防护。6. 总结与展望通过这项深入的设计空间探索我们证明了基1.58位FeFET的单晶体管CiM设计并非在密度和鲁棒性之间只能二选一的妥协方案。通过引入权重-输入变换这一巧妙的算法-硬件协同优化策略我们成功地将其从非理想性的泥潭中拉出使其推理精度达到了与稳健的2T差分设计相当的水平73.61% vs 76.4%同时实现了近2倍的面积缩减和能耗降低。这项工作给我们的启示是深远的在存内计算和边缘AI的时代器件、电路、架构、算法的协同设计不再是可选项而是必选项。WIT技术展示了一条清晰的路径——与其在电路层面艰难地对抗物理限制不如从计算本身的数据特性出发通过数学变换来规避最坏情况化被动防御为主动塑造。这种思路对于未来探索更低功耗、更高密度的CiM加速器具有重要的参考价值。未来的工作可以沿着几个方向展开一是将WIT与更先进的FeFET器件如负电容FeFET结合进一步挖掘能效潜力二是在更广泛的DNN模型和数据集上验证其普适性三是探索自动化工具链将WIT变换无缝集成到从模型训练到硬件部署的整个流程中让这项技术能够更便捷地赋能实际的AI芯片设计。