Object-Oriented Circuit Autorouter for Complex Constraint Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current autorouters face challenges in concurrently satisfying multiple design constraints for high-end printed circuit board designs, as these constraints often conflict and cannot be expressed as a single numeric value, making it difficult to route nets effectively.
Innovation Solution
An object-oriented circuit autorouter is developed with a constraint-driven architecture that includes a routing data model, detail geometric routing engine, and command and control module, allowing for the direct handling of multiple constraints through constraint handlers and actions, objectives, and intents, enabling concurrent handling of complex constraints without relying on cost functions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple design constraints are handled by routing constrained nets first or by tuning cost functions, then timing constraints can be met, but the approach reaches its limits when almost every net has multiple design constraints that interact and conflict
Solution Approach 1:
The patent segments the routing problem by separating constraint handling from cost-based decision making. Each design constraint is treated as an independent objective that generates its own set of allowable actions, rather than trying to combine all constraints into a single cost function. This segmentation allows the system to handle multiple conflicting constraints without exponential complexity growth.
Solution Approach 2:
The patent introduces a new dimension to the routing problem by using an object-oriented framework where constraints are represented as first-class objects with their own methods and properties. This dimensional shift from numerical cost optimization to object-based constraint satisfaction enables the system to naturally handle complex, interacting constraints that cannot be expressed as simple numeric values.
2Reliability
If cost functions are tuned to prioritize delay-constrained nets, then timing constraints are met, but it becomes impossible to further tune cost functions when multiple conflicting constraints cannot be expressed as a single numeric value
Solution Approach 1:
The patent creates a universal constraint handling framework where the same object-oriented infrastructure supports all types of design constraints (timing, crosstalk, manufacturing, etc.). Each constraint type is implemented as a specialized object that inherits from a common base class, allowing the system to uniformly handle diverse constraint types without requiring separate cost function tuning mechanisms for each constraint category.
Solution Approach 2:
The patent makes the constraint handling system dynamic by allowing constraints to be added, removed, or modified at runtime without requiring complete re-tuning of cost functions. The object-oriented design enables constraints to dynamically generate their own action sets based on current routing state, allowing the system to adapt to changing design requirements and conflicting constraints flexibly.
3Productivity
If traditional autorouter algorithms are used with numerous conflicting constraints, then routing decisions become difficult or impossible, but the new object-oriented approach enables concurrent handling of complex constraints
Solution Approach 1:
The patent introduces constraint handler objects as intermediaries between the routing algorithm and the design constraints. These handler objects translate high-level constraint specifications into low-level routing actions, mediating the conflict between multiple constraints by generating compatible action sets. This intermediary layer shields the core routing algorithm from the complexity of constraint conflicts while maintaining high routing completion rates.
Data Source
AI summary
In one embodiment of the invention, an object oriented autorouter is disclosed for routing nets in a circuit. The object oriented autorouter includes a routing data model (RDM); at least one routing engine, such as a single connection router (SCR), a topographical (TOPO) transformation engine, and a detail geometric (DETAIL) engine, and a command and control module (CCM) coupled together. The RDM reads and write data with a design database as well as reading one or more object oriented design constraints. Each of the routing engines have at least one action to operate on the design database to improve compliance of the circuit to a constraint. The CCM controls the overall routing process of the nets in the circuit and includes at least one director to invoke at least one of the routing engines to achieve compliance with one or more constraints.


