I/O Object Assignment to Mixed-Capacity Banks via Integer Linear Programming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for assigning input/output (I/O) objects to banks in integrated circuits, such as field programmable gate arrays (FPGAs), face challenges in ensuring feasibility and compatibility due to constraints like voltage requirements, location, and relationally placed macros, with heuristic-based approaches being unreliable and Integer Linear Programming (ILP) formulations not fully addressing all attributes of I/O standards.
Innovation Solution
The method employs Integer Linear Programming (ILP) to assign I/O objects to banks by establishing relationships based on compatibility, bank capacity, and constraints, including resource, capacity, configuration, compatibility, and relation constraints, to determine if a feasible solution exists by minimizing an objective function that indicates the number of banks used.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If heuristic-based approaches are used to assign I/O objects to banks, then the assignment process is simplified and faster, but the reliability and feasibility of the solution cannot be guaranteed
Solution Approach 1:
The patent replaces heuristic-based mechanical assignment methods with an Integer Linear Programming (ILP) mathematical optimization system. The ILP formulation provides a rigorous framework that guarantees finding feasible solutions when they exist, while still maintaining computational efficiency through optimized solving algorithms.
Solution Approach 2:
The patent transforms the I/O assignment problem from a heuristic search process into a parameter-based mathematical optimization problem. By defining objective functions and constraints in terms of measurable parameters (compatibility matrices, bank capacities, assignment variables), the system achieves both reliability and efficiency.
2Reliability
If Integer Linear Programming is used to assign I/O objects to banks, then solution feasibility is guaranteed, but the computational complexity increases
Solution Approach 1:
The patent segments the complex I/O assignment problem into manageable components: compatibility constraints, bank capacity constraints, location constraints, and objective functions. This segmentation allows the ILP solver to efficiently process each constraint type separately while maintaining overall problem feasibility.
Solution Approach 2:
The patent transforms the combinatorial assignment problem into a parameter-based linear optimization problem. By expressing the problem in terms of linear equations and inequalities with defined parameters (compatibility matrices, capacity vectors, assignment variables), the computational complexity becomes tractable through standard ILP solving techniques.
3Adaptability or versatility
If I/O objects are assigned to banks with mixed capacities, then the utilization of available I/O resources is improved, but the complexity of managing compatibility and capacity constraints increases
Solution Approach 1:
The patent creates a universal ILP framework that can handle multiple types of constraints (compatibility, capacity, location, relational) and different bank capacity configurations through a single unified mathematical model. This universal approach manages complexity by providing a consistent methodology for diverse constraint types.
Solution Approach 2:
The patent uses parameter-based constraint definitions that can be dynamically adjusted for mixed-capacity banks. By defining bank capacities as adjustable parameters and compatibility as matrix parameters, the system adapts to different bank configurations without increasing fundamental model complexity.
4Manufacturing precision
If comprehensive constraints (resource, capacity, configuration, compatibility, relation) are enforced, then the accuracy of I/O placement is improved, but the difficulty of solving the assignment problem increases
Solution Approach 1:
The patent segments comprehensive constraints into distinct, independently definable categories (resource constraints, capacity constraints, configuration constraints, compatibility constraints, relation constraints). Each constraint type can be formulated and verified separately, reducing the difficulty of managing overall complexity while maintaining placement accuracy.
Data Source
AI summary
A method of assigning input/output (I/O) objects of a circuit design to banks of a target device using integer linear programming can include assigning the I/O objects of the circuit design to I/O groups according to compatibility among the I/O objects, and establishing a plurality of relationships, comprising measures of bank capacity, regulating assignment of the I/O objects of I/O groups to banks of the target device. Each measure of bank capacity can indicate a maximum number of I/O objects from a selected I/O group that can be assigned to a selected bank of the target device. The method also can include determining whether a feasible solution exists for assignment of the I/O objects of the circuit design to banks of the target device by minimizing an object function while observing the plurality of relationships.


