Design Flow & Placement:
In the VLSI design flow, placement is a crucial step in the physical design. It comes after Partitioning and Floor planning. Logic Synthesis converts a high-level RTL design into a netlist of gates and cells. Partitioning divide the larger design into smaller modules. Floor planning allocates general areas for major components and defines regions for standard cells, macros, pin assignment allocates input/output (I/O) pins. Placement is the process of determining the optimal locations for standard cells, macros, and other modules within a chip’s layout. It aims to achieve the best balance between performance, power, and area (PPA) while minimizing wire length, congestion, and delays.
Placement Phases: There are 2 placement phases in PD.
(1) Global Placement : Provides a rough layout of the cells and modules to minimize wire length and congestion. Focuses on overall optimization but allows overlaps between cells.
(2) Detailed Placement : Adjusts the positions to remove overlaps and ensure cells are aligned with legal sites or predefined rows on the chip. Minimizes wire length deviations introduced during legalization.
After placement, the routing phase connects all components with metal wires, finalizing the design's physical layout.
Objective & Challenges of Placement:
Placement is a critical step that transforms a logical design into a physically realizable layout. It ensures that the layout is timing-efficient, power-optimized, and routable, forming a bridge between logic synthesis and routing in the IC design flow.
# Placement Constraints and Objectives:
(1) Minimize Wire length : Shorter wires reduce signal delays and improve performance.(2) Timing Closure : Placement must ensure paths meet the required timing.
(3) Power Optimization : Efficient placement helps reduce dynamic and leakage power.
(4) Congestion Control : Placement must prevent routing congestion to ensure the design is routable.
# Challenges in Placement :
(1) Handling Large Netlists: Efficiently placing millions of cells
(2) Preventing Overlaps: Global placement often creates dense clusters that need to be legalized.
(3) Timing vs. Wire length Trade-offs : Minimizing wire length can sometimes degrade timing performance, and vice versa.
(4) Macro Handling: Large blocks (macros) need special consideration to avoid placement gaps and routing blockages.
Different Types of Placement :
Optimization in Placement:
In placement, the optimization objectives focus on achieving high performance, low power consumption, and manufacturability.
1. Wire length Minimization :
Objective: Reduce the total wire length to lower signal propagation delays, power consumption, routing congestion.
Impact: Reducing wire length improves timing (faster circuits) and reduces the likelihood of routing congestion.
2. Overlap Minimization :
Objective: Ensure that no two cells overlap after placement, especially during the detailed placement phase.
Impact: Non-overlapping placement improves routability and allows legalization (alignment with power rails).
3. Timing Optimization :
Objective: Minimize signal delays by reducing interconnect delays that affect the overall clock cycle.
Impact : Enhances the performance of the circuit by ensuring faster data propagation through critical paths.
4. Row Length Equality :
Objective: Ensure equal row lengths during standard-cell placement to avoid inefficient use of layout space.
Impact: Uniform rows prevent area wastage and ensure even wire distribution, reducing routing congestion.
5. Congestion Minimization :
Objective: Avoid high-density areas where wiring overlaps or routing resources become constrained.
Approach:
(i) Spreading cells: Cells are distributed more evenly by scaling their positions and moving them out of dense regions.
(ii) Congestion-aware placement: Similar to density estimation, routing congestion is estimated on a grid to guide placement.
Impact: Reducing congestion ensures routability and avoids post-routing failures.
6. Power Optimization:
Objective: Minimize the power consumed by interconnects and switching activities.
Approach:
(i) Reduce wire length to lower dynamic power (caused by signal switching across long nets).
(ii) Place high-activity cells closer to minimize interconnect delay and energy consumption.
Impact: Leads to low-power designs, which are essential for battery-powered devices.
7. Legalization:
Objective: Align cells to discrete rows and ensure legal locations after global placement.
Approach:
(i) Snap cell coordinates to grid points that correspond to power rails.
(ii)Optimize wire length and overlap during incremental legalization.
Impact: Produces valid placements that meet manufacturing requirements w/o overlaps/misplaced cells.
8. Temperature-Based Optimization (Annealing):
Objective: Use simulated annealing to explore various placements and escape local minima in the optimization process.
Impact: Aims for a global optimum solution by balancing interconnect minimization and overlap reduction as the temperature decreases.
These objectives collectively ensure that the chip layout achieves high performance, efficient power usage, low congestion, and manufacturability. Different algorithms may emphasize some objectives over others based on design constraints and priorities.
Modern Placement:
Modern placement in EDA refers to advanced methods which combines mathematical optimization, multi-objective considerations, and sophisticated algorithms to address the demands of current chip designs, balancing efficiency, scalability, and performance while considering design constraints, including wire length, timing, power, and congestion. # Key Aspects of Modern Placement:
1. Multi-Objective Optimization: Modern placement aims to optimize multiple goals at once, like shortening wire length, saving power, managing heat, improving timing, and easing routing. This approach is key for high-performance, power-efficient chip designs.
2. Analytic and Force-Directed Methods: Analytic Methods: These use mathematical models like quadratic and nonlinear optimization to approximate interconnect lengths and solve placement as an optimization problem. Quadratic methods are popular due to their computational efficiency, while nonlinear methods provide better accuracy for designs with various component sizes. Force-Directed Methods: Here, cells are treated as objects subject to attractive and repulsive forces. Attraction represents connectivity, by closely connected cells to move closer, and repulsion prevents overlapping by spreading cells apart.
3. Hierarchy and Clustering Techniques: To handle large-scale designs, modern placement algorithms use clustering, which groups highly interconnected cells together in early stages. This reduces the complexity of initial placement and allows for more efficient optimization. After clustering, cells are progressively "un-clustered" and refined in stages, allowing for scalable placement even with millions of components.
4. Legalization and Detailed Placement: Legalization ensures that cells are moved to exact, non-overlapping legal positions, typically aligning with a grid, while minimizing disturbance to the global placement. Detailed Placement then fine-tunes cell positions to reduce minor overlaps and improve wire length and timing by making small local adjustments.
Min-cut Placement :
Min-cut placement is a method in chip design where a circuit's layout is divided or partitioned repeatedly into smaller regions to minimize the number of connections or cuts between these regions. The aim is to balance the number of components in each region while reducing the connections that cross boundaries, which helps minimize wire length and improves timing. Min-cut placement effectively balances components and reduces interconnections, laying a foundation for efficient routing and timing optimization in later stages.
# How min-cut placement generally works:
1. Partitioning: The design area is repeatedly split into smaller sections, each with about the same number of cells. During each split, an algorithm picks a dividing line and tries to keep closely connected parts on the same side to reduce the number of connections crossing the line.
2. Objective: The main objective is to minimize the number of "cuts" or interconnections between partitions, as these inter-partition connections can lead to longer wires and increased delay.
3. Balancing Cells: Min-cut placement also strives to balance the number of components in each partition. This balancing is important because it prevents one area from becoming congested while another has unused space.
4. Hierarchical Refinement: Min-cut placement is a hierarchical approach. Each sub-region is further divided until each partition is small enough that detailed placement techniques can be applied to finalize the exact locations of cells within each region.
5. Advantages and Applications: Min-cut placement is well-suited for large designs and can handle hierarchical structures efficiently. Tools like Capo, which is a popular min-cut placer, are used to achieve routable placements, especially in designs with high density and many fixed obstacles.
# There are 2 approaches to divide the layout :
1. Alternating Cutline Directions :
Alternating cutline Directions is a technique in partition-based placement where the direction of cutlines alternates between horizontal and vertical during recursive partitioning. The design area is split into regions, ensuring a balanced distribution of cells in both axes. By alternating the cutline direction, the method avoids skewness, maintains compact layouts, and reduces wire length. Closely connected components are grouped to minimize routing congestion. This structured placement simplifies later stages, like legalization and optimization. It is especially effective for large, complex circuits with dense interconnections.
2. Repeating Cutline Directions :
Repeating Cutline Directions is a technique in partition-based placement where the same cutline direction (horizontal or vertical) is used repeatedly during multiple levels of recursive partitioning. This approach divides the design area into increasingly smaller regions along a single axis, creating elongated partitions in one direction. It may simplify some placement strategies but risks uneven distribution, potentially increasing wire length and routing congestion. Repeating cutline directions can be suitable for designs with specific constraints, like high connectivity along one axis. However, it is less commonly used compared to alternating cutline directions due to its limitations in achieving balanced layouts.
Analytic Placement :
Analytic placement is a technique in chip design that uses mathematical optimization methods to determine the locations of circuit components on a chip. The goal of analytic placement is to minimize an objective function, usually related to the circuit’s performance, such as total wire length/delay, by treating the placement problem as a mathematical optimization task.
# Key Aspects of Analytic Placement:
1. Optimization-Based Approach: Analytic placement relies on mathematical optimization methods like numerical analysis or linear programming. Unlike heuristic methods, it formulates placement as an objective function and seeks to find the optimal configuration of cells to minimize this function. The approach involves treating placable objects (like cells) as dimensionless points initially, which simplifies the mathematical calculations.
2. Objective Functions: The most common objective function in analytic placement is wire length minimization, often using a quadratic function (squared Euclidean distance) to approximate the total wire length. Quadratic wire length models make it easier to apply mathematical techniques, but other functions, such as nonlinear ones, may be used for greater accuracy. In addition to wire length, other objectives like minimizing circuit delay, reducing congestion, or achieving better timing are sometimes considered.
3.Two Main Stages: Global Placement: This is the first stage, where cells are positioned to minimize the objective function across the entire layout. At this stage, overlaps are allowed, and cells may form clusters. Detailed Placement: In the second stage, cells are moved slightly to remove overlaps and achieve legal positions while keeping the objective function optimized.
4. Convex Optimization and Convexity: In quadratic placement, the placement problem often becomes a convex quadratic optimization problem. Convexity ensures that any local minimum solution is also a global minimum, making it possible to solve the problem efficiently by setting the partial derivatives of the objective function to zero.
5. Additional Techniques for Spreading: After the initial analytic placement, cells may be too close to each other, creating overlaps. Dedicated techniques like cell spreading are applied to ensure non-overlapping placement. This involves redistributing cells to avoid congestion while preserving the optimization of the objective function.
6. Types of Analytic Placement:
Quadratic Placement: Uses a quadratic cost function, which emphasizes minimizing longer connections. Quadratic placement is efficient and scalable.
Nonlinear Placement: Uses more complex, nonlinear functions to represent interconnects, providing better accuracy, especially for components with diverse sizes, but it can be computationally slower than quadratic methods.
# Advantages and Limitations:
Advantages: Analytic placement is systematic, scalable, and provides highly optimized results for wire length and other performance metrics. It is also suitable for very large designs due to its mathematical rigor.
Limitations: Analytic methods may require complex handling for real-world design constraints, such as routing congestion or timing requirements. Some methods, particularly nonlinear optimization, can be slower and require careful tuning for stability.
Analytic placement is widely used in EDA tools because it provides an efficient, scalable way to produce high-quality placements that lay the foundation for effective routing and timing optimization.
# Why Analytic Placement Matters ?
As chip designs grow increasingly complex, the need for precise and efficient placement methods has never been greater. Analytic placement provides the mathematical rigor and computational power needed to meet modern design requirements, ensuring faster, smaller, and more power-efficient chips. With its blend of theoretical elegance and practical impact, analytic placement remains a cornerstone of VLSI design, driving innovation in one of the most challenging engineering domains.
Simulated Annealing :
Simulated annealing is a heuristic optimization technique used in placement algorithms, particularly in the global placement phase of VLSI design. It mimics the physical process of annealing in metallurgy, where materials are slowly cooled to minimize internal energy and achieve a stable configuration. The following are key aspects of simulated annealing placement:
# Basic Principles :
1. Cost Function:
- Placement quality is evaluated using a cost function, which combines factors.
- Wirelength: Often computed using the half-perimeter wirelength (HPWL) metric.
- Cell Overlap: Quantifies overlaps between cells, penalizing large overlaps more heavily.
- Row Inequality: Penalizes deviations in row lengths, which could cause inefficiencies
2. Cooling Schedule:
- The process starts at a high temperature, allowing more random placement changes.
- As the temperature decreases, the algorithm becomes less tolerant of changes that increase cost.
- The temperature is reduced gradually using a cooling factor, alpha, which may vary during the process:
(a) Initial Phase: High cooling rate e.g., alpha = 0.8 to explore configurations broadly.
(b) Middle Phase: Slower cooling e.g., alpha = 0.95 for fine-tuning.
(c) Final Phase: Rapid cooling alpha = 0.8 for convergence.
# Algorithm Steps:
1. Initialization: Begin with a high temperature and a random initial placement of cells.
2. Placement Perturbation: Modify the placement by moving or swapping cells to generate new configurations.
3. Cost Evaluation: Calculate the cost of the new placement. If the new cost is lower, accept the change. If the cost is higher, accept the change with a probability based on the current temperature and cost difference.
4. Iterative Cooling: Reduce the temperature and repeat the perturbation and evaluation steps until the system "freezes" (temperature reaches a minimum threshold).
5. Equilibrium: At each temperature level, the algorithm runs enough iterations to achieve equilibrium, ensuring stability before cooling further.
# Applications : Effective for standard-cell placement, in designs with constraints like limited feed through cells/uneven layouts.
# Advantages:
1. Flexibility in handling complex cost functions.
2. Ability to escape local minima by accepting worse solutions at higher temperatures.
# Challenges:
1. Computationally intensive due to the large number of iterations.
2. Parameter tuning (e.g., cooling schedule, acceptance ratio) requires expertise.
# Example Tool : TimberWolf
1. A popular placement tool using simulated annealing.
2. Incorporates detailed cost functions and strategies for cell spreading, overlap minimization, and optimization of wiring directions.
3. This method is a robust approach for achieving high-quality placements in the design of integrated circuits.
Global Placement :
In Global placement components like cells and circuit modules are assigned approximate locations across the layout area. The primary goal at this stage is to minimize a cost function, related to wire length or timing constraints, without enforcing exact legal positions or preventing overlaps.
1. Optimization without Exact Positions: Components are placed to minimize interconnect length and congestion, but positions are not finalized.
2. Independent x and y optimization: Placement simplifies the process by optimizing cell locations separately along x, y axes.
3. Use of Mathematical Models: Quadratic or nonlinear models are used to achieve optimal placement.
4. Preliminary Layout: Provides a rough layout, leaving exact, overlap-free positions for detailed placement.
5. Foundation for Legalization: Serves as a starting point for legalization and detailed placement to finalize a feasible and efficient layout.
6. Global placement is crucial for creating an efficient starting point for further optimizations that lead to a functional and high-performance chip layout.
Legalization :
Legalization is a process that adjusts the positions of circuit components/cells on a chip layout to ensure they meet specific physical design constraints.
After the initial/ global placement, components may not align to designated legal positions, such as rows or grid points, and may even overlap. Legalization corrects these issues by moving cells to valid positions while minimizing disruption to the optimized layout.
# Key Aspects of Legalization:
1. Aligning to Legal Positions: Cells are moved to specific legal sites, often aligning with power rails or rows. This ensures that the design complies with the manufacturing requirements, which mandate cells to be placed at predefined locations to ensure proper connections and spacing.ns to ensure proper connections and spacing.2. Removing Overlaps: During global placement, cells may be placed too close to each other, creating overlaps. Legalization removes these overlaps by shifting cells slightly, while trying to maintain the overall structure and objective of the initial placement.3. Minimizing Disturbance: Legalization aims to make only minimal adjustments to the positions of cells to preserve the optimized parameters like wire length or timing achieved during global placement. Excessive movement can increase wire length, affect timing, and create new congestion, so algorithms are designed to balance legality with minimal disruption.
4. Handling Physical Constraints:
Legalization accounts for physical design constraints, such as spacing rules, row alignment, and fixed cell locations. It also adapts to different sizes of components, including standard cells and larger macro blocks.
5. Legalization Algorithms:
Common algorithms for legalization include:
(i) Greedy Algorithms: Quickly place each cell in the nearest legal position, but may need refinement for optimal results.
(ii) Sliding Window or Branch-and-Bound: Works by reordering and slightly shifting cells within a defined window to achieve legal placement.
(iii) Dynamic Programming and Linear Programming: These techniques offer more systematic approaches to legalizing placements, especially for complex layouts with mixed cell sizes.
6. Integration with Detailed Placement:
Legalization is often followed by detailed placement, a fine-tuning stage where small adjustments further optimize the layout to improve performance metrics, such as reducing wire length or improving timing.
# Importance of Legalization:
Legalization is critical because it ensures the layout complies with all physical design rules and manufacturing constraints while retaining as much of the optimization from global placement as possible. This step is necessary before routing, as a legalized layout provides a reliable foundation for connecting the components without further conflicts or overlaps.
Detailed Placement :
Detailed placement follows global placement and legalization. During detailed placement, the precise positions of circuit cells are fine-tuned to improve design metrics like wire length, timing, power, and congestion. This stage aims to enhance the quality of the initial placement by making minor adjustments to cell positions without violating legal constraints by avoiding overlaps and maintaining alignment to rows.
# Key Aspects of Detailed Placement: 1. Fine-Tuning Cell Positions: Detailed placement fine-tunes the global placement layout by making minor, localized adjustments to enhance design quality while staying close to the original configuration. 2. Optimizing Wire length and Timing: The main goal of detailed placement is to minimize wire length, reducing delays and improving timing, especially along critical paths. 3. Congestion and Density Management : Congestion arises from densely packed cells, causing routing issues. Detailed placement algorithms spread cells to ease routing and prevent hotspots. 4. Improvement Techniques: Cell Swapping: Exchanging the positions of neighboring cells to reduce wire length or improve timing. Cell Sliding and Shifting: Adjusting cells slightly within rows or gaps to optimize spacing and align with power rails or tracks. Group Movement: Moving groups of cells within a sliding window to improve alignment and reduce wire length.5. Window-Based Optimization: Detailed placement is often performed within small, localized windows or regions to reduce computational complexity and allow more focused optimization. The algorithms may reorder cells within these windows to minimize disruption to the overall placement.
6. Handling Unused Space: If there is unused space between cells in a row, detailed placement may shift cells slightly to either side or distribute them evenly, ensuring that no gaps lead to wasted area.
7. Ensuring Legalized Placement: Detailed placement adheres to legal positions determined during legalization, maintaining cell alignment and spacing to prevent design rule violations.
# Importance of Detailed Placement:
Detailed placement is crucial because it provides the final adjustments needed to optimize performance metrics before the routing stage. By fine-tuning the positions of cells, detailed placement improves wire length, timing, and congestion, resulting in a more efficient and high-performing chip layout.
Watch the video here:
Courtesy : Image by www.pngegg.com