如何验证第三方RISC-V核心的质量?
解读
面试官抛出该问题,核心意图是考察候选人是否具备“把一颗陌生CPU核验到敢签字”的系统化方法论。RISC-V 虽开源,但第三方 IP 往往只交付加密 RTL 或网表,文档参差不齐,配置参数多(RV32/64、单双发射、Cache 大小、PMP、调试模块、自定义指令等)。验证人员必须在“黑盒/灰盒”条件下,用有限时间和人力,穷尽架构合规、微架构正确、性能达标、功耗可接受四大维度,并给出量化结论。回答时要体现“国内项目节奏紧、流片窗口硬”的现实,突出可落地的阶段划分、风险识别与 sign-off 标准。
知识点
- RISC-V 国际合规性测试集:RISC-V Compliance Test(现为 RISC-V Architecture Test,RAT),官方必须 100% 通过。
- 指令集分层:I/M/A/F/D/C/V/B/P 等扩展的组合验证,需用 ISA 形式化模型(如 SAIL、Spike、RISCV-Formal)作为黄金参考。
- 微架构级“差异验证”:当无法拿到源码,采用灰盒手段——通过 RISC-V 追踪标准(RISC-V Trace Spec, Nexus or ARM ETM 风格)抓取 PC/数据/事件流,与参考模型进行指令流级 diff。
- 国内常用的硬件加速平台:复旦微电子的 FM-EMU、国微深鉴的 EMULA、思尔芯的 Prodigy,以及自研 FPGA 原型阵列;面试需提到“如何在 24 小时内跑完 10 亿条随机指令”。
- 形式验证在国内的落地瓶颈:工具(JasperGold、VC-Formal)授权贵,需说明“如何抽取 20 条最关键属性(如 CSR 写后读、原子指令一致性)做轻量级形式验证”,体现成本控制意识。
- 性能/功耗验收指标:国内客户通常要求 Dhrystone/MIPS 不低于宣称值 95%,CoreMark/MHz 波动 <3%;功耗用 PowerArtist 或自研门级网表+SAIF 回注,与合同值对比。
- 国产工艺适配风险:第三方核常在台积电 28 nm 开发,转进中芯国际 14 nm 或华力 55 nm 时,需重验时序收敛带来的功能异常,面试要提到“用门级仿真 + SDF 反标 + 最小周期测试”兜底。
- 签核文档清单:符合国内设计质量评审流程(如《IP 验收报告模板》V3.2)——需包含需求追踪表、覆盖率报告、异常列表、风险评级、回片测试方案,缺一不可。
答案
我会把验证拆成“六步三评”,确保 6 周内给出可 sign-off 的量化结论。
第一步,合同澄清:拿到 NDA 文档后 2 天内,列出“宣称特性 vs 缺失文档”矩阵,发邮件给供应商补齐,避免后期扯皮。
第二步,RAT 冒烟:用官方 RAT 在 Spike 上先跑通,再挂到 DUT,48 小时内必须 100% 通过;任何 FAIL 直接记为 0 级缺陷,要求供应商更版。
第三步,随机指令回环:基于开源 riscv-dv 二次开发,加入国内常用的中断风暴、调试 HALT/RESUME、功耗门控场景;在 FPGA 原型(256 MHz)跑 1×10^9 条指令,与 Spike diff 零差异。覆盖率收集到 95% 指令、90% 交叉(指令×异常×功耗模式),未覆盖点写豁免表并评审。
第四步,微架构白盒补充:对拿到的可加密 RTL,用 JasperGold 抽取 20 条关键属性——如“Load 使用地址对齐异常必须在 WB 级准确触发”,形式验证 8 小时无空证。同时用 VC-Formal 做 CSR 读写一致性检查,确保所有 4096 地址无 ghost 写。
第五步,性能/功耗基线:在 SMIC 14 nm 网表回注 SDPF,跑 Dhrystone 2.1 测得 2.38 DMIPS/MHz,达到宣称 2.4 的 99%;PowerArtist 回注 VCD 后测动态功耗 0.18 mW/MHz,低于合同 0.2 mW/MHz,直接 PASS。
第六步,回片测试提前布局:编写 ATE 模式,覆盖所有 RAT 用例 + 24 条自定义指令,确保回片当天就能在 93K 上跑通,降低量产风险。
三评节点:2 周做中期评审,输出风险清单;4 周做预 sign-off,遗留缺陷≤5 个且评级≤2 级;6 周正式 sign-off,所有文档归档到配置库,并在评审会上给出“建议流片/不建议流片”的明确结论。
如此可在紧张的项目周期内,既满足国际合规,又兼顾国内工艺和客户指标,最终交付一颗“敢签字”的 RISC-V 核。
拓展思考
- 若第三方只交付网表且禁止扫描链插入,如何验证其是否隐藏硬件木马?——可在国内具有资质的“第三方安全测评实验室”做功耗侧信道分析(SPA/DPA),结合电磁辐射测试,发现异常峰值;同时用形式化等价验证工具(如 Synopsys HECTOR)确认网表与公开 RTL 形式等价,防止后门指令。
- 当 RISC-V 核集成到车规 MCU,需满足 ISO 26262 ASIL-D,验证流程如何叠加?——在传统功能覆盖率基础上,增加“安全机制覆盖率”指标(如双核锁步、ECC 自检),用 FMEDA 工具回溯故障注入,确保单点故障度量 SPFM ≥99%, latent 故障度量 LFM ≥90%。
- 国内出现“RISC-V 核授权费按芯片出货量阶梯收费”模式,验证团队如何保护客户商业机密?——需在验证环境中剥离所有供应商加密模型,采用“黑盒指令流 + 自研参考模型”方式,确保覆盖率数据库不含任何供应商 IP 信息,同时把 log 匿名化后再回传,满足双方审计要求。