Word-level predicate-abstraction and refinement techniques for verifying RTL Verilog

被引:13
|
作者
Jain, Himanshu [1 ]
Kroening, Daniel [2 ]
Sharygina, Natasha [3 ]
Clarke, Edmund M. [1 ]
机构
[1] Carnegie Mellon Univ, Dept Comp Sci, Pittsburgh, PA 15232 USA
[2] Univ Oxford, Comp Lab, Oxford OX1 3QD, England
[3] Univ Lugano, Fac Informat, CH-3000 Lugano, Switzerland
基金
美国安德鲁·梅隆基金会; 美国国家科学基金会;
关键词
model checking (MC); predicate abstraction; refinement; register transfer level (RTL); satisfiability (SAT); verification;
D O I
10.1109/TCAD.2007.907270
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
As a first step, most model checkers used in the hardware industry convert a high-level register-transfer-level (RTL) design into a netlist. However, algorithms that operate at the netlist level are unable to exploit the structure of the higher abstraction levels and, thus, are less scalable. The RTL of a hardware description language such as Verilog is similar to a software program with special features for hardware design such as bit-vector arithmetic and concurrency. This paper uses predicate abstraction, a software verification technique, for verifying RTL Verilog. There are two challenges when applying predicate abstraction to circuits: 1) the computation of the abstract model in presence of a large number of predicates and 2) the discovery of suitable word-level predicates for abstraction refinement. We address the first problem using a technique called predicate clustering. We address the second problem by computing the weakest preconditions of Verilog statements in order to obtain new word-level predicates during abstraction refinement. We compare the performance of our technique with localization reduction, a netlist-level abstraction technique, and report improvements on a set of benchmarks.
引用
收藏
页码:366 / 379
页数:14
相关论文
共 3 条
  • [1] Word level predicate abstraction and refinement for verifying RTL verilog
    Jain, H
    Kroening, D
    Sharygina, N
    Clarke, E
    42ND DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2005, 2005, : 445 - 450
  • [2] Predicate Abstraction and Refinement for Verifying Multi-Threaded Programs
    Gupta, Ashutosh
    Popeea, Corneliu
    Rybalchenko, Andrey
    ACM SIGPLAN NOTICES, 2011, 46 (01) : 331 - 344
  • [3] Automatic Word-level Abstraction of Datapath
    Yu, Cunxi
    Ciesielski, Maciej
    2016 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), 2016, : 1718 - 1721