I/O Object Assignment to Mixed-Capacity Banks via Integer Linear Programming

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveassignment process speedVSAvoidsolution feasibility guarantee
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If Integer Linear Programming is used to assign I/O objects to banks, then solution feasibility is guaranteed, but the computational complexity increases

Engineering Contradiction:
Improvesolution feasibility guaranteeVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
ImproveI/O resource utilizationVSAvoidconstraint management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
ImproveI/O placement accuracyVSAvoidassignment problem solving difficulty
Core Design Contradiction:
Manufacturing precisionVSDifficulty of detecting and measuring

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7480884B1Assignment of select I/O objects to banks with mixed capacities using integer linear programming
Publication Date: 2009.01.20 XILINX INC
  • US7480884B1 patent drawing
  • US7480884B1 patent drawing
  • US7480884B1 patent drawing

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.