Automated Macro-Block Placement Using Genetic Evolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The manual placement of macro-blocks in integrated circuit design is time-consuming and often results in suboptimal solutions, as it requires manual intervention to satisfy design constraints and minimize complexity and wire-length, while also dealing with the challenge of overlapping macros which further complicates the process.

Innovation Solution

An automated method is introduced that uses genetic evolution principles to iteratively generate new placements by selecting positions of macros proportionate to their optimalness, and removes overlaps by determining the cumulative movement distances of macros to minimize aggregate movement, thereby achieving optimal placement without manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If manual placement of macro-blocks is used, then placement can be optimized for specific design constraints, but the process becomes time-consuming and complex

Engineering Contradiction:
Improveplacement optimizationVSAvoidplacement time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs self-optimization through automated genetic evolution algorithms that iteratively improve placements without human intervention. The placement tool autonomously evaluates and selects optimal configurations based on design constraints, eliminating the need for manual optimization while maintaining high placement quality.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical placement processes with computational algorithms. Genetic evolution algorithms automatically generate, evaluate, and select placements based on objective functions, substituting human expertise with automated computational methods that are both faster and consistent.

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

2Productivity

If automated placement is introduced, then time consumption is reduced, but ensuring optimal placement becomes more complex

Engineering Contradiction:
Improveplacement speedVSAvoidplacement algorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The placement problem is segmented into discrete macro-blocks that can be independently optimized. Each macro-block is treated as a separate entity in the genetic evolution process, allowing the complex placement problem to be broken down into manageable units that can be optimized through iterative algorithms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes parameters such as placement coordinates, macro-block sizes, and design constraints dynamically during the optimization process. By adjusting these parameters through genetic evolution, the system achieves optimal placements while managing algorithmic complexity through controlled parameter variation.

Inventive Principle:
Principle #35Parameter changes

3Length of moving object

If macro-blocks are placed to minimize wire-length, then signal integrity improves, but overlapping macros occur which complicates the process

Engineering Contradiction:
Improvewire-lengthVSAvoidoverlap resolution complexity
Core Design Contradiction:
Length of moving objectVSDevice complexity

Solution Approach 1:

The patent converts the harmful effect of overlapping macros into a beneficial optimization opportunity. By allowing overlaps in the genetic evolution process and then systematically resolving them, the system learns from overlap situations to create more robust placement algorithms that prevent future overlaps while minimizing wire-length.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Solution Approach 2:

The system incorporates feedback mechanisms that detect overlapping macros and adjust the optimization process accordingly. The genetic evolution algorithm uses feedback from overlap detection to modify placement strategies, ensuring that wire-length minimization does not result in unacceptable overlaps.

Inventive Principle:
Principle #23Feedback

4Area of stationary object

If standard cell placement area is maximized, then circuit functionality improves, but placement flexibility is reduced

Engineering Contradiction:
Improvestandard cell placement areaVSAvoidplacement flexibility
Core Design Contradiction:
Area of stationary objectVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic placement strategies where the standard cell placement area is determined through iterative optimization rather than fixed constraints. The genetic evolution algorithm dynamically adjusts placement configurations to maximize standard cell area while maintaining the flexibility to accommodate different circuit designs and requirements.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7596773B2Automating optimal placement of macro-blocks in the design of an integrated circuit
Publication Date: 2009.09.29 TEXAS INSTRUMENTS INC
  • US7596773B2 patent drawing
  • US7596773B2 patent drawing
  • US7596773B2 patent drawing

AI summary

Automating optimal placement of macro-blocks in the design of an integrated circuit. A first set of placements is generated and corresponding measures of optimalness for each placement is computed. A new set of placements is generated, with each placement being generated from multiple (“chosen placements”) of the first set of placements. The position of each macro in the new placement is made to be at least substantially identical to the position of the corresponding macro in one of the chosen placements. The placements having high values of optimalness are selected to be the chosen placements, thereby causing the properties of desirable placements to be propagated to new set of placements, as is common in genetic evolution. Another aspect of the present invention enables automatic removal of overlaps in a placement.