众力资讯网

用实数建模破解混合信号验证 “实数建模把模拟行为抽象成离散事件让全芯片回归覆盖更多场景用例” 混合信号SoC的验证难点,已经不只是某个模拟模块能否满足电气指标,而是模拟、数字、控制、连接、功耗和系统场景能否在全芯片环境下共同被验证。传统晶体管级仿真提供很高精度,却很难支撑长时间窗口、 ​

用实数建模破解混合信号验证“实数建模把模拟行为抽象成离散事件让全芯片回归覆盖更多场景用例”

混合信号SoC的验证难点,已经不只是某个模拟模块能否满足电气指标,而是模拟、数字、控制、连接、功耗和系统场景能否在全芯片环境下共同被验证。传统晶体管级仿真提供很高精度,却很难支撑长时间窗口、大量用例和夜间回归。Real Number Modeling,简称RNM,正是为这种验证矛盾而生:用实数值表达模拟量,用数字仿真的事件机制提升执行效率。

1. 模拟与数字扩展速度不同

数字验证的发展路径相对清晰:抽象层次不断提升,自动化程度不断增强,覆盖率驱动方法、可复用验证环境、大规模回归和指标化管理已经成为主流流程。数字系统越复杂,验证方法越依赖工程化、平台化和自动化。

模拟验证的基础完全不同。模拟电路依赖连续时间求解、电路方程、节点电压、支路电流、收敛控制和数值迭代。晶体管级仿真能够观察非常细的电气行为,例如器件非理想效应、负载影响、瞬态响应和连续时间动态。这类精度在电路设计阶段不可替代,但放到全芯片验证时,运行成本会迅速放大。

图片

当模拟和数字模块被集成到同一个SoC中,验证目标也随之变化。工程团队关心的不只是单个模拟块是否正确,而是全芯片控制路径是否有效,模拟/数字边界是否连接正确,电源域切换是否稳定,配置寄存器是否能驱动正确行为,以及系统级场景是否覆盖充分。

2. 用实数值表达模拟行为

RNM并不是把模拟电路简单“数字化”。它的关键在于保留验证所需的模拟量表达,同时放弃不必要的连续电路求解。

在RNM模型中,电压、电流、频率、增益、相位、温度或其他物理量可以用浮点实数表示。这些值看起来像模拟量,但它们的更新时间不是连续的,而是由事件、采样点、时钟、状态变化或调度计算触发。也就是说,RNM借用了模拟世界的“数值表达”,又借用了数字仿真的“事件执行”。

图片

这种方式带来的直接收益,是不再需要模拟求解器持续求解整个电路矩阵。模型输出可以根据输入、内部状态、参数和简化时序规则直接计算。当输入发生变化,或某个事件被触发,模型更新对应的实数输出。这样,模拟行为就能进入数字仿真引擎,并参与覆盖率、断言、随机测试、自动检查和全芯片回归。

3. 不是谁替代谁

DMS,即Digital Mixed Signal simulation,是一种数字中心的混合信号验证方式。它通常使用wreal模型、SystemVerilog RNM模型或其他实数建模方法,把模拟模块抽象为可在数字仿真器中运行的模型。对于BigD/smallA类型SoC,也就是数字规模很大、模拟功能重要但比例较小的芯片,这种方式尤其有价值。

DMS适合回答这样的问题:控制配置是否正确?模拟模块的功能响应是否符合系统预期?ADC/DAC、PLL、PMU、传感接口等模块是否能在全芯片场景中被驱动、观察和检查?大量模式切换、状态转换和长时间运行场景是否能进入回归?

AMS仿真承担的是另一类任务。它保留模拟电气求解能力,适合关注连续时间行为、电气精度、晶体管级对比、非线性细节和模拟/数字强耦合效应的场景。AMS并不会因为RNM出现而失去价值;RNM也不能覆盖所有AMS任务。

图片

更实际的判断标准是:当前验证目标需要多高精度?需要多快速度?是否要跑大量场景?模拟行为是否可以用信号流表达?如果目标是电路级精度,AMS或晶体管级仿真更合适;如果目标是全芯片功能覆盖,DMS和RNM往往更有效。

4. 只建模真正影响验证的问题

RNM的价值不在于复刻所有模拟细节,而在于用足够准确的抽象支撑验证目标。好的RNM模型不是“越像电路越好”,而是“对验证目标足够真实,对仿真效率足够友好”。

例如,一个模拟块的输出可以由输入、状态、配置参数和少量时间规则计算得出,就很适合采用信号流建模。高频活动、长仿真窗口、仿真成本高、需要大量用例覆盖的模块,也往往是RNM的优先候选。相比低层器件模型,模块级或转换器级抽象更容易带来高回报,因为它可以用少量计算替代大量晶体管方程。

建模时需要明确几类取舍。影响功能判断的行为必须保留,例如关键阈值、模式切换、饱和行为、延迟、锁定条件、转换范围和错误状态。不影响验证目标的弱依赖可以简化为常数。复杂非线性关系可以在允许误差范围内用线性近似。只服务于测试便利性的特殊控制,可以固定为正常工作条件。延迟和时间常数也不应机械加入,只有当它们影响功能行为时才值得建模。

这种取舍必须依赖测试计划,而不是依赖建模人员的直觉。验证团队需要先定义要检查什么,再决定模型保留什么。否则,模型可能既不够快,也不够准,最后变成一个难维护、难验证、难复用的中间产物。

5. 速度提升不等于没有风险

RNM避免了模拟求解器的收敛问题,但它本身也有边界。

第一,实数信号与电气信号连接时需要清晰的边界处理。real、wreal、电气端口、logic信号之间的转换规则必须定义明确,否则模型在连接、方向、分辨率和驱动冲突上可能出现歧义。

第二,更新时间规则会直接影响速度和准确性。过于保守的更新策略会产生大量时间点,削弱RNM的性能优势;过于宽松的更新策略又可能遗漏重要变化。离散时间仿真的timescale设置也会限制时间精度,实数信号并不是真正连续变化的模拟信号。

第三,多驱动、阻抗假设、X/Z状态、信号分辨率和双向连接,都依赖具体语言和标准支持。Verilog real适合内部计算,但端口和多驱动支持有限;VHDL real支持实数端口和用户定义分辨率;Verilog-AMS wreal支持实数端口、多驱动和分辨率函数;SystemVerilog则通过real端口、nettype、interconnect和更复杂的连接语义逐步增强RNM能力。e语言更多用于测试平台侧的随机生成、覆盖、检查和模拟值访问。

RNM不是“把模拟块换成real变量”这么简单。它需要建模规范、接口规范、精度目标、验证计划和模型验证流程共同配合。

6. 模拟专家与数字验证专家必须协作

RNM的难点经常不在语言,而在组织协作。模拟设计人员最了解电路行为、工作范围、物理机制、非理想效应和关键指标。他们知道哪些现象必须保留,哪些细节可以忽略,也能判断模型输出是否符合电路真实行为。数字验证工程师则更熟悉SystemVerilog/UVM环境、回归系统、覆盖率、检查器、自动化脚本和全芯片集成流程。他们知道模型如何接入验证平台,如何被驱动、观测、复用和度量。

图片

有效的RNM开发通常需要双方共同完成。模拟专家定义行为边界和验证参考,数字建模或验证专家实现模型结构、接口和测试平台集成。模型完成后,还需要与电路仿真结果、规格指标和关键场景进行对比验证,确保抽象没有破坏功能判断。

7. 让混合信号进入常规回归

RNM最直接的工程价值,是把过去“跑不起”的混合信号场景变成“可以经常跑”的验证任务。

晶体管级模型在长时间窗口、大量输入扫描、复杂模式组合或全芯片场景中,可能需要数小时、数天甚至更久。Verilog-A等行为模型可以通过抽象器件细节降低运行时间。RNM进一步移除模拟求解过程,让模型在数字仿真引擎中以事件方式执行,从而显著提高速度。

这种差异会改变验证策略。过去只能抽样检查的场景,可以进入批量回归;过去只能在模块级观察的行为,可以进入全芯片环境;过去很难覆盖的控制路径、配置组合、异常状态和边界条件,可以通过数字验证方法系统化管理。

图片

例如,在转换器类模块中,RNM可以用实数输入和实数输出描述A/D、D/A行为,使大量码值扫描、转换检查和系统交互测试变得更现实。它不替代最终的电气精度验证,却能提前暴露集成错误、控制错误、连接错误和功能级边界问题。

RNM的本质不是降低验证标准,而是把不同验证目标放到合适的抽象层次中处理。晶体管级仿真解决电气精度问题,AMS解决连续时间与混合交互问题,DMS与RNM解决全芯片功能覆盖和大规模回归问题。对于现代混合信号SoC,真正有效的验证流程,不是选择一种仿真方式包打天下,而是在精度、速度、模型成本和验证目标之间建立清晰分工。RNM正是这个分工中最关键的加速层。