I/O Block Placement in PLDs Using Integer Linear Programming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for intra-bank placement of I/O blocks in programmable logic devices (PLDs) face challenges in proving feasibility and efficiency, especially when dealing with mixed sets of single I/O blocks and Relatively Placed Modules (RPMs), due to compatibility and resource constraints, leading to inconsistent results and dependency on ordering.

Innovation Solution

The use of Integer Linear Programming (ILP) formulation for I/O block placement, which allows for simultaneous placement of single and RPM groups without ordering dependencies, using a binary placeability matrix and ILP variables to determine feasibility and optimize placement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If traditional sequential placement methods are used for I/O blocks, then the placement process is simpler to implement, but the results are inconsistent and dependent on ordering

Engineering Contradiction:
Improveease of implementationVSAvoidconsistency of placement results
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent transforms the placement problem from a sequential heuristic process into a mathematical optimization problem by changing the parameters from simple placement coordinates to integer linear programming variables with explicit feasibility constraints. This allows the solver to systematically explore the solution space and guarantee optimal feasibility determination without ordering dependencies.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If Integer Linear Programming formulation is used for I/O block placement, then placement feasibility can be quickly and unambiguously detected and placement efficiency is optimized, but the computational complexity and formulation effort increase

Engineering Contradiction:
Improveplacement efficiencyVSAvoidformulation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces the mechanical sequential placement process with a mathematical Integer Linear Programming formulation. By substituting the heuristic mechanical approach with a formal mathematical optimization framework, the system achieves guaranteed optimal feasibility detection and placement efficiency while the formulation complexity is managed through systematic constraint development.

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

3Productivity

If I/O blocks are placed without considering compatibility constraints, then the placement process is faster, but incompatible I/O standards may be assigned to the same bank

Engineering Contradiction:
Improveplacement speedVSAvoidcompatibility of I/O standards
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent incorporates compatibility constraints directly into the ILP formulation before the placement optimization is performed. By pre-defining which I/O blocks can be placed in which banks based on electrical parameter compatibility, the system ensures that feasibility is determined correctly from the outset without requiring post-placement validation or iteration.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7958480B1Placement of I/O blocks within I/O banks using an integer linear programming formulation
Publication Date: 2011.06.07 XILINX INC
  • US7958480B1 patent drawing
  • US7958480B1 patent drawing
  • US7958480B1 patent drawing

AI summary

A method of input/output (I/O) block placement assigned to an input/output bank includes formulating a placement algorithm using integer linear programming (ILP) and simultaneously placing single groups and Relatively Placed Module (RPM) groups of I/O blocks in the I/O bank. The method further includes determining a placeability matrix P and a binary assignment matrix X used for the ILP. The method can further eliminate all assignment matrix elements of X equal to 0 in the integer linear programming and re-index any remaining elements. The method can further place all I/O blocks according to a solution if solving of the standard ILP formulation results in a feasible solution. Optionally, the method generates a placement solution that is as close as possible to an external reference solution specified by designer. Optionally, the method analyzes which constraints were violated and generates useful error information.