芯片设计预备役
刚做完一个汽车MCU项目,正好搞过这个。1. 检查位置:锁步核比较错误这类,我们在对比核的输出端放了个比较器(作为参考模型的一部分),一旦失配就触发中断,然后在中端服务程序的scoreboard里检查状态寄存器。ECC错误注入则是在memory agent里加了个错误注入层,可以随机翻转读写数据中的特定位。2. 故障模拟:我们没买VIP,自己用SystemVerilog写了个fault_injector类,可以绑定到任何信号上,用随机间隔和随机类型(固定0/1、翻转、延时)注入故障。关键是要建个故障场景库,面试时可以提FMEA(失效模式与影响分析)驱动测试场景。3. 覆盖点不同:必须增加安全机制相关的覆盖组,比如:错误注入类型是否全覆盖、安全机制检测到错误的时间窗口是否在指定周期内、错误纠正/未纠正的路径、从错误中恢复后系统状态是否正常。记住,功能安全验证的核心是证明机制在故障下可靠,而不仅仅是功能正常。
