描述预测性验证指标的方法

解读

面试官问“预测性验证指标”,并不是让你背诵覆盖率公式,而是考察三件事:

  1. 能否在RTL还没freeze之前,用量化手段告诉项目经理“我们离sign-off还有多远”;
  2. 能否把“验证质量”翻译成“风险概率”,让决策者提前拍板是否加人、加机时或改架构;
  3. 是否熟悉国内流片窗口紧张、投片即量产的节奏,指标必须能提前1~2个月预警。
    因此,回答要给出“建模→采集→回归→预警”的完整闭环,并说明如何与工艺节点、IP成熟度、封装形式等中国本土要素耦合。

知识点

  1. 缺陷密度模型(DDP):每千行RTL在Module-Level/Sub-System-Level/SoT-Level的缺陷期望数,可用Rayleigh或Weibull拟合。
  2. 贝叶斯覆盖率收敛:用先验(IP历史数据)+似然(本周回归结果)实时更新“达到100%覆盖且0缺陷”的后验概率P(sign-off|data)。
  3. 突变系数(MC):连续7次回归中,新发现缺陷数的CV(Coefficient of Variation)>0.4即判定为“收敛震荡”,触发根因复盘。
  4. 激活-观察延迟(AOD):从功能点激活到对应covergroup采样通过的周期数,用于预测长序列场景(PCIe LTSSM、DDR training)何时能close。
  5. 形式验证剩余边界量(FVE):在等价性检查中,剩余“undetermined”状态占全部输入空间的比例,与仿真覆盖互补。
  6. 国内Fab窗口因子(FW):针对28 nm及以下,若FW>0.85(掩膜排期已占85%),则允许提前冻结微码,用FMEA补偿验证缺口。
  7. 硬件加速回归带宽(HAB):每24 h在Palladium或Zebu上能跑多少“等效仿真周期”,换算成“距最后一级缺陷暴露所需自然日”。
  8. 缺陷注入-发现比(FDR):验证团队主动注入100个缺陷,实际被环境发现的数量,用于校准DDP模型,避免“覆盖率虚高”。

答案

预测性验证指标的核心是“用过去和现在的数据,算未来的风险”。我通常分四步落地:
第一步,建立缺陷密度基线。把公司近五年同工艺节点的项目做聚类,得出Module-Level的DDP0=0.35 defects/KLOC。新项目RTL增量为20 KLOC,则理论缺陷数=7。用Weibull分布给出时间轴:第8周发现60%,第12周发现85%,第16周发现95%。
第二步,跑贝叶斯覆盖率收敛脚本。以DDP0为先验,每周回归后把实际缺陷数、覆盖 hole 数喂给模型,实时更新P(sign-off|data)。当P值连续两周<0.9,立即预警:要么加测试用例,要么降低DDP目标(如砍次要feature)。
第三步,监控突变系数MC。若连续两周MC>0.4,说明缺陷收敛曲线出现“第二峰”,常见根因为RTL局部重构或软件接口变更。此时触发“白盒复查”:让设计同事对改动部分做增量形式验证,把FVE降到<1e-6。
第四步,结合Fab窗口因子FW做反向修正。若FW已0.85,而P(sign-off|data)只有0.8,则启动“风险补偿”:把最高频的20条use-case在FPGA原型上跑24 h,统计AOD是否<10 k cycle;若通过,可提前签核,剩余风险用FMEA文档移交给后端与量产测试。
通过以上方法,我在上一颗16 nm AI加速芯片中,提前6周给出“零缺陷概率96.3%”的量化结论,最终一次流片成功,硅后仅发现1个缺陷,等级为Minor,达到车规AEC-Q100要求。

拓展思考

  1. 当项目采用Chiplet架构且部分Die来自外部IP,DDP先验如何获取?可要求IP厂提供“缺陷观测报告”(DOR),并用 federated learning方式把多家的DDP融合,避免商业机密泄露。
  2. 若国内客户要求“流片后30天即发布参考设计”,预测指标需把软件SDK的验证也纳入,定义“跨域联合覆盖率”:同一feature在RTL、固件、驱动三层都打到100%,才算真正close。
  3. 随着RISC-V开放架构流行,扩展指令验证空间爆炸,传统DDP模型失效。可引入“覆盖率熵”H=-Σpi log pi,当熵降速<5%/周,即认为进入长尾,用形式验证做最后扫荡。