Model Checking of Verilog RTL Using IC3 with Syntax-Guided Abstraction
Model Checking of Verilog RTL Using IC3 with Syntax-Guided Abstraction
复制标题
使用具有语法引导抽象的 IC3 对 Verilog RTL 进行模型检查
DOI:
10.1007/978-3-030-20652-9_11
复制
发表时间:
2019
影响因子:
7.4
通讯作者:
K. Sakallah
中科院分区:
文献类型:
--
作者:
Aman Goel;K. Sakallah
While bit-level IC3-based algorithms for hardware model checking represent a major advance over prior approaches, their reliance on propositional clause learning poses scalability issues for RTL designs with wide datapaths and complex word-level operations. In this paper we present a novel technique that combines IC3 with syntax-guided abstraction (SA) to allow scalable word-level model checking using SMT solvers. SA defines the abstraction implicitly from the syntax of the input problem, has high granularity and an abstract state-space size completely independent of the bit widths of the design’s registers. We show how to efficiently integrate IC3 with SA, and demonstrate its effectiveness on a suite of open-source and industrial Verilog RTL designs. Additionally, SA aligns easily with data abstraction using uninterpreted functions. We demonstrate how IC3+SA with data abstraction allows reasoning that is completely independent of the bit width of variables, and becomes scalable irrespective of the state-space size or complexity of operations.