Efficient Debugging of Multiple Design Errors
After functional verification detects a failure, design debugging aims to find all locations in the design that could be responsible for the observed error. The task of debugging becomes more difficult in modern designs because of the presence of multiple design errors. Multiple design errors exponentially increase the solution space of the debugging problem, leading to an intractable problem. This work aims to manage the complexity of multiple design errors within existing automated design debugging frameworks by using unsatisfiable cores to reduce the solution space. It builds upon previous work to generalize the generation and application of unsatisfiable cores for this purpose.