Macro-block Pin Placement Using Constraint Programming
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If pin assignments are changed to meet timing constraints, then timing compliance is improved, but routing complexity and potential layout changes increase
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.
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.
3Reliability
If multiple iterations of pin assignment and routing are performed, then timing constraints are met, but chip release date is delayed
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.
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.
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
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.
Data Source
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.


