4. 模拟/混合信号模型准备

在混合信号验证中,模型准备往往比测试平台搭建更耗时。一个AMS验证环境里,模拟侧可能同时存在SPICE网表、Verilog-A模块、Verilog-AMS模块、行为级模型和晶体管级模型。它们不是互相替代的关系,而是按验证目标分层选用的。选错模型层级,轻则仿真跑不动,重则掩盖真实缺陷。

四类模型的本质差异

SPICE网表是晶体管级或器件级的电路描述,通常由原理图导出,包含MOS管、电阻、电容、寄生参数和工艺模型卡。它的精度最高,能反映偏置点、非线性、寄生效应和失配,但仿真速度最慢,适合小规模模拟模块的精细验证,例如带隙基准、LDO环路、比较器失调。

晶体管级模型在AMS环境中通常以SPICE子电路形式被调用,通过Xcelium的AMS接口与数字侧连接。它和SPICE网表本质相同,区别在于是否作为可复用子电路被例化。工程上常把关键模拟IP做成晶体管级子电路,其余部分用行为级替代。

Verilog-A/AMS模型是模拟行为建模的标准语言。Verilog-A适合描述连续时间模拟行为,如运放增益、滤波器传递函数、电流镜关系;Verilog-AMS可同时描述模拟和数字行为,支持connect module和混合信号接口。它的优势是仿真速度快、参数可配置、便于覆盖边界条件,但精度取决于建模质量。

行为级模型是更上层的抽象,可以用Verilog-AMS、SystemVerilog RNM或wreal实现。它不描述器件物理,只描述输入输出关系,例如用一阶传递函数代替运放、用查找表代替非线性增益。行为级模型适合系统级验证、长时间仿真和数字主导的混合信号场景。

模拟/混合信号模型选用决策视图 精度 ↔ 速度 ↔ 建模成本 的工程折中 验证目标 精度优先 偏置/失配/非线性 速度优先 系统级/长序列 接口验证 数模边界/时序 故障注入 边界/异常/鲁棒性 回归效率 大量用例/快速迭代 模型层级与特征 晶体管级 / SPICE网表 MOS+寄生+工艺模型卡 · 精度最高 · 速度最慢 适用:带隙、LDO、比较器、采样保持 Verilog-A / Verilog-AMS 连续时间行为+混合接口 · 精度可调 · 速度中等 适用:运放、滤波器、ADC/DAC接口、PLL环路 行为级 / RNM / wreal 传递函数+查找表+事件驱动 · 速度最快 适用:系统架构、算法验证、长序列回归 混合层级(工程常用) 关键路径晶体管级 + 外围行为级 · 折中方案 适用:SoC级AMS验证、IP集成验证 折中维度 仿真速度 晶体管级最慢 建模工作量 行为级需自行开发 精度损失 行为级需评估误差 收敛性 SPICE易不收敛 可复用性 行为级参数化更好 调试可见性 晶体管级节点多 选用原则:先明确验证目标,再按精度/速度/成本三角折中,优先混合层级方案

选用原则:从验证目标反推模型层级

模型选用的第一步不是问“哪个模型好”,而是问“这次验证要证明什么”。如果目标是验证带隙基准的温漂和电源抑制比,晶体管级是唯一选择,因为行为级模型无法体现工艺角和寄生效应。如果目标是验证SoC中数字控制逻辑与模拟前端的接口时序,行为级模型配合wreal接口就足够,晶体管级反而会拖慢仿真。

工程上常用的判断路径是:先看验证对象是否包含非线性、失配、寄生或偏置依赖;再看仿真规模是否超过晶体管级可承受的范围;最后看模型是否已有可复用的行为级版本。三个条件中只要有一个指向行为级,就应优先考虑行为级或混合层级。

工程折中的具体做法

实际项目里很少全用晶体管级或全用行为级,更多是混合层级。典型做法是把模拟IP分成三类:关键精度模块用晶体管级,如ADC采样保持、PLL电荷泵、LDO功率管;功能模块用Verilog-A/AMS,如运放、比较器、滤波器;接口和数字控制用行为级或wreal,如SPI配置、使能逻辑、状态机。

以12位SAR ADC验证为例,电容DAC阵列和比较器用晶体管级,逐次逼近逻辑用Verilog数字模型,参考电压缓冲器用Verilog-A行为模型。这样既保留了电容失配和比较器噪声对INL/DNL的影响,又避免了数字逻辑的晶体管级仿真开销。仿真时间通常比全晶体管级减少一个数量级,而关键指标仍可观察。

模型准备中的常见问题

SPICE网表导入AMS环境时,最常见的问题是节点命名冲突和接口电平不匹配。数字侧是0/1逻辑,模拟侧是连续电压,需要通过connect module或接口单元转换。Verilog-A模型则要注意收敛性,避免在方程中使用不连续函数或理想开关,否则仿真器会反复切割时间步长。

行为级模型的精度验证常被忽略。一个用一阶传递函数代替运放的模型,在低频段可能很准,但在接近单位增益带宽时相位误差会明显增大。工程上应把行为级模型与晶体管级模型做一次小信号AC对比,确认在关注频段内增益和相位误差在可接受范围内,再投入大规模回归。

实用建议:建立模型选用检查表,每个模拟模块在进入AMS验证前,明确记录模型层级、精度依据、接口类型和复用来源。这样在回归失败时能快速判断是模型精度问题还是设计缺陷。

一个可参考的模型选用决策表

验证对象 推荐模型层级 关键理由 典型仿真时间量级
带隙基准温漂 晶体管级/SPICE 需工艺角、失配、寄生 小时级
LDO环路稳定性 晶体管级+Verilog-A负载 功率管需精度,负载可行为化 小时级
SAR ADC静态指标 混合层级 DAC阵列晶体管级,逻辑数字级 十分钟级
PLL锁定过程 Verilog-A/AMS 环路行为可建模,速度优先 分钟级
SoC数模接口时序 行为级/wreal 关注接口协议,不关注模拟细节 秒级至分钟级
系统架构评估 行为级/RNM 快速迭代,精度要求低 秒级

表中仿真时间量级为示例性估计,实际取决于电路规模、仿真器设置和服务器性能。但趋势是明确的:模型抽象层级越高,仿真越快,精度损失也越大。工程折中的核心不是追求最高精度,而是在验证目标允许的误差范围内,选择能最快给出可信结论的模型组合。

最后要强调的是,模型准备不是一次性工作。随着验证从模块级推进到系统级,同一个模拟IP可能需要从晶体管级逐步替换为行为级,或者反过来在发现异常时回退到晶体管级定位。保持模型层级可切换、接口一致、参数可追溯,是AMS验证工程化的重要基础。