处理器核心的硅后验证:Reversi测试生成系统解析
1. 传统硅后功能验证方法
在工业领域,硅后功能验证通常采用两种类型的测试:参数化定向测试和约束随机(或伪随机)测试。
- 参数化定向测试 :能够提供较高的覆盖率,但开发过程需要大量的人力投入。
- 约束随机测试 :可以自动生成仅包含有效指令序列的伪随机测试,但往往覆盖率较低。更重要的是,执行随机测试序列后处理器的最终状态是未知的。因此,工程师必须模拟设计的黄金模型来计算处理器的最终状态,并将其与实际硬件原型的状态转储进行对比。
这种传统方法存在性能瓶颈,因为黄金模型的模拟速度比硬件执行慢几个数量级,导致最终状态的计算成为整个验证工作的瓶颈。
2. Reversi测试生成系统概述
为了解决上述问题,提出了基于Reversi的硅后验证解决方案。Reversi是一个测试生成器,它生成的测试结果在构建时就是已知的。
- 工作原理 :许多处理器指令集架构(ISA)中的指令都有对应的逆操作。例如,某些指令可以恢复特定寄存器的值、清除一组标志等。如果没有单个指令可以反转另一个指令的操作,也可以设计一个小程序序列来达到相同的效果。
- 验证流程 :基于Reversi的硅后验证流程不需要架构模拟器。随机可逆程序可以在测试板或硬件原型本身上生成。这些程序的特点是,在正确执行时,处理器的初始状态和最终状态相匹配。因此,当观察到原型的初始状态和执行测试后的最终状态之间存在差异时,就会标记出错误。
超级会员免费看
订阅专栏 解锁全文
68

被折叠的 条评论
为什么被折叠?



