基于IMT器件的SPICE紧凑模型构建与神经形态神经元电路设计

基于IMT器件的SPICE紧凑模型构建与神经形态神经元电路设计 1. 项目概述为前沿器件搭建电路设计的“翻译官”在芯片设计的江湖里SPICE仿真器就是工程师的“数字沙盘”。我们在这个沙盘上搭建电路、推演性能最终的目标是让设计一次成功。但这个沙盘要能准确模拟现实离不开一套精准的“物理定律”——这就是器件模型。对于成熟的硅基CMOS晶体管我们有经过数十年锤炼的BSIM模型其精确度足以让我们对纳米级电路的性能了如指掌。然而当研究的触角伸向绝缘体-金属相变这类新兴器件时情况就变得棘手了。这类器件的神奇之处在于其电阻能在外部激励如电压、电流下在绝缘态高阻和金属态低阻之间发生陡峭、可逆的转变。这种特性像极了生物神经元中“积累-发放-不应期”的行为使其在构建超低功耗、高密度的神经形态计算系统时极具吸引力。但问题来了我们如何将这种复杂的物理过程“翻译”成电路仿真器能理解的语言这就是我这次要深入探讨的核心为IMT器件构建一个SPICE紧凑模型并用它来设计一个功能完整的人工神经元电路。这不仅仅是跑个仿真、出张波形图那么简单。其真正的挑战和价值在于如何用一个简洁的数学模型精准捕捉器件内部电场与焦耳热之间微妙的相互作用以及由此引发的剧烈相变。这个模型必须足够“紧凑”以便能集成到Cadence Spectre这类商用仿真工具中让电路设计师能像调用一个MOSFET模型那样轻松地用它来探索和设计基于IMT的复杂系统。本文将基于一篇经典的学术文献拆解这个模型的构建思路、Verilog-A实现细节、参数提取的实操方法并最终展示如何利用这个模型设计出一个仅需少量外围电路即可工作的集成-发放神经元。我会分享在模型调试和电路设计过程中踩过的坑、总结的经验以及对于模型局限性和未来改进方向的思考。无论你是从事新型器件建模的科研人员还是对神经形态硬件设计感兴趣的电路工程师相信这些从一线实践中沉淀下来的细节都能为你提供有价值的参考。2. IMT器件物理与建模挑战解析2.1 绝缘体-金属相变从物理现象到电路特性要为一个器件建模首先得吃透它的“脾气”。IMT器件的核心物理是Mott相变。简单类比想象一下早高峰的地铁站。在绝缘态低温或低电场下电子就像规规矩矩排队的乘客被强烈的电子-电子关联作用“锁”在各自的原子附近动弹不得电阻很高。当温度升高或施加的电场足够强时就好像突然给乘客们注入了一股能量关联作用被打破电子们变得“自由”可以快速流动器件瞬间进入低电阻的金属态。这个转变不是渐进的而是存在一个临界点如VO₂中的~340K。在临界点附近电阻会发生数个数量级的跳变并伴随显著的滞回特性从绝缘态到金属态的“开启”电压/温度和从金属态回到绝缘态的“关闭”电压/温度并不相同。这种记忆性和非线性正是其能被用作神经形态计算基本单元的基础。在实际器件中驱动相变的能量来源主要有两种观点一是纯焦耳热主导电流流过产生热量温度达到临界点后触发相变二是电场辅助的相变认为电场本身能直接调制电子能带结构降低相变能垒与热效应协同作用。目前更被广泛接受的模型是后者即一个阈值电场其值随温度升高而降低与焦耳热共同决定了相变的发生。2.2 现有建模方法的局限与我们的突破口在构建我们的SPICE模型之前学术界已有一些先驱性的工作。例如有些研究团队开发了基于有限元分析的TCAD电热仿真模型。这类模型从半导体漂移-扩散方程和热传导方程出发能非常精细地模拟器件内部的温度场和电势分布精度很高。但它的致命缺点是计算量巨大且无法直接嵌入SPICE进行电路级仿真。它更像是用于器件物理研究的“显微镜”而不是电路设计师手中的“螺丝刀”。另一些工作尝试了查表法或分段线性模型。比如预先通过实验或TCAD仿真得到一组“电阻-温度-电压”的离散数据点在仿真时通过插值来获取电阻值。这种方法在SPICE中虽然可以实现但往往导致仿真收敛困难且无法体现器件动态过程的连续性更重要的是它缺乏物理内涵难以用于推导电路设计表达式。因此我们的目标非常明确建立一个基于物理的、封闭形式的、SPICE兼容的紧凑模型。它需要满足几个硬性指标1) 能准确再现实验观测到的I-V滞回曲线和电阻-温度曲线2) 模型方程连续可导确保仿真器如Spectre的鲁棒收敛3) 状态变量明确便于进行电路分析和设计4) 参数物理意义清晰可从实验数据中提取。3. 核心模型构建从物理方程到Verilog-A代码3.1 忆阻系统框架与状态变量定义我们采用忆阻系统的理论框架来描述IMT器件。忆阻器广义上指阻值由通过它的电荷或磁通历史决定的器件。对于IMT我们将器件的局部温度T(t)定义为系统的状态变量。这个选择抓住了物理本质相变由温度触发而温度的变化又由流经器件的电流焦耳热决定形成了一个典型的正反馈回路。模型的核心是两个方程输出方程电阻方程描述器件瞬时电阻R_IMT如何随状态变量温度T变化即R_IMT f(T)。状态方程温度方程描述状态变量温度T如何随时间演化即dT/dt g(I, V, T)。这个框架非常优美它将复杂的物理过程抽象为一个具有记忆特性的电路元件为后续的电路分析和设计奠定了数学基础。3.2 电阻-温度关系的精细化建模如何用数学函数描述图1中那条陡峭的“S”形电阻-温度曲线一个直观的想法是用两个负温度系数热敏电阻的方程分别描述高阻态和低阻态再用一个Sigmoid函数连接它们。R_HRS R_HRS0 * exp(-B_HRS * (T - T0)) // 高阻态随温度升高指数下降 R_LRS R_LRSF * exp(-B_LRS * (T - TF)) // 低阻态随温度升高指数下降 R_IMT R_LRS (R_HRS - R_LRS) / (1 exp((T - Tc)/Tx))其中R_HRS0和R_LRSF是参考温度点如环境温度T0和某个高温点TF下的电阻B_HRS和B_LRS是温度系数Tc是临界温度Tx控制转变锐度。但这个模型在仿真中会遇到麻烦。在温度远低于Tc时R_HRS会指数爆炸到极大值远高于Tc时R_LRS会指数衰减到接近零。这会导致数值溢出并且为了限制电阻范围而引入的if-else条件语句会破坏函数的连续性极易导致SPICE仿真不收敛。实操心得SPICE模型收敛性是第一生命线。一个理论上再精美的模型如果在仿真中动不动就发散或报错对电路设计师来说就是废品。因此任何可能导致不连续或数值奇点的表达式都必须被“平滑化”处理。我们的解决方案是引入一个平滑饱和函数。最终采用的电阻模型方程如下KLRS exp(-B_LRS * (T - TF)) KHRS exp(-B_HRS * (T - T0)) R_LRS R_LRSF * pow(1 KLRS/A, 1/A) R_HRS R_HRS0 * pow(KHRS/(1 KHRS/A), 1/A) R_IMT R_LRS (R_HRS - R_LRS) / (1 exp((T - Tc)/Tx))这里A是一个很大的常数如1e4。当T远小于TF时KLRS很大(1 KLRS/A)约等于KLRS/A经过pow(..., 1/A)运算后R_LRS会平滑地趋近于R_LRSF * (KLRS/A)^(1/A) R_LRSF * exp(-B_LRS*(T-TF)/A)这是一个被极大弱化的指数函数避免了数值溢出。同时在整个温度区间内函数及其导数都是连续且平滑的。这是我借鉴了经典MOSFET模型中的平滑函数技巧效果非常显著。3.3 温度动力学集总参数热模型状态方程描述了器件温度的演化。我们采用一个集总参数热模型将整个器件视为一个具有热容C_th的节点通过一个热阻R_th与环境温度T0相连。C_th * dT/dt P_joule - (T - T0) / R_th V_IMT * I_IMT - (T - T0) / R_th这个方程非常直观左边是器件温度变化所需的热量右边第一项是焦耳热功率输入V*I第二项是向环境散热的热流。C_th代表了器件材料升温的快慢R_th则代表了散热能力的强弱。这是一个一阶线性微分方程求解稳定、高效非常适合紧凑模型。3.4 Verilog-A实现与编码技巧将上述方程转化为Verilog-A代码是模型能嵌入商用仿真工具的关键一步。Verilog-A是一种描述模拟电路行为的硬件描述语言Spectre、HSPICE等都支持。以下是核心代码段的示意非完整代码突出关键点include “constants.vams” include “disciplines.vams” module imt_model (p, n); inout p, n; electrical p, n; parameter real Rth1e3, Cth1e-9, Tc340, Tx5, Rhrs01e6, RlrsF1e3, Bhrs0.1, Blrs0.05, T0300, TF400, A1e4; real T, Rh, Rl, R, Vd, Id; analog begin // 获取端口电压和电流 Vd V(p, n); Id I(p, n); // 状态方程温度微分方程 // 使用ddt操作符表示微分仿真器会自动进行时域积分 ddt(T) (Vd * Id - (T - T0)/Rth) / Cth; // 输出方程计算高低阻态及总电阻使用平滑函数 begin real Khrs, Klrs; Khrs exp(-Bhrs * (T - T0)); Klrs exp(-Blrs * (T - TF)); // 平滑处理防止溢出 if (Khrs 1e-6) begin Rh Rhrs0 * pow( Khrs/(1 Khrs/A), 1/A ); end else begin Rh Rhrs0 * pow( Khrs, 1/A ); // 小值时的近似保持连续 end if (Klrs 1e-6) begin Rl RlrsF * pow(1 Klrs/A, 1/A); end else begin Rl RlrsF; // 温度很高时趋近于RlrsF end // Sigmoid过渡 R Rl (Rh - Rl) / (1 exp((T - Tc)/Tx)); end // 欧姆定律 I(p, n) V(p, n) / R; end endmodule注意事项在计算pow(x, 1/A)时当x可能为0或极大值时直接计算会出错。因此代码中加入了条件判断在Khrs或Klrs很小时采用等效的近似表达式确保函数值及其导数的连续性。这是保证模型在极端工作点也能稳健收敛的关键细节。4. 模型验证、参数提取与仿真设置4.1 拟合实验与TCAD数据模型建好了但它靠谱吗我们需要用实验数据或高精度仿真数据来“校准”它。在原始论文中作者使用了文献[5]中VO₂器件的实验数据和电热仿真结果进行拟合。拟合过程通常是这样操作的获取数据从已发表的论文图表中或通过合作获得实测数据提取关键曲线通常是a) 电阻随温度变化曲线R-Tb) 直流扫描下的电流-电压滞回曲线I-Vc) 在阶跃电压下电阻和温度随时间变化的瞬态曲线。参数初值估算R_HRS0和R_LRSF直接从R-T曲线在低温端和高温端的平台区读取。Tc取电阻发生突变的中点对应的温度。Tx通过拟合R-T曲线转变区域的斜率来调整Tx越小转变越陡峭。B_HRS和B_LRS对高阻态和低阻态平台区的数据点取对数拟合ln(R) ~ T的直线其斜率即为-B。R_th和C_th从瞬态温度曲线中提取。施加电压后温度指数上升至稳态T_ss。稳态满足T_ss T0 R_th * V^2 / R由此可估算R_th。温度上升的时间常数τ R_th * C_th从瞬态曲线可得到τ进而算出C_th。优化工具调参将上述初值代入模型在Spectre中运行DC和瞬态仿真将仿真结果与目标曲线对比。使用仿真工具自带的优化器如Cadence的ADE Assembler with Optimization或手动微调参数以最小化仿真曲线与目标曲线之间的误差如均方根误差。表1展示了论文中用于神经元电路仿真的一组典型参数值这些参数是基于对特定VO₂器件数据的拟合得到的。参数符号物理意义典型值/范围单位R_HRS0环境温度下的高阻态电阻1e5 - 1e7ΩR_LRSF参考高温下的低阻态电阻1e2 - 1e4ΩB_HRS高阻态温度系数0.05 - 0.15K⁻¹B_LRS低阻态温度系数0.01 - 0.05K⁻¹Tc临界温度~340 (VO₂)KTx转变锐度参数1 - 10KR_th等效热阻1e3 - 1e6K/WC_th等效热容1e-9 - 1e-7J/KT0环境温度300K4.2 在Cadence Spectre中的仿真设置要点将Verilog-A模型编译成Spectre可用的器件模型后就可以像调用普通器件一样使用了。但在仿真IMT电路时有几点需要特别注意瞬态仿真这是分析神经元动态行为的核心。需要设置合理的仿真时间步长maxstep。由于相变过程非常快步长需要设得足够小例如皮秒级才能捕捉到电阻跳变的细节但太小又会大幅增加仿真时间。一个实用的技巧是使用可变步长算法并允许仿真器在快速变化阶段自动缩小步长。DC扫描用于获取I-V滞回曲线。不能像普通电阻那样直接做电压扫描因为器件的状态温度具有记忆性。正确的方法是先做一个从负压到正压的慢扫描模拟“开启”过程再做一个从正压回负压的慢扫描模拟“关闭”过程。扫描速率要足够慢使得器件在每个电压点都能达到热平衡稳态。收敛性辅助对于包含强烈正反馈的电路DC工作点可能难以找到。可以尝试a) 使用UIC使用初始条件选项开始瞬态仿真从一个明确的状态启动b) 在模型端口并联一个非常大的电阻如1TΩ到地为仿真器提供一个直流路径c) 适当放松仿真器的收敛容差reltol和vabstol/iabstol。5. 基于IMT紧凑模型的集成-发放神经元设计5.1 神经元工作原理与电路架构生物神经元的工作模式可以简化为接收来自多个突触的输入信号电流→ 在细胞膜电容上积分产生膜电位 → 当膜电位超过阈值时产生一个动作电位脉冲并发放 → 进入短暂的不应期期间难以再次兴奋。利用IMT器件的特性我们可以用极其简单的电路实现这一功能。其核心思想是用IMT器件的温度替代膜电位作为积分变量用相变电阻跳变替代动作电位发放。图8所示的基本神经元电路包含一个电容C、一个IMT器件和一个恒流源I_syn代表来自突触的输入电流和。其工作过程如下积分积累阶段初始时IMT处于高阻态R_HRS。输入电流I_syn对电容C充电电容电压V_C也即IMT两端电压V_IMT线性上升。电流流过IMT产生焦耳热P V_IMT^2 / R_HRS器件温度T缓慢上升。发放点火阶段当温度T达到临界温度Tc时IMT在极短时间内切换到低阻态R_LRS。由于R_LRS很小电容C通过IMT迅速放电在放电回路中产生一个巨大的电流尖峰。这个电流尖峰就是神经元的“动作电位”输出。不应期重置阶段放电后V_IMT变得很低焦耳热功率骤减。器件通过热阻R_th向环境散热温度T开始下降。当T降至Tc以下时IMT恢复至高阻态R_HRS。此时如果仍有输入电流则新一轮的积分再次开始。5.2 振荡条件与设计表达式推导要使神经元能周期性地振荡即不断重复积分-发放循环必须满足一个关键的热平衡条件。在稳态dT/dt 0下由热模型方程可得T_ss T0 R_th * I_IMT^2 * R_IMT其中I_IMT是流经IMT的稳态电流。对于图8的简单电路在积分阶段I_IMT ≈ I_syn因为电容充电电流远大于IMT漏电流。振荡的必要条件是当IMT处于高阻态时其稳态温度高于Tc当处于低阻态时其稳态温度低于Tc。只有这样器件才能在两个状态间来回切换。条件1高阻态发热足以触发相变: T0 R_th * I_syn^2 * R_HRS Tc 条件2低阻态散热足以恢复绝缘态: T0 R_th * I_syn^2 * R_LRS Tc将两式合并得到振荡不等式R_th * I_syn^2 * R_LRS Tc - T0 R_th * I_syn^2 * R_HRS这个不等式是神经元设计的黄金法则。它告诉我们Tc - T0是驱动力环境温度T0不能太接近Tc否则器件可能无法冷却复位。通常需要几十K的温差。R_th是调节杠杆热阻越大器件越容易保温所需触发电流I_syn的平方越小。但热阻太大也会导致冷却变慢限制神经元的最大发放频率。R_HRS / R_LRS比值要足够大即开关比要足够高这样才能在相同的I_syn下满足高阻态时温度超过Tc而低阻态时温度低于Tc。输入电流I_syn是关键控制信号I_syn的大小直接决定了积分到发放所需的时间即发放频率。I_syn越大加热越快频率越高。5.3 完整神经元电路设计与仿真分析基本电路功能实现了但要集成到更大的神经形态系统中还需要解决两个问题1) 将输出的电流尖峰转换为标准的电压脉冲2) 产生一个可控宽度的输出脉冲。图10展示了一个更实用的神经元电路方案。它在基本电路的基础上增加了突触输入网络用非易失性忆阻器如RRAM串联二极管来代替恒流源。忆阻器的电导值代表突触权重输入电压脉冲V_in代表突触前脉冲。流过每个支路的电流I_i V_in * G_i实现了“电压×电导电流”的乘加运算所有支路电流在电容节点求和即I_syn Σ V_in_i * G_i。输出脉冲整形级IMT放电产生的电流尖峰首先经过一个反相器转换为电压阶跃。这个阶跃信号通过一个RC网络R_pw,C_pw进行微分产生一个窄脉冲。最后再经过一个缓冲器反相器进行整形和驱动输出一个幅度、宽度都确定的电压脉冲V_out。脉冲宽度由τ_pw R_pw * C_pw决定。在Spectre中搭建这个电路进行瞬态仿真我们可以清晰地观察到三个阶段的波形电容电压V_C的线性上升积分、IMT电阻R_IMT的陡峭跳变发放、以及输出端V_out产生的规整电压脉冲。通过调节输入脉冲的频率、幅度或忆阻器的电导权重可以线性地调节神经元输出的发放频率这正是脉冲频率调制编码方式是神经形态计算的基础。避坑指南在实际仿真这个电路时最容易出现的问题是收敛失败或振荡不稳定。除了之前提到的模型收敛技巧在电路层面还需注意1) 给所有反相器和缓冲器的电源加上合理的去耦电容2) 为IMT器件并联一个小的寄生电容如1fF以平滑电压跳变3) 初始仿真时可以先用一个理想的压控开关来代替IMT模型快速验证电路逻辑的正确性然后再接入完整的IMT模型进行精确仿真。6. 模型与电路的局限性与拓展讨论6.1 模型本身的假设与适用范围我们这个紧凑模型虽然实用但建立在几个重要假设之上理解这些局限对于正确使用它至关重要集总热模型我们将整个器件视为一个均匀的温度节点。这对于纳米尺度、热时间常数较短的器件是合理的近似。但对于大尺寸器件或需要研究内部温度分布的情况则需要分布式热模型。唯象的电阻-温度关系我们用平滑的Sigmoid函数拟合相变过程这很好地描述了宏观电学行为但并未从底层能带结构、电子关联等量子力学角度进行建模。因此它是一个物理启发式的紧凑模型而非从头计算的物理模型。参数提取的依赖性模型参数严重依赖于拟合所用的实验数据。不同课题组制备的VO₂器件甚至同一批次的不同器件其R_HRS、R_LRS、Tc都可能存在差异。因此针对具体工艺的器件进行参数提取是必不可少的步骤。6.2 电路设计中的实际挑战基于IMT的神经元电路虽然结构简单但在走向实际应用前还需克服一系列挑战器件参数波动IMT器件的关键参数如Tc、R_HRS可能存在工艺波动。这会导致不同神经元的阈值和振荡频率不一致需要电路或算法层面引入容错或校准机制。功耗与速度的权衡由振荡不等式可知降低触发电流I_syn可以降低功耗但这会延长积分时间降低最大发放频率。需要根据应用场景是低功耗感知还是高速处理来优化器件参数如R_th和电路偏置。与CMOS工艺的集成论文中使用的R_HRS和R_LRS值相对较低~kΩ量级这有利于降低工作电压和功耗。但若想将IMT用作高密度交叉阵列中的选通器可能需要更高的R_HRSGΩ来抑制漏电。这给器件制备提出了更高要求。同时IMT器件的工作电压需要与标准CMOS I/O电压兼容通常3.3V。热串扰在高度集成的神经形态芯片中密集排列的IMT神经元之间可能通过衬底发生热串扰导致一个神经元的发热影响其邻居。这需要在物理布局和热管理上进行精心设计。6.3 未来展望从器件到系统尽管存在挑战IMT器件及其在神经形态计算中的应用前景依然令人兴奋。我们的SPICE紧凑模型为电路和系统级探索打开了一扇门。未来的工作可以沿着以下几个方向深入模型精细化纳入电场对临界温度Tc的调制效应即Tc(V)模型使模型在低电压、快切换区域的预测更准确。工艺-设计协同优化与器件工程师紧密合作将电路设计对器件参数如开关比、热阻、工作电压的需求反馈给工艺线指导器件优化。大规模系统仿真利用此模型可以在SPICE中仿真小型神经网络核心评估其在模式识别、时序预测等任务中的性能、功耗和可靠性并与传统的CMOS数字/模拟实现方案进行对比。探索新型计算范式除了标准的IAF神经元IMT的弛豫振荡特性还可用于构建振荡神经网络的耦合振荡器或用于随机计算中的随机比特源其丰富的动力学行为有待进一步挖掘。回过头看为IMT这样一个物理机制尚未完全定论的新兴器件构建可用的SPICE模型本身就是一个在“模糊地带”求“工程精确”的过程。它不追求极致的第一性原理精度而是强调在物理合理性与仿真实用性之间取得最佳平衡。这个模型的价值不仅在于它复现了几条I-V曲线更在于它成功地将一个复杂的物理实体转化为了电路设计师工具箱里一个可以随意调用、组合、分析的“乐高积木”。当我们可以用熟悉的电路语言来思考和设计时创新的步伐才能真正加快。