This paper describes an improved approach to Boolean network optimization using internal don’t-cares. The improvements concern the type of don’t-cares computed, their scope, and the computation method. Instead of the traditional compatible observability don’t-cares (CODCs), we introduce and justify the use of complete don’t-cares (CDC). To ensure the robustness of the don’t-care computation for very large industrial networks, a windowing scheme is implemented, which computes substantial subsets of the CDCs in reasonable time. Finally, we give a SAT-based don’t-care computation algorithm, which is more efficient than BDD-based algorithms. Experimental results confirm that these improvements work well in practice. Complete don’t-cares allow for a reduction in the number of literals compared to the CODCs. Windowing guarantees robustness, even for very large benchmarks, to which previous methods cannot be applied. SAT reduces the runtime, making don’t-cares affordable for ...
Alan Mishchenko, Robert K. Brayton