Hierarchical Macro Placement for IC Layout Area Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for integrated circuit (IC) macro placement struggle to optimize die size and layout area, leading to increased manufacturing costs and potential congestion in routing paths, which affects the efficiency of the placement and routing process.

Innovation Solution

A method that involves dividing macro blocks into groups based on hierarchy, optimizing rectangle placements, and adjusting channel widths to achieve a smooth and efficient macro placement, utilizing electronic design automation tools to select optimal placements and improve routability while minimizing congestion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Area of stationary object

If traditional macro placement methods are used, then the placement process is simpler, but the die size and layout area are not optimized, leading to increased manufacturing costs

Engineering Contradiction:
Improvelayout areaVSAvoidplacement process complexity
Core Design Contradiction:
Area of stationary objectVSDevice complexity

Solution Approach 1:

The macro blocks are divided into multiple groups based on hierarchy levels. Each group is placed independently using dynamic programming, breaking down the complex overall placement problem into smaller, manageable sub-problems that can be optimized separately while maintaining overall optimality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic macro channel widths that can be adjusted during the placement process. The channel width between macro blocks is dynamically determined based on routing requirements and group configurations, allowing the placement structure to adapt to different routing needs and optimize the layout area accordingly.

Inventive Principle:
Principle #15Dynamics

2Productivity

If traditional macro placement methods are used, then the placement process is faster, but routing congestion occurs, affecting the efficiency of the placement and routing process

Engineering Contradiction:
Improverouting efficiencyVSAvoidplacement and routing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs macro placement before detailed cell placement and routing. By pre-positioning macro blocks in an optimized hierarchical structure with dynamically adjusted channel widths, the method prepares the layout to minimize future routing congestion, allowing subsequent routing processes to proceed more efficiently without requiring extensive back-and-forth adjustments.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Different channel widths are assigned to different regions between macro blocks based on local routing requirements. High-density routing areas receive wider channels, while low-density areas use narrower channels, optimizing routing capacity allocation and preventing congestion in critical areas without wasting space in non-critical areas.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9892226B2Methods for providing macro placement of IC
Publication Date: 2018.02.13 MEDIATEK INC
  • US9892226B2 patent drawing
  • US9892226B2 patent drawing
  • US9892226B2 patent drawing

AI summary

A method for providing a macro placement of an integrated circuit is provided. An initial placement of the integrated circuit is obtained, wherein the initial placement includes a plurality of first macro blocks. The first macro blocks are divided into a plurality of groups according to the hierarchy of the integrated circuit. A value of layout area is obtained for each of the groups according to macro areas of the first macro blocks. A plurality of candidate placements are obtained for each of the groups according to the value of placement area corresponding to the group, wherein the candidate placement includes the first macro blocks corresponding to the group. A first macro placement is obtained according to a specific placement o selecting from the candidate placements for each of the groups.