Soft Constraints in High-Level Synthesis Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional high-level synthesis scheduling methods face challenges in handling conflicting constraints, as they often require strict adherence to hard constraints, leading to inconsistencies and inability to satisfy multiple design intents simultaneously, especially when constraints like target frequency and latency are contradictory.
Innovation Solution
The implementation of soft constraints, which allow for violations with the use of penalty functions in mathematical programming formulations, enables the consideration of multiple optimization directions and exploration of the design space without introducing inconsistencies, distinguishing between essential hard constraints and non-essential preferential constraints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hard constraints are strictly enforced in scheduling, then functional correctness is guaranteed, but the ability to satisfy multiple conflicting design intents simultaneously is lost
Solution Approach 1:
The patent segments constraints into two distinct categories: hard constraints (essential for functional correctness) and soft constraints (preferred but not mandatory). This segmentation allows the scheduling system to maintain reliability through hard constraints while gaining adaptability by selectively violating soft constraints when conflicts arise, thus resolving the contradiction between functional correctness and ability to satisfy multiple design intents.
Solution Approach 2:
The patent changes the parameter of constraint strictness by introducing a hierarchy where hard constraints remain strict while soft constraints become flexible. This parameter change enables the system to adjust constraint enforcement based on priority levels, allowing multiple conflicting design intents to be satisfied simultaneously by prioritizing hard constraints over soft ones.
2Manufacturing precision
If multiple conflicting constraints are specified simultaneously, then comprehensive design requirements are captured, but the scheduling solver fails to find a feasible solution
Solution Approach 1:
The patent introduces dynamics into the constraint system by making soft constraints adjustable and violatable. Instead of a static all-or-nothing constraint enforcement, the system dynamically allows violation of soft constraints when necessary to maintain overall solution feasibility. This dynamic approach enables the solver to navigate through conflicting constraints and find feasible solutions that satisfy hard constraints while minimizing soft constraint violations.
Solution Approach 2:
The patent converts the potential harm of constraint conflicts into a benefit by using penalty functions. When soft constraints are violated, penalty functions quantify the degree of violation and guide the solver toward acceptable solutions. This transformation allows conflicting constraints to provide useful information about design preferences without blocking feasible solution discovery.
3Adaptability or versatility
If the order of constraint processing is changed, then different scheduling solutions are obtained, but consistency and reliability of the scheduling result are compromised
Solution Approach 1:
The patent creates a universal constraint handling framework that processes both hard and soft constraints through a unified mathematical programming approach. This universal system eliminates the need for arbitrary processing orders by incorporating all constraints into a single objective function with penalty terms. The consistency of results is maintained because the mathematical optimization process inherently handles constraint priorities without requiring sequential processing, thus achieving both adaptability and stability.
Data Source
AI summary
A method for implementing soft constraints in scheduling comprises receiving a description of circuit behavior. The description is un-timed. A scheduling solution is generated for use in scheduling the description. The scheduling solution includes scheduling variables and an objective function. The scheduling variables schedule the time of at least one operation. The objective function includes a penalty term and constraints comprising at least one hard constraint and at least one soft constraint. The constraints are created on the scheduling variables. The penalty term comprises a slack variable representing violations of the constraints. The penalty term measures the design cost of violating the soft constraint. Following generation of the scheduling solution, the description is scheduled by applying the scheduling solution to the description. Timing information of the description is provided as an output of the scheduling.


