I/O Bank Assignment Using 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 FPGAs, face challenges in ensuring feasibility and compatibility due to constraints like voltage requirements, location, and relationally placed macros, with heuristic approaches not guaranteeing feasible solutions and Integer Linear Programming (ILP) formulations being complex to reformulate for additional attributes.

Innovation Solution

A method that assigns I/O objects to banks by establishing linear constraints, including range and location constraints, and defining mutual relationships, using a linear objective function to determine feasibility, while accommodating different I/O standards and relationally placed macros, allowing for the classification of I/O objects and adjustment of bank capacities based on locked objects and RPM constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If heuristic approaches are used for I/O object assignment, then the process is simpler and faster, but feasible solutions are not guaranteed

Engineering Contradiction:
Improvesimplicity of assignment processVSAvoidfeasibility guarantee
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent replaces heuristic algorithms with an Integer Linear Programming (ILP) formulation to solve the I/O object assignment problem. This substitution transforms the complex optimization problem into a systematic mathematical model that can be solved using ILP solvers, ensuring both feasibility and optimality without relying on heuristic guesses.

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

Solution Approach 2:

The patent reformulates the assignment problem by changing the parameters and constraints into a standardized ILP format. By defining decision variables, objective functions, and constraints in terms of I/O objects, banks, and their relationships, the system transforms the complex assignment problem into a solvable mathematical program that guarantees feasible solutions.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If ILP formulation is used for I/O object assignment, then feasible solutions are guaranteed, but the formulation becomes complex when additional attributes are added

Engineering Contradiction:
Improvefeasibility guaranteeVSAvoidcomplexity of ILP formulation
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a universal ILP formulation framework that can handle multiple I/O assignment scenarios (select I/O objects, clock I/O objects, range constraints, location constraints, RPM constraints) using a single unified model. This multi-functional approach allows the same basic formulation to accommodate various constraints and object types without requiring separate complex formulations for each case.

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

Solution Approach 2:

The patent segments the I/O assignment problem into distinct components: decision variables for object-to-bank assignment, constraints for voltage compatibility and bank capacity, and separate constraint blocks for range, location, and RPM requirements. This segmentation allows the complex formulation to be broken down into manageable, modular components that can be systematically constructed and solved.

Inventive Principle:
Principle #1Segmentation

3Speed

If clock I/O objects are assigned to dedicated clock I/O sites only, then clocking performance is optimized, but flexibility in bank assignment is reduced

Engineering Contradiction:
Improveclocking performanceVSAvoidbank assignment flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent applies different assignment rules to different types of I/O objects based on their local requirements. Clock I/O objects are constrained to dedicated clock I/O sites to ensure optimal clocking performance, while select I/O objects can be assigned to any compatible bank. This local differentiation allows the system to optimize performance for critical components without sacrificing overall system flexibility.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic constraint handling where the assignment possibilities for different I/O objects are determined by their specific requirements. The ILP formulation automatically adjusts the feasible assignment space based on object type, with clock I/O objects having restricted domains (dedicated sites) and select I/O objects having broader domains (any compatible bank), allowing flexible optimization based on actual design needs.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7451422B1Simultaneous assignment of select I/O objects and clock I/O objects to banks using integer linear programming
Publication Date: 2008.11.11 XILINX INC
  • US7451422B1 patent drawing
  • US7451422B1 patent drawing
  • US7451422B1 patent drawing

AI summary

A method of assigning I/O objects to banks of a target device can include concurrently assigning I/O objects, including select I/O objects and clock I/O objects, of the circuit design to I/O groups according to an I/O standard associated with each I/O object. Each I/O group can include only I/O objects of a same I/O standard. The method also can include establishing a plurality of linear constraints for regulating assignment of the I/O groups to banks of the target device. The linear constraints can include range constraints indicating I/O banks capable of hosting clock I/O objects. The method also can include defining mutual relationships among selected ones of the linear constraints. An indication as to whether a feasible solution exists for assignment of the I/O groups to banks of the target device can be provided by minimizing a linear objective function while observing the linear constraints and the mutual relationships.