Efficient algorithms for debugging timing constraint violations

  • Authors:
  • Ali Dasdan

  • Affiliations:
  • Synopsys, Inc., Mountain View, CA

  • Venue:
  • Proceedings of the 8th ACM/IEEE international workshop on Timing issues in the specification and synthesis of digital systems
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

A system of binary linear constraints or difference constraints (SDC) consists of a set of variables that are constrained by a set of unary or binary linear inequalities. In such diverse applications as scheduling, interface timing verification, real-time systems, multimedia systems, layout compaction, and constraint satisfaction, SDCs have successfully been used to model systems of both temporal and spatial constraints. Formally, an SDC is modeled by a weighted, directed graph called a constraint graph. The consistency (or feasibility) of an SDC means that there is at least one instantiation (or solution) of its variables that satisfies all its constraints. It is well known that the absence of positive cycles in a constraint graph implies the consistency of the corresponding SDC, so the consistency can be decided in strongly polynomial time. If the system is consistent, a solution can also be found in strongly polynomial time. However, if the system is inconsistent, there is no solution unless the system is repaired (or debugged). The debugging task is equivalent to freeing the corresponding constraint graph from all its positive cycles. All the previous algorithms for this task take time proportional to the number of positive cycles in the graph, which can grow exponentially. We have recently proposed a provably strongly polynomial-time algorithm for this task, i.e., an algorithm whose time complexity is polynomial in the size of the input constraint graph. In this paper, we propose extensions of this algorithm for different debugging scenarios. We theoretically and experimentally justify the efficiency and efficacy of our algorithms.