Macro-block Pin Placement Using Constraint Programming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current macro-block pin-assignment methods in integrated circuit design are inefficient, often requiring manual intervention and multiple iterations to meet timing constraints, leading to delayed chip release and increased complexity in high-performance microprocessor designs.

Innovation Solution

The use of Constraint Programming (CP) techniques for automated macro-block pin assignment, which honors bus-ordering and pin-spacing constraints while considering all nets concurrently, minimizing interconnect length and wire crossings by placing pins on the periphery of macro-blocks and optimizing their relative order within buses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual pin assignment is used during floorplanning, then design flexibility and control are improved, but design time and complexity increase significantly

Engineering Contradiction:
Improvedesign flexibilityVSAvoiddesign time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs self-optimization by automatically adjusting pin assignments based on timing constraints and routing requirements. The constraint programming solver autonomously finds optimal pin placements without requiring manual intervention, thereby reducing design time while maintaining flexibility through automated constraint-based decision making.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The method dynamically changes pin assignment parameters based on timing constraints and routing feasibility. By adjusting pin locations and assignments as parameters rather than fixed manual decisions, the system adapts to different design requirements automatically, reducing the time needed for iterative manual adjustments.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If pin assignments are changed to meet timing constraints, then timing compliance is improved, but routing complexity and potential layout changes increase

Engineering Contradiction:
Improvetiming complianceVSAvoidrouting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The constraint programming solver performs preliminary optimization of pin assignments before routing is finalized. By pre-determining optimal pin locations that satisfy timing constraints, the system avoids subsequent complex routing changes and layout adjustments, thereby maintaining routing simplicity while ensuring timing compliance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system incorporates feedback loops where timing analysis results feed back into pin assignment adjustments. The constraint programming solver continuously refines pin assignments based on timing feedback, ensuring compliance while minimizing routing complexity through iterative automated optimization rather than manual redesign.

Inventive Principle:
Principle #23Feedback

3Reliability

If multiple iterations of pin assignment and routing are performed, then timing constraints are met, but chip release date is delayed

Engineering Contradiction:
Improvetiming constraint satisfactionVSAvoidchip release date
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The constraint programming solver provides continuous optimization in a single integrated process rather than discrete iterative cycles. The solver continuously adjusts pin assignments and routing paths simultaneously, achieving timing compliance without the repeated cycles of manual iteration, thereby maintaining timeline continuity and avoiding delays.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The method replaces the mechanical iterative process of manual pin assignment and routing with an automated constraint programming system. This substitution eliminates the need for repeated manual iterations, achieving timing constraint satisfaction through computational optimization in a single pass, thereby preventing chip release date delays.

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

4Area of stationary object

If dense routing is used in high performance custom layouts, then space utilization is improved, but routing changes due to pin reassignment become more frequent

Engineering Contradiction:
Improvespace utilizationVSAvoidrouting stability
Core Design Contradiction:
Area of stationary objectVSDevice complexity

Solution Approach 1:

The constraint programming solver performs preliminary optimization of pin assignments before routing is finalized. By pre-determining optimal pin locations that satisfy timing constraints, the system avoids subsequent complex routing changes and layout adjustments, thereby maintaining routing simplicity while ensuring timing compliance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8234615B2Constraint programming based method for bus-aware macro-block pin placement in a hierarchical integrated circuit layout
Publication Date: 2012.07.31 GLOBALFOUNDRIES US INC
  • US8234615B2 patent drawing
  • US8234615B2 patent drawing
  • US8234615B2 patent drawing

AI summary

Assigning pins to macro-blocks of an Integrated Circuit (IC) chip is described. The macro-block pin assignments are automatically placed using Constraint Programming (CP) techniques to position the pins on the periphery of a macro-block. Bus-ordering and pin-spacing constraints are performed considering all the nets forming the IC design simultaneously. The CP formulation includes modeling detailed and discrete constraints required to achieve an optimal pin-assignment. A stochastic CSP solver is used to define the cost function on search points giving full assignments to all the variables. The macro-block pins are ultimately moved to computed locations.