如何验证ECG信号实时处理算法?
解读
面试官把“ECG信号实时处理算法”抛给IC验证工程师,考察的是两点:
- 能否把医学信号处理的算法需求翻译成可量化、可覆盖的芯片验证目标;
- 能否在数字IC验证的常规流程(UVM/SV、形式验证、硬件加速、FPGA原型)里落地,并兼顾实时性、低功耗、硅后一次成功。
国内医疗芯片公司(深圳、上海、北京集群)普遍把ECG前端AFE+数字处理模块做成SoC或SIP,验证难点集中在:
- 生理信号非平稳、低幅值(μV级)、基线漂移、50 Hz工频干扰、肌电噪声;
- 算法链长(FIR/IIR、小波、QRS检测、心率变异性HRV、Arrhythmia判别),需要逐层黄金比对;
- 实时性≤200 ms、功耗≤15 µW/通道、ADC采样率250 Hz–2 kHz,时钟门控复杂;
- 国内医疗认证(NMPA二类/三类)要求“算法等效性+功能安全”双报告,验证必须留痕。
因此,回答要体现“算法级→RTL级→系统级→硅后级”四层验证闭环,并给出可执行的覆盖率、签核标准。
知识点
- 算法黄金模型:MATLAB/Python浮点参考,定点化C模型,bit-true定点模型。
- 信号质量指标:SNR、THD、CMRR、灵敏度、特异性、ROC曲线下面积AUC。
- 验证方法学:UVM-ML/UVM-SystemC混合仿真、SVA形式验证、硬件加速(Palladium/Zebu)、FPGA原型、硅后回读。
- 实时性验证:时间断言、SystemVerilog实时覆盖率、硬件加速器中的cycle-accurate trace、FPGA原型中的GPIO触发时间戳。
- 低功耗验证:UPF3.0功耗意图、功率门控/时钟门控的X-propagation、功耗回归矩阵。
- 医疗功能安全:IEC 60601-2-47、ISO 14971风险分析、故障注入(FI)、FIT/MTBF计算。
- 国内合规:NMPA《医疗器械软件注册审查指导原则》要求算法验证报告含“数据多样性、边界、对抗样本”。
答案
我将验证拆成“四层闭环、七步执行”,确保sign-off一次流片成功。
-
需求澄清与验证计划
- 与算法/系统/法规三方对齐:输入信号范围±1 mV、ADC 16-bit@500 Hz、QRS检测延迟≤120 ms、功耗≤15 µW、Arrhythmia检出率≥99.3%、误报率≤0.5%。
- 定义验证交付:算法等效性报告、功能覆盖率100%(covergroup+assertion)、功耗场景覆盖率≥95%、故障注入覆盖率≥90%、硅后一致性报告。
-
算法黄金链搭建
- 浮点黄金:MATLAB产生,通过MIT-BIH、AHA、CU、NST标准数据库+国内三甲医院提供的500例长程Holter(含房颤、室速、起搏器信号)。
- 定点黄金:C模型位真,引入量化噪声≤1 µVrms;用Python cocotb-ext对接UVM,实现自动比对。
-
RTL级功能验证
- UVM环境:agent封装SPI/SLIMbus接收ADC原始码,scoreboard调用定点黄金,每拍比对输出心率、R峰位置、报警标志;断言检查FIFO深度、握手协议。
- 覆盖率模型:covergroup分“信号类型(正常、房颤、室早、噪声)、SNR(>40 dB、20–40 dB、<20 dB)、基线漂移速率(<0.5 Hz、0.5–1 Hz、>1 Hz)”三维交叉,确保边界穷尽。
- 形式验证:对QRS状态机写SVA,证明在任何输入序列下不会死锁或误报;用JasperGold覆盖“R峰漏检”反例。
-
实时性验证
- 在Palladium加速器中跑SDF反标,记录从ADC采样到中断拉起耗时,插入1000次随机延迟,要求120 ms内完成;用SystemVerilog实时coverproperty采样$time。
- FPGA原型:通过GPIO触发外部逻辑分析仪,时间戳精度10 ns,与示波器实测对比,确保pipeline延迟可追溯到RTL级。
-
低功耗验证
- UPF3.0定义四路电源域:ADC常开、DSP运算域可关、SRAM保持、Always-on RTC。
- 功耗回归:每轮随机开关时钟门控,检查输出SNR下降<1 dB;Xcelium+Joules联合仿真,动态功耗曲线与golden差距<5%。
-
故障注入与功能安全
- 对SRAM ECC、FIFO空满、AHB总线CRC做故障注入,统计FIT;要求单点故障诊断覆盖率≥99%,潜伏故障≤1 FIT。
- 引入“电极脱落”模拟:强制输入全0或全1,检查算法是否在2 s内上报Lead-off中断,满足IEC 60601-2-47。
-
硅后闭环
- 利用芯片内置的ETM trace,回灌相同MIT-BIH数据,比对R峰位置,误差为0;
- 国内NMPA注册用“数据多样性”报告:提交算法在≥10万例临床数据上的性能,验证团队负责生成RTL级事件日志,确保与临床标签一致。
签准标准:功能覆盖率100%、代码覆盖率(line+FSM+branch)≥95%、功耗场景覆盖率≥95%、故障注入覆盖率≥90%、硅后一致性100%,即可交付流片。
拓展思考
- AI加速场景:若后续集成TinyML神经网络做房颤检测,验证需新增“对抗样本”维度——用One-pixel attack生成极端输入,确保RTL输出置信度下降不超过5%,否则触发重训练。
- 多模态融合:当PPG与ECG联合算HRV时,时钟域不同,需验证跨CDC的bit-true同步;可用形式验证证明FIFO在任意相位差下不溢出。
- 国内数据合规:三甲医院数据出境受限,验证团队需在本地GPU集群跑黄金模型,避免传原始波形;可用联邦学习方式生成合成数据,再回灌UVM。
- 超低电压操作:1.1 V→0.9 V动态调压时,DSP路径延迟增加,需用PVT corner+老化仿真,确保setup/hold在0.9 V仍满足120 ms实时要求。