TIMING AND CONGESTION FIXES IN PLACEMENT

 

Placement Optimization Techniques for Reducing Timing and Congestion in Physical Design

1. Introduction

Placement plays a crucial role in timing, congestion, and overall performance of the design. Poor placement can cause setup and hold violations, routing congestion, and increased power consumption.

Goal: Optimize placement using floorplan-aware techniques and tool commands to improve timing, congestion, and power.


2. Key Placement Optimization Techniques

1️⃣ Congestion-Aware Placement

๐Ÿ”น Why? Congested areas lead to routing detours, increasing wire length and resistance.
๐Ÿ”น Fix:
✔ Spread cells evenly to avoid hotspots.
✔ Use placement blockages in high-density regions.

 Command Example (Cadence Innovus):

setPlaceMode -congEffort high
place_design
analyze_congestion

(Sets high congestion effort during placement and analyzes congestion after placement.)


2️⃣ Timing-Driven Placement

๐Ÿ”น Why? Poor placement of setup-critical paths increases delay, causing setup violations.
๐Ÿ”น Fix:
✔ Place high-fanout cells close to their loads.
✔ Prioritize critical paths using tool settings.

 Command Example (Synopsys ICC2):

set_place_opt -timing_driven true
place_opt
report_timing

(Enables timing-driven placement, optimizes, and checks violations.)


3️⃣ High-Fanout Net Optimization

๐Ÿ”น Why? High fanout causes high capacitance, leading to longer delays.
๐Ÿ”น Fix:
✔ Insert buffering to reduce fanout load.
✔ Clone high-fanout drivers for better timing.

 Command Example (Synopsys ICC2):

setOptMode -fixHighFanout true
optDesign -preCTS

(Fixes high-fanout nets before clock tree synthesis (CTS).)


4️⃣ Cell Spreading to Reduce Density

๐Ÿ”น Why? High cell density areas cause congestion and IR drop issues.
๐Ÿ”น Fix:
✔ Spread cells apart to improve routing and power integrity.

 Command Example (Cadence Innovus):

setPlaceMode -density 70
place_design

(Limits placement density to 70% to reduce congestion.)


5️⃣ Macro Placement Optimization

๐Ÿ”น Why? Poor macro placement causes routing congestion and timing issues.
๐Ÿ”น Fix:
Align macros along the edges to allow better routing channels.
Avoid macro clustering to prevent routing bottlenecks.

 Command Example (Cadence Innovus - Macro Guidelines):

place_instance U1 -coordinate {100 200}
place_instance U2 -coordinate {300 400}

(Places macros at specific locations to avoid congestion.)


6️⃣ Wirelength Reduction for Better Timing

๐Ÿ”น Why? Long wires increase RC delay, affecting setup timing.
๐Ÿ”น Fix:
✔ Optimize cell locations to minimize net wirelength.
✔ Use global and detailed placement refinements.

 Command Example (Synopsys ICC2):

setOptMode -wirelengthEffort high
optDesign -postPlace

(Reduces wirelength after placement to improve timing.)


3. Placement Optimization Flow

Step 1: Pre-placement analysis (floorplan, congestion map, timing paths).
Step 2: Enable congestion-driven and timing-aware placement.
Step 3: Adjust macro locations and cell density.
Step 4: Optimize high-fanout nets and long wire paths.
Step 5: Perform post-placement optimization (cell spreading, buffering, wirelength reduction).
Step 6: Validate timing and congestion reports.


Engineering Change Order (ECO)

 

Engineering Change Order (ECO) in VLSI Physical Design

1. What is an ECO?

An Engineering Change Order (ECO) is a modification to an existing design at any stage of the VLSI design flow, typically after synthesis, placement, or routing. ECOs are used to fix functional bugs, timing violations, or design changes without restarting the entire design process.

Goal: Implement changes efficiently without redoing the entire design to save time and effort.


2. Types of ECOs in Physical Design

 Functional ECO

๐Ÿ”น Purpose: Fix logical errors after synthesis.
๐Ÿ”น Example: Change a combinational logic gate, update a flip-flop, or modify a multiplexer.
๐Ÿ”น Fix: Modify netlist connections without re-synthesizing the entire design.


 Timing ECO

๐Ÿ”น Purpose: Fix setup or hold violations after placement and routing.
๐Ÿ”น Example: A data path is too slow, causing setup violations at high frequency.
๐Ÿ”น Fix:
✔ Resize cells (use stronger buffers or logic gates).
✔ Insert buffers to fix hold violations.
✔ Change clock tree buffers if needed.


 Power ECO

๐Ÿ”น Purpose: Optimize power consumption without affecting functionality.
๐Ÿ”น Example: Reduce dynamic power by replacing high-power gates with low-power equivalents.
๐Ÿ”น Fix:
✔ Use multi-Vt cells (replace high-power gates with low-Vt alternatives).
✔ Reduce clock switching activity by gating unnecessary clock signals.


 Metal-Only ECO

๐Ÿ”น Purpose: Implement small fixes without modifying the base layers (diffusion, polysilicon).
๐Ÿ”น Example: Change connections by modifying only metal layers.
๐Ÿ”น Fix:
✔ Modify only routing layers (M1, M2, M3, etc.) to avoid major rework.
✔ Reduce turnaround time by avoiding changes in standard cells.


3. ECO Implementation Flow

Step 1: Identify the issue (functional bug, timing violation, etc.).
Step 2: Generate an ECO netlist with required changes.
Step 3: Apply the changes in the design tool (ICC, Innovus, or Fusion Compiler).
Step 4: Perform incremental placement, CTS, and routing to update changes.
Step 5: Run STA, LVS, and DRC checks to validate correctness.


4. Tools Used for ECO

๐Ÿ”น Synopsys Design Compiler (DC) – For logic ECOs.
๐Ÿ”น Cadence Genus & Innovus – For placement & timing ECOs.
๐Ÿ”น Synopsys ICC2/Fusion Compiler – For physical ECOs.
๐Ÿ”น Calibre (Siemens) – For DRC & LVS verification after ECO.


Design Rule Violations (DRV)

 

Design Rule Violations (DRV) in Physical Design: Types and Fixes

1. What are DRV Violations?

Design Rule Violations (DRV) occur when the physical design does not meet certain electrical or routing constraints. These violations can lead to timing failures, power integrity issues, and manufacturability problems.

Goal: Identify and fix DRVs to ensure a reliable and high-performance chip.


2. Types of DRV Violations and Their Fixes

1️⃣ Short Violations

๐Ÿ”น Cause: Two or more nets unintentionally connected, leading to a short circuit.
๐Ÿ”น Fix:
✔ Check and adjust routing to remove unintended connections.
✔ Use Metal Fill/Spacing Rules to avoid shorts.


2️⃣ Open Violations

๐Ÿ”น Cause: A net or signal is not connected properly, leading to an open circuit.
๐Ÿ”น Fix:
✔ Identify missing connections using LVS and DRC checks.
✔ Ensure proper pin-to-pin connectivity.


3️⃣ Min Width Violations

๐Ÿ”น Cause: A metal wire is narrower than the minimum width defined by DRC.
๐Ÿ”น Fix:
Increase wire width to meet DRC rules.
✔ Use metal layer optimization to improve width.


4️⃣ Min Area Violations

๐Ÿ”น Cause: A metal shape is smaller than the allowed minimum area, leading to weak connections.
๐Ÿ”น Fix:
✔ Increase the area of small metal polygons to avoid weak spots.
✔ Use dummy metal fills if necessary.


5️⃣ High Fanout Net Violations

๐Ÿ”น Cause: A single net drives too many loads, causing timing and signal integrity issues.
๐Ÿ”น Fix:
✔ Use buffer insertion to reduce fanout load.
✔ Apply cloning to duplicate drivers for better load balancing.


6️⃣ Max Transition Violations

๐Ÿ”น Cause: Signal transition time (slew rate) is too high, leading to timing issues.
๐Ÿ”น Fix:
✔ Insert buffers to strengthen weak signals.
✔ Optimize cell sizing for better drive strength.


7️⃣ Max Capacitance Violations

๐Ÿ”น Cause: Excessive capacitive loading on a net, affecting timing and power.
๐Ÿ”น Fix:
✔ Use buffering and driver resizing to reduce capacitance.
✔ Optimize routing to minimize unnecessary wire length.


8️⃣ Max Resistance Violations

๐Ÿ”น Cause: Thin or long interconnects increase resistance, leading to delay and IR drop issues.
๐Ÿ”น Fix:
✔ Use wider metal layers or multiple vias to reduce resistance.
✔ Improve routing to avoid long high-resistance paths.


9️⃣ Electromigration (EM) Violations

๐Ÿ”น Cause: High current density causes metal degradation, leading to failure over time.
๐Ÿ”น Fix:
✔ Increase wire width to handle more current.
✔ Use double via insertion to improve reliability.


3. DRV Analysis and Debugging Flow

Step 1: Run physical verification tools (Calibre, IC Validator, PVS).
Step 2: Identify DRV reports and categorize violations.
Step 3: Fix major violations (shorts, opens, width, and fanout issues).
Step 4: Optimize timing and routing for capacitance, transition, and resistance issues.
Step 5: Rerun DRV checks until the layout is DRV-clean.


4. Tools Used for DRV Checks

๐Ÿ”น Calibre (Siemens/Mentor Graphics)
๐Ÿ”น IC Validator (Synopsys)
๐Ÿ”น PVS (Cadence)


Antenna Violation in VLSI Physical Design

 

Antenna Violation in VLSI Physical Design

1. What is an Antenna Violation?

An Antenna Violation occurs when a long interconnect accumulates excessive charge during the fabrication process, potentially damaging the thin gate oxide of transistors. This happens due to plasma etching, where metal layers act as antennas collecting charges.

Key Issue: If the accumulated charge discharges through a transistor gate, it can permanently damage the gate oxide, leading to chip failure.


2. Causes of Antenna Violations

๐Ÿ”น Long metal interconnects connected to transistor gates collect excessive charge.
๐Ÿ”น Higher metal layers have a larger area, leading to increased charge accumulation.
๐Ÿ”น Insufficient diffusion path for charge dissipation.
๐Ÿ”น Multiple vias connecting higher metal layers to the transistor gate.


3. Effects of Antenna Violations

Gate oxide breakdown → Causes transistor failure.
Permanent damage to circuits → Leads to yield loss.
Chip reliability issues → Causes unpredictable behavior in silicon.


4. How to Fix Antenna Violations?

1. Use Antenna Diodes (Preferred Solution)

  • Antenna diodes are placed near the transistor gates to provide a safe discharge path.
  • These diodes allow excess charge to dissipate before reaching the transistor gate.

Example: Insert a reverse-biased diode near the affected transistor.


2. Metal Jumping (Routing Fix)

  • Instead of routing directly from lower to higher metal layers, introduce an intermediate metal layer to distribute the charge.
  • Helps in reducing charge accumulation on a single metal segment.

Example: Route from M1 → M2 → M3 instead of M1 → M3.


3. Increase Diffusion Connection

  • Connect metal layers directly to diffusion (source/drain) instead of the gate.
  • Allows charge to discharge safely through diffusion rather than damaging the gate.

4. Add Dummy Vias

  • Instead of directly connecting a single via to the transistor gate, use multiple vias connected to diffusion or other structures to dissipate charge.

Example: Use an additional via to connect to ground or source.


5. Antenna Check in Physical Verification

  • Antenna Rule Check (ARC) is performed as part of DRC checks in Physical Verification.
  • Foundries define antenna ratio limits, which depend on metal layers and technology nodes.
  • Typical Antenna Ratio Limits:
    • M1: 400
    • M2: 800
    • M3+: 1000+

Tools Used for Antenna Checks

๐Ÿ”น Calibre (Siemens/Mentor Graphics)
๐Ÿ”น IC Validator (Synopsys)
๐Ÿ”น PVS (Cadence)


Pulse Width Violation (PWD)

 

Pulse Width Violation in VLSI Design

1. What is a Pulse Width Violation?

A Pulse Width Violation occurs when the low phase or high phase of a clock signal is too short. This can cause setup and hold time violations, leading to incorrect circuit operation.

๐Ÿ“Œ Key Issue: If the pulse width is too short, flip-flops and other sequential elements may not capture data correctly.


2. Causes of Pulse Width Violations

๐Ÿ”น Unequal duty cycle: If the clock high and low times are not balanced, it can cause instability.
๐Ÿ”น Clock tree imbalance: Incorrect buffering and skew in the clock tree synthesis (CTS) stage.
๐Ÿ”น Clock jitter: Variations in clock signal timing due to noise.
๐Ÿ”น Process variations: Differences in transistor speeds due to fabrication.
๐Ÿ”น Incorrect constraints: Wrong clock definitions in timing constraints (SDC file).


3. Effects of Pulse Width Violations

Setup & hold violations: Data may not be latched correctly.
Metastability: Flip-flops may enter an unpredictable state.
Functional failure: The circuit may not operate at the intended frequency.
Clock glitches: Can cause incorrect toggling of sequential elements.


4. How to Fix Pulse Width Violations?

1. Adjust Duty Cycle

  • Ensure a 50% duty cycle by modifying clock definitions in the SDC file.
  • Example:
    create_clock -name CLK -period 2ns -waveform {0 1}
    
    (This defines a clock with a 50% duty cycle: High for 1ns, Low for 1ns.)

2. Improve Clock Tree Balancing

  • During Clock Tree Synthesis (CTS), ensure balanced buffering of clock branches.
  • Use additional buffers to equalize delays.

3. Reduce Clock Jitter

  • Use low-noise power delivery and ensure proper grounding.
  • Select a high-quality clock source.

4. Modify Timing Constraints

  • Define min/max pulse width constraints in the Static Timing Analysis (STA) tool.
  • Example constraint for Synopsys PrimeTime:
    set_min_pulse_width -high 0.8 [get_clocks CLK]
    set_min_pulse_width -low 0.8 [get_clocks CLK]
    
    (Ensures that both high and low pulses are at least 0.8ns.)

5. Increase Drive Strength

  • Use stronger clock buffers to maintain signal integrity.
  • Reduce the number of fan-out loads on the clock path.

5. Pulse Width Check in STA

  • Tools like Synopsys PrimeTime, Cadence Tempus, and Siemens/Mentor Calibre perform pulse width checks as part of Static Timing Analysis (STA).
  • The tool reports pulse width violations, which must be debugged and fixed before tape-out.


Design Rule Checks (DRC)

 

Design Rule Check (DRC) in VLSI Physical Design

1. What is DRC?

Design Rule Check (DRC) is a physical verification process that ensures the layout follows the foundry-defined design rules for manufacturability. These rules define the minimum width, spacing, via enclosures, and other geometric constraints to prevent fabrication defects.

Goal: Ensure that the layout is manufacturable and error-free, preventing yield loss and chip failures.


2. Why is DRC Important?

✔ Ensures the design meets fabrication constraints.
✔ Prevents short circuits, open circuits, and yield loss.
✔ Ensures higher reliability and better performance.
✔ Helps achieve a DRC-clean layout, avoiding costly silicon failures.


3. Common DRC Rules

1. Width Rules

  • Defines minimum width for metals, poly, diffusion, etc.
  • Ensures wires are not too thin, preventing high resistance and breaks.

Example: Minimum metal width = 0.07ยตm


2. Spacing Rules

  • Defines minimum spacing between two metal layers to avoid shorts.
  • Helps reduce crosstalk and noise.

Example: Minimum spacing between metal lines = 0.08ยตm


3. Via & Contact Rules

  • Ensures vias are large enough and correctly enclosed by metal layers.
  • Prevents high resistance, electromigration, and open circuits.

Example:
✔ Via enclosure rule: Via must be enclosed by metal on all sides by 0.02ยตm


4. Overlap & Extension Rules

  • Ensures proper overlap between layers to avoid open circuits.
  • Prevents alignment errors during manufacturing.

Example:
Poly must extend over active diffusion by 0.05ยตm


5. Density Rules (CMP Check)

  • Ensures uniform metal density to avoid dishing or erosion during Chemical Mechanical Polishing (CMP).
  • Uses dummy metal fill to balance density.

Example: Minimum metal density in any region must be > 30%


6. Antenna Rules

  • Checks for antenna effect, which can damage transistors during fabrication.
  • Prevents excessive charge buildup on long interconnects.

Solution: Use antenna diodes or metal jumpers to higher layers.


4. DRC Flow (Step-by-Step Process)

Step 1: Run DRC tool (Calibre, IC Validator, Assura).
Step 2: Identify violations (errors in spacing, width, etc.).
Step 3: Debug and fix errors in the layout.
Step 4: Rerun DRC until the design is DRC-clean.


5. DRC Errors & Fixes

DRC Error Cause Solution
Width Violation Metal/poly/diffusion too narrow Increase width
Spacing Violation Two metals too close Increase spacing
Via Enclosure Violation Via not enclosed properly Adjust via enclosure
Antenna Violation Long metal paths causing charge buildup Add antenna diode
Density Violation Uneven metal distribution Add dummy metal fills

6. DRC Verification Tools

๐Ÿ”น Calibre DRC (Siemens/Mentor Graphics)
๐Ÿ”น IC Validator (Synopsys)
๐Ÿ”น Assura DRC (Cadence)
๐Ÿ”น PVS DRC (Cadence)


Layout vs Schematic (LVS) in VLSI Physical Design

 

Layout vs. Schematic (LVS) in VLSI Physical Design

1. What is LVS?

Layout vs. Schematic (LVS) is a verification process that ensures the physical layout matches the logical schematic before fabrication. It checks whether the connectivity and components in the layout correspond correctly to the schematic.

Goal: Ensure that the circuit functionality is preserved from schematic to layout, preventing costly errors in fabrication.


2. Why is LVS Important?

Prevents functional mismatches between schematic and layout.
Ensures correct connectivity (no missing or extra components).
Avoids fabrication errors that can cause chip failure.
Saves time and cost by catching errors early.


3. LVS Flow (Steps in LVS Check)

LVS is performed in the following steps:

1️⃣ Extract Netlist from Layout

  • The physical layout is converted into a netlist (list of devices & connections).
  • The extracted netlist is compared with the schematic netlist.

2️⃣ Compare Layout Netlist with Schematic Netlist

  • LVS tool compares both netlists and reports:
    • Match → Layout and schematic are identical ✅
    • Mismatch → Errors found ❌

3️⃣ Debug LVS Errors

  • If mismatches are found, they are categorized as:
    ๐Ÿ”น Device Mismatch → Missing or extra transistors, resistors, or capacitors.
    ๐Ÿ”น Net Mismatch → Incorrect wiring between components.
    ๐Ÿ”น Parameter Mismatch → Transistor width/length is incorrect.

4️⃣ Fix LVS Violations & Rerun LVS

  • Modify the layout to correct errors.
  • Rerun LVS until it is LVS-clean.

4. Common LVS Errors & Fixes

LVS Error Cause Solution
Missing Device Transistor, capacitor, or resistor missing in layout Add missing device
Extra Device Extra component added in layout Remove extra device
Short Circuit Two nets are unintentionally connected Fix routing
Open Circuit A net is disconnected or floating Ensure proper connections
Mismatch in Transistor Parameters Incorrect W/L ratio in layout Correct transistor sizing
Pin Mismatch Pins in layout do not match schematic Assign correct pin names

5. LVS Verification Tools

๐Ÿ”น Calibre LVS (Siemens/Mentor Graphics)
๐Ÿ”น IC Validator (Synopsys)
๐Ÿ”น Assura LVS (Cadence)
๐Ÿ”น PVS LVS (Cadence)