现代处理器的后硅验证与运行时验证
1. 处理器验证的背景与挑战
随着现代处理器设计的复杂度不断增加,生产周期逐渐缩短,越来越多的错误会进入到已发布的产品中。这些逃逸的错误可能会对消费者系统的安全性和稳定性产生巨大影响,损害制造公司的形象,并造成重大的经济损失。近年来,多核处理器芯片的发展趋势,伴随着复杂的内存子系统和有时不确定的通信延迟,使得问题更加严重,逃逸的错误更加隐蔽但也更具破坏性。
传统的预硅仿真和形式验证解决方案在应对现代多核系统的复杂性时显得越来越力不从心,因此,功能后硅验证和运行时验证正成为现代微处理器开发过程中至关重要的组成部分。后硅验证相比预硅仿真具有数量级的性能提升,同时能提供非常高的覆盖率。运行时验证解决方案则通过在硬件中添加片上监控器和检查模块,能够检测部署在实际场景中的系统中的错误执行,并动态地从中恢复。
2. 验证技术分类
2.1 预硅验证
- 从规格到微架构描述 :将处理器的规格转化为微架构描述,为后续的验证工作奠定基础。
- 逻辑仿真验证 :利用设计结构的模型(通常用专门的硬件编程语言编写),通过向模型提供输入激励并评估其响应来验证设计。
- 形式验证 :将设计视为其功能的数学描述,专注于证明其功能行为的各种属性。
- 逻辑优化和等价验证 :对逻辑进行优化,并验证不同设计版本之间的等价性。
- 仿真及其他 :使用如FPGA等进