Efficient symbolic simulation via dynamic scheduling, don't caring, and case splitting

  • Authors:
  • Viresh Paruthi;Christian Jacobi;Kai Weber

  • Affiliations:
  • IBM Systems Group, Austin, TX;IBM Deutschland Entwicklung GmbH, Boeblingen, Germany;IBM Deutschland Entwicklung GmbH, Boeblingen, Germany

  • Venue:
  • CHARME'05 Proceedings of the 13 IFIP WG 10.5 international conference on Correct Hardware Design and Verification Methods
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Most computer-aided design frameworks rely upon building BDD representations from netlist descriptions. In this paper, we present efficient algorithms for building BDDs from netlists. First, we introduce a dynamic scheduling algorithm for building BDDs for gates of the netlist, using an efficient hybrid of depth- and breadth-first traversal, and constant propagation. Second, we introduce a dynamic algorithm for optimally leveraging constraints and invariants as don't-cares during the building of BDDs for intermediate gates. Third, we present an automated and complete case splitting approach which is triggered by resource bounds. Unlike prior work in case splitting which focused upon variable cofactoring, our approach leverages the full power of our don't-caring solution and intelligently selects arbitrary functions to apply as constraints to maximally reduce peak BDD size while minimizing the number of cases to be explored. While these techniques may be applied to enhance the building of BDDs for arbitrary applications, we focus on their application within cycle-based symbolic simulation. Experiments confirm the effectiveness of these synergistic approaches in enabling optimal BDD building with minimal resources.