Exploiting signal unobservability for efficient translation to CNF in formal verification of microprocessors

被引:20
|
作者
Velev, MN
机构
关键词
D O I
10.1109/DATE.2004.1268859
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The paper presents a method for translating Boolean circuits to CNF by identifying trees of ITE operators, where each ITE has fanout count of 1, and representing every such tree with a single set of equivalent CNF clauses without intermediate variables for ITE outputs, except for the tree output. This not only eliminates intermediate variables, but also reduces the number of clauses, compared to conventional translation to CNF where each ITE is assigned an output variable and is represented with a separate set of clauses. Other gates with fanout count of I are similarly merged with their fanout gate to generate a single set of equivalent clauses. This translation to CNF was implemented in a decision procedure for the logic of Equality with Uninterpreted Functions and Memories (EUFM), and was applied to formulas from formal verification of microprocessors. To increase the number of ITE-trees in the Boolean formulas, the decision procedure was optimized to preserve the ITE-tree structure of arguments to equality comparisons. In conventional translation to CNF with the unoptimized decision procedure, the benchmark formulas require up to hundreds of thousands of CNF variables and millions of clauses. The best translation strategy reduced the CNF variables by up to 8x; the clauses by up to 17x; the SAT-solver decisions by up to 79x; the SAT-solver conflicts by up to 96x; and accelerated the SAT solving by up to 420x.
引用
收藏
页码:266 / 271
页数:6
相关论文
共 50 条
  • [1] Efficient translation of boolean formulas to CNF in formal verification of microprocessors
    Velev, MN
    [J]. ASP-DAC 2004: PROCEEDINGS OF THE ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE, 2004, : 310 - 315
  • [2] FORMAL VERIFICATION OF MICROPROCESSORS
    SRIVAS, M
    BICKFORD, M
    [J]. COMPASS 89 : PROCEEDINGS OF THE FOURTH ANNUAL CONFERENCE ON COMPUTER ASSURANCE: SYSTEMS INTEGRITY, SOFTWARE SAFETY AND PROCESS SECURITY, 1989, : 93 - 102
  • [3] FORMAL MODELING AND VERIFICATION OF MICROPROCESSORS
    WINDLEY, PJ
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 1995, 44 (01) : 54 - 72
  • [4] Formal verification of iterative algorithms in microprocessors
    Aagaard, MD
    Jones, RB
    Kaivola, R
    Kohatsu, KR
    Seger, CJH
    [J]. 37TH DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2000, 2000, : 201 - 206
  • [5] Formal verification of explicitly parallel microprocessors
    Cook, B
    Launchbury, J
    Matthews, J
    Kieburtz, D
    [J]. CORRECT HARDWARE DESIGN AND VERIFICATION METHODS, 1999, 1703 : 23 - 36
  • [6] An Algebraic Approach to Formal Verification of Microprocessors
    Kanji Hirabayashi
    [J]. Journal of Electronic Testing, 2001, 17 : 543 - 544
  • [7] An algebraic approach to formal verification of microprocessors
    Hirabayashi, K
    [J]. JOURNAL OF ELECTRONIC TESTING-THEORY AND APPLICATIONS, 2001, 17 (06): : 543 - 544
  • [8] Abstract modeling and formal verification of microprocessors
    Hanna, Ziyad
    [J]. Computer Science - Theory and Applications, 2007, 4649 : 23 - 23
  • [9] Exploiting Hardware Unobservability for Low-Power Design and Safety Analysis in Formal Verification-Driven Design Flows
    Udupi, Shrinidhi
    Urdahl, Joakim
    Stoffel, Dominik
    Kunz, Wolfgang
    [J]. IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 2019, 27 (06) : 1262 - 1275
  • [10] Exploiting Refactoring in Formal Verification
    Yin, Xiang
    Knight, John
    Weimer, Westley
    [J]. 2009 IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS & NETWORKS (DSN 2009), 2009, : 53 - 62