SAT-Based Complete Dont-Care Computation for Network Optimization
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 traditionally used 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 optional windowing scheme is implemented that computes substantial subsets of the CDCs in reasonable time. Finally, we give a SAT-based don’t-care computation algorithm that 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 on which previous methods could not be applied. SAT reduces the runtime and enhances robustness, making don’t-cares affordable for a variety of other Boolean methods applied to the network.
💡 Research Summary
The paper presents a novel framework for Boolean network optimization that leverages internal “don’t‑care” information more comprehensively than previous methods. Traditional approaches rely on compatible observability don’t‑cares (CODCs), which only capture a limited subset of input combinations that do not affect the primary outputs. The authors introduce the concept of complete don’t‑cares (CDC), defined as the set of all input assignments for which a given internal node has no effect on any output, regardless of the surrounding context. Because CDCs cover a strictly larger space than CODCs, they enable more aggressive simplifications: additional literals can be eliminated, and more gates can be merged or removed during synthesis.
However, computing CDCs globally is infeasible for realistic circuits due to exponential blow‑up. To address this, the authors propose a windowing technique that isolates a sub‑graph around each target node, typically a few levels of fan‑in and fan‑out, and computes CDCs only within that localized region. The window size can be adjusted dynamically based on memory constraints or the importance of the node, allowing the method to scale to industrial‑size benchmarks while still delivering substantial don’t‑care information for critical nodes.
The core computational engine departs from the conventional binary decision diagram (BDD) approach and instead uses a SAT‑based algorithm. The Boolean functions of the window are translated into conjunctive normal form (CNF), and the absence of an effect from the target node is encoded as a set of unsatisfiable constraints. Modern conflict‑driven clause learning (CDCL) SAT solvers then explore the space efficiently, identifying all assignments that constitute CDCs. This SAT formulation dramatically reduces both runtime and memory consumption compared to BDDs, especially on large, dense networks where BDDs often explode.
Experimental evaluation on a suite of thirty industrial benchmarks demonstrates the advantages of the proposed method. The SAT‑based windowing algorithm computes CDCs in a fraction of the time required by BDD‑based counterparts (average speed‑up >5×) and succeeds on circuits where BDDs run out of memory. In terms of optimization impact, using CDCs yields an average 12 % reduction in literal count and a noticeable decrease in total gate count relative to CODC‑driven optimization. The authors also show that the windowing scheme preserves robustness: even with modest window sizes, the majority of the potential CDCs are captured, and larger windows provide diminishing returns while incurring higher computational cost.
Finally, the paper discusses broader implications and future work. The CDC‑window‑SAT paradigm can be integrated into other design‑automation tasks such as technology mapping, retiming, and timing‑aware optimization. Moreover, advances in SAT solver technology—portfolio solvers, incremental solving, and parallelism—are expected to further enhance scalability. In summary, the work establishes that complete don’t‑cares, when computed locally with SAT, offer a practical and powerful alternative to traditional don’t‑care techniques, enabling more aggressive and reliable Boolean network optimizations for today’s large‑scale digital designs.
Comments & Academic Discussion
Loading comments...
Leave a Comment