Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Software-based Self-Testing using Bounded Model Checking for Out-of-Order Superscalar Processors
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems ( IF 2.7 ) Pub Date : 2020-03-01 , DOI: 10.1109/tcad.2018.2890695
Ying Zhang , Krishnendu Chakrabarty , Zebo Peng , Ahmed Rezine , Huawei Li , Petru Eles , Jianhui Jiang

Generating functional tests for processors has been a challenging problem for decades in the very large-scale integration testing field. This paper presents a method that generates software-based self-tests by leveraging bounded model checking (BMC) techniques and targeting, for the first time, out-of-order [out-of-order execution (OOE)] superscalar processors. To combat the state-space explosion associated with BMC, the proposed method starts by combining module-level abstraction-refinement with slicing to reduce the size of the model under verification. Next, an off-the-shelf BMC solver is used on the obtained extended finite-state machines to generate the leading sequences that are necessary to excite internal processor functions. Finally, constrained automatic test-pattern generation is used to cover all structural faults within every function excited by the obtained leading sequences. Experimental results show that the proposed method leads to extremely high fault coverage on the critical components corresponding to OOE operations in functional mode. The method therefore helps in tackling the over-testing problem that is inherent to the full-scan test approach.

中文翻译:

对无序超标量处理器使用有界模型检查的基于软件的自测

几十年来,在超大规模集成测试领域,为处理器生成功能测试一直是一个具有挑战性的问题。本文提出了一种通过利用有界模型检查 (BMC) 技术和首次针对无序 [无序执行 (OOE)] 超标量处理器来生成基于软件的自测的方法。为了对抗与 BMC 相关的状态空间爆炸,所提出的方法首先将模块级抽象细化与切片相结合,以减小被验证模型的大小。接下来,在获得的扩展有限状态机上使用现成的 BMC 求解器来生成激发内部处理器功能所需的前导序列。最后,受约束的自动测试模式生成用于覆盖由获得的前导序列激发的每个功能内的所有结构故障。实验结果表明,所提出的方法在功能模式下对应于 OOE 操作的关键组件上导致极高的故障覆盖率。因此,该方法有助于解决全扫描测试方法固有的过度测试问题。
更新日期:2020-03-01
down
wechat
bug