PD Masterclass
Cadence Innovus · Synopsys ICC2 · PrimeTime · Tempus · Calibre

Claude for Physical Design Engineers: AI-Assisted ASIC Implementation from Floorplanning to Signoff

A production-grade engineering handbook for junior to principal ASIC backend, PnR, STA, and physical verification engineers. Learn to deploy Claude and Claude Code across floorplanning, power grid integrity, placement, CTS balancing, routing congestion, timing closure, Calibre DRC/LVS triage, and dynamic IR drop.

12 Core Workflows
15 Claude Code Skills
5 Practical Projects
40+ Production Prompts
EDA Matrix 9 Commercial Tools
Advertisement

The ASIC Physical Implementation Mental Model for AI

Physics Engine Reality: Why LLMs Cannot Route or Close Timing Directly

Large Language Models like Claude operate entirely within the domain of token prediction and semantic pattern matching. Physical design in advanced FinFET and Gate-All-Around (GAA) nodes (e.g., TSMC N5/N3, Intel 18A) is fundamentally governed by computational physics, non-linear partial differential equations, and 3D electromagnetic Maxwell field solutions.

An LLM has no spatial awareness, no grid awareness, and no solver for:

  • Poisson's and Laplace's Equations: Governing electrostatic charge distribution and substrate noise coupling.
  • 3D Field Solvers: Calculating fringing, sidewall, and cross-coupling capacitances ($C_{ ext{coupling}}$) between dense sub-20nm metal wires.
  • Non-Linear Delay Models (NLDM) & Composite Current Source (CCS/ECSM): Driver waveform slicing under voltage droop and input slew variation.
  • Maze Routing & Track Assignment: Solving NP-hard graph routing on 15+ metal layers with millions of design rules.
  • Finite Element Thermal & Electromigration Modeling: Calculating Joule heating and current density limits ($J_{\max} = rac{I_{ ext{rms}}}{W imes T}$).
The Golden Rule of AI in ASIC Backend Engineering
Claude is an implementation copilot, diagnostic assistant, and script architect. It can analyze reports, interpret log files, identify bottlenecks, hypothesize root causes, and write clean Tcl scripts. However, every single AI-generated physical change must be deterministically executed and validated by commercial signoff EDA engines (Innovus, ICC2, PrimeTime, Tempus, Calibre, Voltus). Claude never "closes" timing or fixes DRCs autonomously.

The 3-Tier Physical Design Verification Contract

To deploy Claude safely in enterprise tapeout environments without risking multi-million dollar silicon respins or catastrophic schedule slips, every physical design team must enforce the 3-Tier Verification Contract:

Tier Entity Primary Responsibility Enforcement Mechanism
Tier 1: AI Advisory Claude & Claude Code Log and report triage, WNS/TNS path diagnosis, congestion pattern recognition, Tcl script generation, constraint checking, ECO hypothesis creation. Markdown audit trails, structured Tcl proposals, commit diff reviews.
Tier 2: EDA Engine Innovus, ICC2, PrimeTime, Calibre, Voltus Rigorous deterministic calculation: extraction (StarRC/Quantus), timing calculation (PrimeTime/Tempus), physical verification (Calibre nmDRC/LVS), IR drop (RedHawk/Voltus). Automated CI/CD regressions, signoff rule decks, formal equivalence checking (Formality/Conformal LEC).
Tier 3: Signoff Architect Principal PD / STA Engineer Final signoff authority: wafer margin review, signoff corner waiver signoff, foundry DFM waivers, tapeout freeze approval. Manual signoff review checklist, tapeout documentation, formal design review board signoff.

Common AI Failure Modes in Physical Design

Backend engineers working with Claude must actively guard against these specific failure modes:

  • Hallucinated Tool Commands & Obsolete Flags: LLMs frequently blend syntax across EDA tools (e.g., mixing Cadence Innovus setPlaceMode with Synopsys ICC2 set_app_options -name place.*) or invent flags (e.g., optDesign -fix_all_hold).
  • Illegal Coordinate Placement: Recommending cell sizing or buffer insertions at coordinates that overlap with hard macros, power straps, or keepout halos.
  • Fixing Setup at the Expense of Hold: Recommending aggressive driver upsizing or threshold voltage (Vt) swapping to Ultra-Low-Vt (ULVT) that cures negative setup slack (+120 ps) but creates catastrophic hold violations (-350 ps) at fast/cold corners.
  • Non-Existent Metal Layer Routing: Suggesting routing jumpers or shielding on layers outside the defined technology LEF stack (e.g., specifying Metal 11 in a 7-metal-layer cost-optimized IoT process).
  • Missing Design Rule Constraints (DRVs): Inserting wide buffers without checking whether max-capacitance or max-transition limits are exceeded on the driving pin.

12 Core Physical Design Workflows with Claude

Skill 01 Floorplanning: Architecture, Macro Placement & Flyline Analysis

Floorplanning establishes the physical framework for the entire SoC. A compromised floorplan guarantees downstream routing congestion, unresolvable timing violations, and severe IR drop. Claude accelerates floorplan exploration by reviewing DEF geometry scripts, auditing channel clearances, and evaluating macro orientation relative to core logic flylines.

Floorplan Key Metrics Evaluated by Claude
  • Core Utilization: Ensuring standard cell density is budgeted between 65%–75% for advanced FinFET nodes (allowing headroom for CTS buffers, hold buffers, and timing ECOs).
  • Aspect Ratio: Ratio of height to width ($H/W pprox 1.0$ for square dies; non-square ratios evaluated against package cavity and I/O bump boundaries).
  • Macro Channel Spacing: Verifying spacing between adjacent SRAM blocks satisfies:
    Channel Width ≥ 2 × (Power Stripe Width) + (Routing Pitch × Routing Layers) + Halo Clearance.
  • Pin Orientation & Halos: Ensuring macro pins face outward into standard cell channels, and hard halos (e.g. 5–10 μm) prevent standard cells from blocking macro pin access.
scripts/floorplan/refine_floorplan.tcl (Cadence Innovus / Synopsys ICC2)
# Cadence Innovus Floorplan Refinement Script
# Initialize die boundaries: 1800um x 1800um, 70% utilization
setDieArea 0 0 1800 1800
setCoreArea 50 50 1750 1750

# Place SRAM macro banks toward periphery to leave central core contiguous
# Apply 8um hard halo around all SRAM macros to reserve routing track access
createPlaceBlockage -type hard -box {120 120 450 680} -name halo_sram_bank0
createPlaceBlockage -type routing -layers {M1 M2 M3} -box {120 120 450 680}

# Synopsys ICC2 Equivalent Commands
# initialize_floorplan -core_utilization 0.70 -shape R -side_ratio {1 1} -core_offset {50 50 50 50}
# create_keepout_margin -type hard -outer {8 8 8 8} [get_cells -filter "is_hard_macro==true"]
# set_block_pin_constraints -allowed_layers {M4 M5} -sides {1 2}

What Claude Can Do: Parse floorplan DEF/Tcl scripts; compute channel clearances; calculate standard cell core utilization; flag macro pins facing boundary walls; generate clean halo blockage scripts.

What Claude Cannot Do: Execute global routing to prove routability; guarantee zero cell overlap; replace visual GUI floorplan inspection in Innovus/ICC2.

Skill 02 Power Planning: Rings, Stripes, Rails, Mesh & IR Drop

Power planning delivers clean, robust VDD and VSS rails across the chip to ensure IR drop does not degrade transistor switching speed or cause functional hold failures. The power grid consists of:

  1. Power Rings: Outer concentric rings on top thick metals (M8/M9) encircling the core or voltage domains.
  2. Power Stripes / Mesh: Dense orthogonal grid of vertical and horizontal stripes on upper metal layers (e.g., M7 vertical, M8 horizontal) to distribute current uniformly.
  3. Standard Cell Rails: Continuous follow-pin rails on Metal 1 (or Metal 2 in modern FinFETs) powering standard cell rows.
  4. Via Stacks: Multi-cut via arrays connecting top mesh stripes through intermediate layers down to M1 rails.
scripts/power/create_power_mesh.tcl (Innovus / ICC2)
# Cadence Innovus: Global Power Grid Synthesis
# 1. Connect Global Nets
globalNetConnect VDD -type pgpin -pin VDD -all
globalNetConnect VSS -type pgpin -pin VSS -all

# 2. Add Power Stripes on Upper Metals (M7 Vertical, M8 Horizontal)
addStripe -nets {VSS VDD} -layer M7 -direction vertical -width 3.2 -spacing 1.8           -pitch 28.0 -set_to_set_distance 28.0 -start_offset 10.0
addStripe -nets {VSS VDD} -layer M8 -direction horizontal -width 4.0 -spacing 2.0           -pitch 32.0 -set_to_set_distance 32.0 -start_offset 12.0

# 3. Standard Cell Rail Connection (sroute)
sroute -connect {blockPin padPin padRing corePin} -layerChangeRange {M1 M8}        -nets {VDD VSS} -corePinWidth 0.16 -allowJogging 1

Static vs Dynamic IR Drop: Static IR drop is caused by average DC current ($V_{ ext{drop}} = I_{ ext{avg}} imes R_{ ext{mesh}}$). Dynamic IR drop is caused by simultaneous switching noise ($L \cdot rac{di}{dt} + I_{ ext{peak}} imes R$), occurring during major clock edges. Claude parses Voltus/RedHawk summary reports to pinpoint under-designed mesh regions, inadequate via counts, or excessive decap deficiency.

Skill 03 Placement Optimization: Density, Spreading, HFNS & Timing-Driven Engine

Placement proceeds through coarse global placement (solving quadratic wirelength formulations), detailed placement (snapping standard cells into legal row sites without overlap), and placement optimization (timing-driven buffer insertion, cell resizing, and high-fanout net synthesis).

Diagnosing Congestion Hotspots During Placement
If global placement reports localized cell density exceeding 85%–90%, routing channels will be starved of horizontal and vertical routing tracks. Claude diagnoses placement log files and recommends:
  • Partial Placement Blockages: Restricting cell density to 60% in congested channels (createPlaceBlockage -type soft -density 60).
  • Cell Padding: Adding artificial halo margins around high-pin-count cells (e.g. multi-bit flip-flops, XOR arithmetic trees) to prevent dense pin clustering.
  • Scan Chain Reordering: Un-stitching and re-stitching scan flip-flops based on physical proximity rather than logical netlist order, reducing wirelength by 15%–25%.

Skill 04 Clock Tree Synthesis (CTS): Skew, Insertion Delay, Uncertainty & ICGs

The clock tree is the single most critical structural network in any synchronous digital design. CTS synthesizes an inverter/buffer tree to distribute the clock signal from the clock root (PLL/OSC) to tens or hundreds of thousands of sequential sink pins with minimal skew, minimal insertion delay (latency), and balanced duty cycle.

CTS Metric Definition Design Target Claude Diagnostic Focus
Insertion Delay Propagation delay from clock source pin to the furthest sink pin. Minimal & uniform across corners (e.g., < 800 ps at SS). Flags excessively deep buffer stages (levels > 8) or weak root drivers.
Global Skew Difference between max and min insertion delay across all sinks on the chip. < 150–250 ps across entire clock domain. Audits clock tree balance across asymmetric floorplan quadrants.
Local Skew Skew between communicating launch and capture flip-flops. < 30–50 ps for high-speed synchronous interfaces. Evaluates hold timing budget; local skew dominates hold closure.
Clock Uncertainty Margin reserved for clock jitter, PLL phase error, and OCV/AOCV/POCV variation. Pre-CTS: 150–200 ps; Post-CTS: 40–60 ps (jitter only). Ensures user does not double-count insertion delay margin after CTS.
ICG Placement Integrated Clock Gating cell positioning relative to governed sinks. ICG must sit physically close to sink cluster (< 50 μm). Checks enable setup timing to ICG E pin; avoids long enable detours.
scripts/cts/ccopt_spec.tcl (Cadence Innovus CCOpt)
# Cadence Innovus CCOpt (Clock Concurrent Optimization) Configuration
create_ccopt_clock_tree_spec
set_ccopt_property target_skew 0.080 ;# 80 ps target skew
set_ccopt_property target_max_trans 0.120 ;# 120 ps max transition
set_ccopt_property buffer_cells {CLKBUF_X4 CLKBUF_X8 CLKBUF_X12 CLKBUF_X16}
set_ccopt_property inverter_cells {CLKINV_X4 CLKINV_X8 CLKINV_X12 CLKINV_X16}
set_ccopt_property route_type_top default_clock_route_top ;# 2W2S on M5/M6 with VSS shielding
set_ccopt_property route_type_trunk default_clock_route_trunk
ccopt_design -cts

Skill 05 Routing: Global Routing, Track Assignment, Detailed Routing & DRC

Routing translates logical netlist connections into physical metal geometry without violating hundreds of foundry design rules. The flow is partitioned into:

  • Global Routing (GR): Partitions the die into Global Routing Cells (GRCs or tiles). It routes nets through tile boundaries without assigning exact tracks, estimating track capacity vs demand.
  • Track Assignment (TA): Assigns long straight net segments to specific routing tracks on preferred metal layers (horizontal on M2, M4, M6; vertical on M3, M5, M7).
  • Detailed Routing (DR): Resolves exact pin connections, via insertions, end-of-line (EOL) spacing, and enclosure rules using maze routing algorithms.
Antenna Violations (Plasma-Induced Gate Oxide Breakdown)
During reactive ion etching (RIE), long metal wires act as antennas, accumulating electrostatic charge. If connected directly to a thin transistor gate oxide without an alternative discharge path, the voltage punches through the gate dielectric, permanently destroying the transistor.

Fixes Claude evaluates:
1. Antenna Diode Insertion: Placing a reverse-biased diode connected between the net and VSS close to the victim gate pin to bleed charge harmlessly.
2. Layer Hopping (Jumper Insertion): Hopping the long interconnect up to a higher metal layer (e.g. M4 → M5 → M4) near the gate pin. During M4 etching, the long antenna segment is not yet physically connected to the gate.

Skill 06 Static Timing Analysis (STA): Setup, Hold, Recovery, Removal & Constraints

Static Timing Analysis verifies that every synchronous data path operates reliably under all process, voltage, and temperature (PVT) corners without requiring dynamic simulation testbenches. Claude parses PrimeTime, Tempus, or OpenSTA timing reports into clear component breakdowns.

Timing Check Mathematical Signoff Constraint Worst-Case Corner Primary Physical Fixes
Setup Timing (Max Delay) T_launch + T_ck2q + T_data ≤ T_clk + T_capture - T_setup - T_uncert Slow-Slow (SSG), Low Vdd, High/Low Temp Upsize cell, swap to LVT/SLVT, insert buffer to reduce slew, decompose logic.
Hold Timing (Min Delay) T_launch + T_ck2q + T_data ≥ T_capture + T_hold + T_uncert Fast-Fast (FFG), High Vdd, -40°C / 125°C Insert delay buffers (BUF_X1, DEL_X2) into data path near capture flip-flop.
Recovery Check Async reset deassertion must precede active clock edge by at least $T_{ ext{rec}}$. Slow Corner (SSG) Buffer reset distribution tree; balance reset arrival across registers.
Removal Check Async reset must remain asserted for at least $T_{ ext{rem}}$ after clock edge. Fast Corner (FFG) Delay reset assertion path; verify reset synchronizer topology.

Startpoint-to-Endpoint Path Breakdown: When inspecting an STA report, Claude calculates the Cell-to-Net Delay Ratio. If net delay exceeds 40%–50% of the total path delay, the path suffers from placement detours or high capacitive loading rather than excessive logic depth.

Skill 07 Timing Closure: Systematic Root-Cause Diagnosis & ECO Strategy

Timing closure is the iterative process of bringing Worst Negative Slack (WNS) and Total Negative Slack (TNS) to zero across all signoff modes and corners. Rather than blindly upsizing gates, a senior PD engineer applies systematic root-cause diagnosis:

scripts/sta/timing_eco_generation.tcl (Synopsys PrimeTime / Cadence Tempus)
# PrimeTime Timing ECO Script: Precision Setup Slack Closure
# 1. Upsize high-fanout NAND gate driving critical ALU carry chain
size_cell u_core/u_alu/U_carry_gate_32 NAND2_X4

# 2. Swap critical-path multiplexer to Low-Vt (LVT) library variant
# Preserves footprint; reduces cell delay by ~28% with modest leakage trade-off
swap_cell u_core/u_alu/U_mux_result MUX2_X4_LVT

# 3. Buffer high-capacitance net traversing across core partition
insert_buffer u_core/u_alu/n_carry_overflow BUF_X8 -new_cell_name u_eco_buf_overflow_0

# 4. Save netlist changes for incremental back-annotation into PnR
write_changes -format eco_tcl -output reports/eco/primetime_eco_run03.tcl

Skill 08 Signal Integrity & Crosstalk: Miller Effect, Glitch Noise & SPEF Signoff

At sub-7nm geometries, wires are taller than they are wide (high aspect ratio). Consequently, coupling capacitance between neighboring wires ($C_{ ext{coupling}}$) accounts for up to 70%–80% of total interconnect capacitance.

  • Crosstalk Delay (Miller Effect): If an aggressor net switches in the opposite direction simultaneously with a victim net, effective capacitance doubles ($C_{ ext{eff}} pprox 2 \cdot C_c$), dramatically slowing the transition and causing setup violations. If they switch in the same direction, delay decreases ($C_{ ext{eff}} pprox 0$), inducing hold violations.
  • Crosstalk Noise (Glitch): When a victim net is steady (static 0 or 1), high $dv/dt$ on an adjacent aggressor injects a voltage pulse. If glitch height exceeds the receiving gate's noise margin ($V_{ ext{IL}}$ or $V_{ ext{IH}}$), false functional state transitions occur.
  • Why SPEF is Mandatory: Signoff tools cannot assess crosstalk without extracted Standard Parasitic Exchange Format (SPEF) containing explicit *C_COUP statements generated by 3D field solvers (StarRC or Quantus). Claude diagnoses coupling reports to recommend driver upsizing, net shielding, or track spacing.

Skill 09 Physical Verification: Calibre DRC, LVS, Antenna & DFM Metal Fill

Physical verification is the final gatekeeper before mask tapeout. Siemens Calibre (or Synopsys IC Validator) executes foundry rule decks covering:

Check Type Full Name What It Verifies Common Error Signatures
DRC Design Rule Checking Geometric manufacturing rules: min width, min spacing, via enclosure, end-of-line (EOL) spacing. M2.S.1 (spacing violation), VIA2.E.1 (insufficient enclosure).
LVS Layout Versus Schematic One-to-one equivalence between extracted layout netlist and synthesized schematic netlist. Unconnected pins (Opens), merged nets (Shorts), mismatched instance counts.
Antenna Process Antenna Rule Check Gate oxide area to metal collection area ratio. ANT.1 (ratio > 250:1 on poly/metal layers without diode).
Density / CMP Metal Density & Planarization Uniform metal and dielectric distribution across CMP polishing windows. Window under-density (< 20%) or over-density (> 70%) on M3/M4.

Skill 10 Engineering Change Orders (ECO): Functional, Timing & Metal-Only Spare Gates

When bugs or timing failures are discovered late in the cycle or after base wafer fabrication has begun, re-fabricating all mask layers costs upwards of $5M–$10M. A metal-only freeze-silicon ECO reconfigures pre-placed spare gate cells using only top metal layers (e.g. M2–M5), saving months of fabrication time and millions of dollars.

Claude assists backend teams by generating structured ECO scripts, verifying pin connection syntax, and parsing Conformal / Formality LEC reports to ensure non-ECO logic remains 100% equivalent.

Skill 11 Tcl Scripting & EDA Automation: Innovus, ICC2, PrimeTime & Python Parsers

Backend engineering productivity relies heavily on Tcl automation. Claude writes, debugs, and refines complex Tcl procedures for Innovus, ICC2, and PrimeTime, including custom timing path extractors, DRC report triage scripts, and automated CSV exporters.

Skill 12 Low-Power Physical Implementation: UPF 3.0, Power Switches & Isolation Cells

Modern SoCs employ Unified Power Format (IEEE 1801 / UPF 3.0) to define power management architectures with multiple voltage domains, dynamic voltage/frequency scaling (DVFS), and power-gated shutdown islands.

  • Power Switches: Header (PMOS) or footer (NMOS) MTCMOS sleep transistors that disconnect power from inactive blocks. Claude checks daisy-chain sleep signal sequencing to avoid peak inrush current.
  • Isolation Cells (ISO): Placed on signals leaving a power-gated domain to clamp outputs to known states (0 or 1), preventing floating inputs from causing crowbar current in always-on blocks.
  • Level Shifters (ELS): Bidirectional voltage converters placed at domain interfaces operating at different supply rails (e.g. 0.75V to 1.05V).
  • State Retention Flip-Flops (SRFF): Registers with low-leakage balloon latches powered by an always-on supply, saving critical state during sleep modes.

15 Reusable Claude Code Skills for Physical Design Engineers

Claude Code skills are modular, version-controlled markdown packages located in your ASIC repository's .claude/skills/<skill-name>/SKILL.md directory. When placed in your workspace, Claude dynamically activates the exact skill matching your engineering task — enforcing strict domain rules, report parsing formats, and validation checklists without cluttering your global instructions.

Download Complete Physical Design Skills Pack
Includes all 15 production-ready SKILL.md files pre-structured for immediate deployment.
.claude/skills/floorplan-review/SKILL.md
---
name: floorplan-review
description: Evaluates ASIC die/core dimensions, aspect ratio, macro placement, halos, pin assignments, blockages, and flylines for routing and timing feasibility.
---

# Floorplan Review Skill for ASIC Physical Design

## Purpose
Performs architectural and physical evaluation of early floorplans, auditing core utilization, aspect ratio, macro orientations, channel spacing, power strap accessibility, and I/O pin feasibility to prevent downstream routing congestion and timing failure.

## When to Activate
Activate during initial die planning, after macro placement exploration, or when evaluating DEF / floorplan Tcl scripts before standard cell placement.

## Required Input Files
- Floorplan DEF (`.def`) or floorplan creation Tcl script (Innovus `create_floorplan` / ICC2 `initialize_floorplan`)
- Macro list and dimensions (SRAMs, ROMs, analog IP, PLLs)
- Top-level I/O pin constraint file or pin placement DEF
- Technology LEF / tech file (metal stack definition, track pitch)

## Step-by-Step Analysis Workflow
1. **Core Utilization & Aspect Ratio Audit:**
   - Verify core utilization ($	ext{Standard Cell Area} / 	ext{Core Area}$) is within target bounds (typically 65%–75% for advanced FinFET nodes).
   - Check aspect ratio ($H/W$) relative to package cavity, I/O ring requirements, and critical timing flylines.
2. **Macro Placement & Orientation Analysis:**
   - Verify macros are pushed toward the chip/block periphery, leaving a contiguous central core for standard cell placement.
   - Audit macro pin orientation: Ensure macro pins face the internal core, not the die boundary or adjacent macro walls.
   - Check macro spacing & halos: Ensure adequate channel width between macros ($W \ge 2 	imes 	ext{Power Strap Width} + 	ext{Routing Pitch}$) to prevent routing bottlenecks.
3. **Channel Congestion & Flyline Evaluation:**
   - Identify narrow channels between macro blocks that act as routing bottlenecks.
   - Check placement blockages (`create_placement_blockage -type hard/halo`) around macro boundaries.
4. **I/O Pin Placement & Power Ring Clearance:**
   - Verify pin distribution matches package bump / bond pad array.
   - Ensure pins are assigned to appropriate metal layers with legal track alignment.

## Tool-Specific Considerations
- **Cadence Innovus:** Uses `planDesign`, `createPlaceBlockage -type soft/hard/halo`, `assignIoPins`.
- **Synopsys ICC2:** Uses `initialize_floorplan -core_utilization`, `create_keepout_margin`, `set_block_pin_constraints`.

## Technical Limitations
- Visual floorplan inspection and script review cannot simulate global routing; always run Innovus `checkFPlan` or ICC2 `check_floorplan` to confirm zero overlaps and legal grid alignment.

## Output Format
- **Floorplan Metrics Scorecard:** Die Dimensions, Core Area, Utilization, Macro Count.
- **Identified Deficiencies & Bottlenecks:** Channel widths, pin orientations, blockage conflicts.
- **Refined Floorplan Tcl Commands:** Exact script fixes for Innovus or ICC2.
- **Validation Checklist:** Pre-placement readiness verification.

## Validation Checklist
- [ ] No macro-to-macro or macro-to-core boundary overlaps.
- [ ] Macro halos defined to prevent standard cell placement in tight channels.
- [ ] Routing tracks align with standard cell row grids.
- [ ] Core utilization accounts for routing and power mesh overhead.

## Example Invocation
```text
/floorplan-review
Tool: Cadence Innovus 22.1
Review this floorplan script for a 4-core SoC with 16 embedded SRAMs:
[paste floorplan.tcl]
```
.claude/skills/power-planning-review/SKILL.md
---
name: power-planning-review
description: Audits ASIC power distribution networks (PDN), power rings, stripes, rails, vias, and power domain meshes for static/dynamic IR drop and EM compliance.
---

# Power Planning Review Skill

## Purpose
Analyzes ASIC Power Distribution Networks (PDN), verifying metal layer stack allocation, ring/stripe pitch, standard cell power rail connections, via arrays, and voltage domain isolation to prevent static IR drop and electromigration (EM) failures.

## When to Activate
Activate after macro placement and initial floorplanning, before standard cell placement, or when debugging power grid synthesis scripts.

## Required Input Files
- Power planning Tcl script (Innovus `addRing`, `addStripe` / ICC2 `create_pg_mesh`, `create_pg_std_cell_conn`)
- Technology LEF / Tech file (Metal layer sheet resistance $R_s$, max current density $J_{\max}$)
- Power domain specifications and supply voltages ($V_{DD}$, $V_{SS}$, multi-voltage rails)
- Early power budget estimates (Worst-case dynamic and leakage power)

## Step-by-Step Analysis Workflow
1. **Metal Stack Layer Allocation:**
   - Ensure top thick metals (e.g., M8/M9 or AP) carry global power distribution stripes to minimize $I \cdot R$ loss ($R_{	ext{thick}} \ll R_{	ext{thin}}$).
   - Verify intermediate metals (M4–M7) carry regional distribution stripes orthogonal to top metals.
   - Ensure bottom thin metal (M1) is strictly reserved for standard cell followpins/rails.
2. **Power Stripe Pitch & Width Calculation:**
   - Calculate stripe resistance: $R = R_s 	imes (L / W)$.
   - Verify grid density: Target PG metal utilization between 15% and 25% per routing layer to leave adequate tracks for signal routing.
3. **Standard Cell Rail & Via Array Integrity:**
   - Verify M1 rail width matches standard cell height pitch.
   - Confirm dense via arrays (stacked vias from top metal down to M1) are inserted at every orthogonal strap intersection.
4. **Power Domain & Voltage Area Isolation:**
   - Ensure separate power domains have independent PG meshes with dedicated boundary spacing.
   - Audit power switch cell (headswitch/footswitch) daisy chain and control grid connections.

## Tool-Specific Considerations
- **Cadence Innovus:** Uses `addRing`, `addStripe`, `sroute -connect {corePin padPin blockPin}`, `verifyPowerVia`.
- **Synopsys ICC2:** Uses `create_pg_mesh_pattern`, `set_pg_strategy`, `compile_pg`.

## Technical Limitations
- Claude cannot solve finite-element linear resistor matrices; quantitative static/dynamic IR drop and EM signoff require **Cadence Voltus** or **Synopsys RedHawk-SC**.

## Output Format
- **PDN Topology Summary:** Metal Layer | Direction | Width | Pitch | Resistance/um
- **Congestion vs IR Drop Assessment:** Trade-off analysis of PG blockage on signal routing.
- **Optimized Power Script:** Hardened Tcl script for grid construction.
- **Signoff Prerequisite Checklist:** Verification directives for Voltus / RedHawk.

## Validation Checklist
- [ ] Top metals carry primary global power currents.
- [ ] Via arrays placed at all strap intersections without DRC errors.
- [ ] Standard cell followpins continuously connected across rows.
- [ ] Sufficient routing resources remain for signal routing.

## Example Invocation
```text
/power-planning-review
Technology: TSMC N7
Voltages: VDD = 0.75V, VSS = 0.0V
Review this Innovus power mesh script for static IR drop feasibility:
[paste power_plan.tcl]
```
.claude/skills/placement-optimization-review/SKILL.md
---
name: placement-optimization-review
description: Evaluates global and detailed placement, density maps, cell spreading, timing-driven optimization, and high-fanout net buffering in Innovus/ICC2.
---

# Placement Optimization Review Skill

## Purpose
Inspects post-placement Quality of Results (QoR), evaluating cell density distributions, global routing congestion maps, setup timing WNS/TNS, high-fanout nets (HFN), and scan-chain ordering before clock tree synthesis.

## When to Activate
Activate immediately after global/detailed placement and pre-CTS timing optimization (`place_opt_design` / `place_opt`).

## Required Input Files
- Placement log file (Innovus `place_opt_design.log` / ICC2 `place_opt.log`)
- Pre-CTS timing summary report (`report_timing -max_paths 50`)
- Global routing congestion summary / GRC report
- High-fanout net report (`report_net -min_fanout 32`)

## Step-by-Step Analysis Workflow
1. **Placement Density & Spreading Audit:**
   - Check local density hotspots: Identify regions where standard cell density exceeds 85%, which triggers detailed routing DRC explosion.
   - Recommend density bounds (`set_placement_status`, `create_density_constraint`).
2. **Congestion-Driven Placement Check:**
   - Inspect overflow metrics: Total Overflow (TOF) and Max Overflow (MOF).
   - If GRC overflow > 1.5%, identify whether root cause is macro proximity, pin clustering, or wide bus crossings.
3. **Timing-Driven Placement & Critical Path Clustering:**
   - Review pre-CTS WNS and TNS: Verify that launch/capture flip-flops on critical timing paths are physically clustered close together.
   - Detect long flylines on unbuffered high-fanout control nets.
4. **Buffer Insertion & Cell Sizing Sanity:**
   - Audit buffer explosion: Ensure the placement tool hasn't inserted tens of thousands of tiny delay buffers to fix timing in heavily congested channels.

## Tool-Specific Considerations
- **Cadence Innovus:** Uses `place_opt_design`, `setPlaceMode -congEffort high -timingEffort high`, `reportCongestion`.
- **Synopsys ICC2:** Uses `place_opt`, `set_app_options -name place.coarse.congestion_driven_max_util`, `report_congestion`.

## Technical Limitations
- Pre-CTS timing reports use ideal clock trees (zero insertion delay and zero skew); final timing depends on post-CTS clock skew synthesis.

## Output Format
- **Placement QoR Scorecard:** Total Cell Count, Max Density %, GRC Overflow %, Pre-CTS WNS/TNS.
- **Congestion & Timing Bottleneck Diagnosis:** Root cause of localized placement clusters.
- **Tcl Tuning Directives:** Tool commands to adjust cell padding, density limits, or net weights.

## Validation Checklist
- [ ] No legalizer cell overlaps (`checkPlace` clean).
- [ ] GRC overflow below 1.0% in all directions (H and V).
- [ ] High-fanout reset and scan nets properly identified and deferred to CTS.
- [ ] Critical path logic depth aligned with physical placement distance.

## Example Invocation
```text
/placement-optimization-review
Tool: Synopsys ICC2
Log: [paste place_opt.log summary]
Timing: Pre-CTS WNS = -420ps on 1.0ns clock
```
.claude/skills/cts-report-analysis/SKILL.md
---
name: cts-report-analysis
description: Analyzes Clock Tree Synthesis (CTS) reports, evaluating clock skew, insertion delay, buffer sizing, clock gating setup/hold, and multi-corner clock latency.
---

# Clock Tree Synthesis (CTS) Report Analysis Skill

## Purpose
Diagnoses Clock Tree Synthesis (CTS) execution logs and reports from Cadence Innovus (ccopt) and Synopsys ICC2 (clock_opt), identifying clock skew imbalances, excessive insertion delays, duty-cycle distortion, and clock-gating timing violations.

## When to Activate
Activate after CTS implementation (`ccopt_design` / `clock_opt`) to evaluate clock tree quality before detailed signal routing.

## Required Input Files
- CTS summary report (`report_clock_trees`, `report_ccopt_skew_groups`, `report_clock_tree_summary`)
- Clock specification file / SDC constraints (`create_clock`, `set_clock_uncertainty`, `set_clock_latency`)
- Post-CTS timing report (`report_timing -delay_type min_max`)

## Step-by-Step Analysis Workflow
1. **Clock Skew Decomposition:**
   - Distinguish **Global Skew** (difference between maximum and minimum latency across the entire design) from **Local Skew** (latency difference between communicating flip-flop pairs).
   - Verify local skew is within budget (typically < 5%–10% of clock period).
2. **Insertion Delay & Clock Depth:**
   - Audit maximum insertion delay: Abnormally large insertion delay (> 1.5–2.0 ns on high-speed clocks) exacerbates on-chip variation (OCV) and derate penalties.
   - Check clock tree logic levels (number of buffer stages from root to leaf pins).
3. **Clock Inverter/Buffer Cell Selection:**
   - Ensure CTS strictly uses balanced clock inverters/buffers (`CLKINV_X4`, `CLKBUF_X8`) with symmetrical rise/fall slew rates to prevent duty cycle collapse.
4. **Clock Gating Checks (Integrated Clock Gaters - ICG):**
   - Check enable setup and hold timing on ICG cells (`EN -> CP`).
   - Ensure clock gaters are positioned close to their target load register clusters.
5. **Multi-Corner Clock Latency:**
   - Verify clock skew does not diverge severely between Early (fast/min) and Late (slow/max) timing corners.

## Tool-Specific Considerations
- **Cadence Innovus (CCOpt):** Uses `create_ccopt_clock_tree_spec`, `ccopt_design`, `report_ccopt_clock_trees -summary`.
- **Synopsys ICC2:** Uses `clock_opt`, `report_clock_qor`, `synthesize_clock_trees`.

## Technical Limitations
- Post-CTS timing reports use estimated interconnect routing parasitics; post-route extraction (SPEF) will introduce cross-coupling capacitance.

## Output Format
- **CTS Quality Scorecard:** Clock Name | Target Skew | Actual Skew | Min Latency | Max Latency | ICG Count
- **Root-Cause Anomaly Detection:** Skew outliers, long clock branches, high transition nets.
- **Tcl Optimization Script:** CCOpt / clock_opt constraint refinements (target skew, routing rules NDR).

## Validation Checklist
- [ ] Clock routing assigned to shielded double-width/double-spacing Non-Default Routing (NDR) rules.
- [ ] Local skew between critical timing paths meets SDC uncertainty budget.
- [ ] No regular standard cells mixed into CTS buffer inverter chains.
- [ ] ICG enable setup and hold slacks are positive.

## Example Invocation
```text
/cts-report-analysis
Tool: Cadence Innovus 22.1 (CCOpt)
Target Clock: clk_core (Period = 1.0ns)
Report: [paste report_ccopt_clock_trees.rpt]
```
.claude/skills/routing-congestion-analysis/SKILL.md
---
name: routing-congestion-analysis
description: Analyzes global routing congestion, detailed routing DRC violations, track utilization, antenna violations, and routing detours in Innovus/ICC2.
---

# Routing & Congestion Analysis Skill

## Purpose
Diagnoses post-route DRC reports and global routing congestion (GRC) maps, categorizing metal shorts, spacing violations, via enclosure failures, antenna effects, and routing detours.

## When to Activate
Activate during or after global and detailed routing (`routeDesign` / `route_auto`) when resolving routing DRC clean-up.

## Required Input Files
- Routing log and summary report (Innovus `routeDesign.log` / ICC2 `route_auto.log`)
- Detailed routing DRC violation report (`checkRoute` / `check_lvs -drc`)
- Metal layer congestion statistics (% track utilization per metal layer)
- Process design rule constraints (LEF minimum area, spacing, notch rules)

## Step-by-Step Analysis Workflow
1. **DRC Violation Categorization:**
   - Parse total violation count into distinct classes: Metal Shorts, Min Spacing, Min Area, Via Overlap, Enclosure, Antenna.
2. **Spatial Hotspot Identification:**
   - Identify whether violations are randomly distributed (easy to fix via search-and-repair) or concentrated in localized clusters (indicates physical unroutable bottleneck).
3. **Layer-by-Layer Track Exhaustion:**
   - Check horizontal vs vertical metal utilization: If M3/M4 track utilization exceeds 90%, signal lines are forced to detour to upper layers, blowing timing.
4. **Antenna Rule Violations:**
   - Identify long metal traces connected directly to gate oxide without diode protection or metal jumpers to upper layers.
5. **Pin Accessibility in Advanced Nodes:**
   - In sub-10nm FinFETs, pin access is heavily constrained by colored EUV grids; verify standard cell pin access issues.

## Tool-Specific Considerations
- **Cadence Innovus:** Uses `routeDesign`, `setNanoRouteMode -drouteFixAntenna true`, `verifyGeometry`, `verifyConnectivity`.
- **Synopsys ICC2:** Uses `route_auto`, `route_detail -incremental true`, `check_routes`.

## Technical Limitations
- Automated routing analysis cannot visually display GDS polygons; physical sign-off DRC requires **Siemens Calibre nmDRC** or **Synopsys IC Validator (ICV)**.

## Output Format
- **DRC Category Breakdown Table:** Rule Name | Layer | Count | Severity | Root Cause
- **Hotspot Remediation Strategy:** Cell spreading, placement blockage widening, layer promotion.
- **Tcl Repair Directives:** Search-and-repair script commands and antenna diode insertion.

## Validation Checklist
- [ ] Zero metal shorts and zero open nets in design.
- [ ] Antenna violations eliminated via layer jumpers or reverse-biased diodes.
- [ ] Critical timing nets have direct routes without excessive serpentine detours.

## Example Invocation
```text
/routing-congestion-analysis
Tool: Cadence Innovus NanoRoute
Report: [paste verifyGeometry.rpt summary]
Total DRCs: 2,410 violations (mostly M2 spacing and Via1 enclosure)
```
.claude/skills/setup-timing-debug/SKILL.md
---
name: setup-timing-debug
description: Performs root-cause analysis on negative setup slack (WNS/TNS) timing paths in PrimeTime, Tempus, Innovus, and ICC2.
---

# Setup Timing Debug Skill

## Purpose
Performs deep-dive engineering investigation of setup timing violations (max_delay), systematically deconstructing data arrival and required paths, logic depth, cell drive strengths, interconnect parasitics, and clock skew.

## When to Activate
Activate when analyzing post-placement, post-CTS, or post-route setup timing violations with negative slack.

## Required Input Files
- Full timing path report (`report_timing -nosplit -transition_time -capacitance -nets -attributes`)
- Target clock period and SDC constraints (`create_clock`, `set_clock_uncertainty`)
- Library operating corner (e.g., SSG 0.75V 125C worst-case setup corner)

## Step-by-Step Analysis Workflow
1. **Timing Path Topology Identification:**
   - Startpoint: Launch flip-flop, input port, or macro output.
   - Endpoint: Capture flip-flop data pin (D), output port, or macro input.
   - Launch & Capture clock domains and edge relationships (same-edge vs opposite-edge).
2. **Slack Equation Decomposition:**
   - $	ext{Slack} = 	ext{Data Required Time} - 	ext{Data Arrival Time}$.
   - $	ext{Data Arrival} = T_{	ext{launch\_latency}} + T_{	ext{CK}	o	ext{Q}} + T_{	ext{cell\_delay}} + T_{	ext{net\_delay}}$.
   - $	ext{Data Required} = T_{	ext{period}} + T_{	ext{capture\_latency}} - T_{	ext{setup}} - T_{	ext{uncertainty}}$.
3. **Bottleneck Component Isolation:**
   - **Cell vs Net Ratio:** Is delay dominated by cell switching (logic depth) or RC interconnect (long routing net / high capacitance)?
   - **Transition Violations:** Are cell delays inflated due to slow input slew rates?
   - **Drive Strength Sanity:** Are cells undersized (e.g., `X1` or `X2` driving long nets)?
   - **Clock Skew Effect:** Is clock skew hurting or helping slack?
4. **Remediation Strategy Formulation:**
   - Cell Sizing (`size_cell` to `X4`/`X8`).
   - Buffer Insertion (`insert_buffer` to split long resistive nets).
   - Logic Restructuring / Swapping to faster pin paths.
   - Useful Skew: Pushing capture clock latency later (if hold budget permits).

## Tool-Specific Considerations
- **Synopsys PrimeTime:** Uses `report_timing -delay_type max -input_pins`, `get_timing_paths`.
- **Cadence Tempus:** Uses `report_timing -late -view worst_setup`, `report_property`.

## Technical Limitations
- Setup fixes must never be committed without verifying that the changes do not introduce hold timing violations on fast corners (FFG 0.88V -40C).

## Output Format
- **Path Delay Breakdown Table:** Stage | Instance | Cell Type | Slew (ps) | Cap (fF) | Cell Delay | Net Delay | Running Total
- **Root-Cause Diagnosis:** Explicit explanation of what caused the negative slack.
- **Actionable Fix Prescription:** Exact Tcl ECO commands (cell resize, buffer insert, useful skew).
- **Secondary Impact Assessment:** Hold risk, area impact, dynamic power penalty.

## Validation Checklist
- [ ] Transition times at all intermediate nodes comply with max_transition constraints.
- [ ] No unconstrained paths or generated clock definition errors.
- [ ] Suggested cell resizing exists in target technology library.

## Example Invocation
```text
/setup-timing-debug
Tool: Synopsys PrimeTime 2023.12
Corner: SSG 0.675V 125C
Slack: -312ps on 1.25GHz clock
Report: [paste report_timing.rpt]
```
.claude/skills/hold-timing-debug/SKILL.md
---
name: hold-timing-debug
description: Diagnoses and remediates hold timing violations (min_delay) across fast PVT corners without degrading setup slack or inducing congestion.
---

# Hold Timing Debug Skill

## Purpose
Investigates hold timing violations (min_delay), ensuring fast data paths cannot overwrite sequential flip-flop states before the required hold window elapses, prioritizing fixes at fast PVT corners.

## When to Activate
Activate during post-CTS and post-route timing closure, specifically when running STA on fast/hold corners (e.g., FFG 0.88V -40C).

## Required Input Files
- Hold timing path report (`report_timing -delay_type min -nosplit -transition_time -nets`)
- Library operating corner (e.g., FFG / Cbest / -40C fast corner)
- SDC hold uncertainty constraints (`set_clock_uncertainty -hold`)

## Step-by-Step Analysis Workflow
1. **Hold Equation Decomposition:**
   - $	ext{Slack}_{	ext{hold}} = 	ext{Data Arrival Time} - 	ext{Data Required Time}$.
   - $	ext{Data Arrival} = T_{	ext{launch\_latency}} + T_{	ext{CK}	o	ext{Q}} + T_{	ext{combinational\_min}}$.
   - $	ext{Data Required} = T_{	ext{capture\_latency}} + T_{	ext{hold}} + T_{	ext{hold\_uncertainty}}$.
   - Hold violations occur when data arrives *too quickly* ($	ext{Slack} < 0$).
2. **Root-Cause Identification:**
   - Zero logic depth: Direct flip-flop to flip-flop connections (`Q -> D`).
   - Clock skew anomaly: Capture clock arriving much later than launch clock due to CTS branch imbalance or long ICG insertion delay.
   - Corner disparity: Cell switching ultra-fast at cold temperatures (-40C) and high voltage.
3. **Remediation Strategy:**
   - Delay Buffer Insertion: Insert standard hold-fixing delay cells (e.g., `DLY1_X1`, `DLY2_X1`).
   - Placement Proximity Check: Ensure hold delay buffers are placed physically close to the capture flip-flop.
   - Setup Cross-Check: Mandate that inserting hold buffers does not turn positive setup slack negative on the worst-case slow setup corner!

## Tool-Specific Considerations
- **Synopsys PrimeTime:** Uses `fix_eco_timing -type hold -methods {insert_buffer}`.
- **Cadence Innovus:** Uses `optDesign -postRoute -hold`.

## Technical Limitations
- Indiscriminate hold buffer insertion causes standard cell density inflation and routing congestion; always prioritize high-resistance delay buffers on non-critical setup nets.

## Output Format
- **Hold Path Deconstruction:** Launch Latency, Capture Latency, Min Data Delay, Slack.
- **Buffer Insertion Plan:** Target net, proposed delay cell type, estimated delay addition.
- **Setup Hazard Safeguard:** Verification that setup margin on slow corner absorbs the added delay.

## Validation Checklist
- [ ] Hold verified on fast corner (FFG / Cbest / -40C).
- [ ] No hold buffers inserted on nets that are setup critical on slow corner (SSG / Cworst / 125C).
- [ ] Delay cell leakage power conforms to total power budget.

## Example Invocation
```text
/hold-timing-debug
Corner: FFG 0.88V -40C
Slack: -85ps WNS
Path: Direct register-to-register shift register path
Report: [paste report_timing_min.rpt]
```
.claude/skills/sta-report-analysis/SKILL.md
---
name: sta-report-analysis
description: Decodes multi-corner, multi-mode (MCMM) Static Timing Analysis reports from Synopsys PrimeTime and Cadence Tempus, extracting WNS, TNS, and FEP.
---

# Static Timing Analysis (STA) Report Analysis Skill

## Purpose
Interprets comprehensive Multi-Corner Multi-Mode (MCMM) Static Timing Analysis summaries, analyzing Worst Negative Slack (WNS), Total Negative Slack (TNS), Failing Endpoints (FEP), and Design Rule Constraints (DRC) across all operating modes and process corners.

## When to Activate
Activate during timing closure milestones, tapeout readiness reviews, or signoff analysis.

## Required Input Files
- Global timing summary report (PrimeTime `report_qor` / Tempus `report_summary`)
- Multi-corner slack matrix (SSG, TT, FFG across Functional, Scan, BIST modes)
- DRC violation summary (Max Transition, Max Capacitance, Max Fanout)

## Step-by-Step Analysis Workflow
1. **MCMM Scorecard Compilation:**
   - Extract WNS, TNS, FEP, and Violating Paths for each active scenario (`mode.corner`).
2. **Dominant Corner & Mode Isolation:**
   - Identify whether timing violations are concentrated in a specific scenario (e.g., Functional.SSG_0p675v_125c vs ScanShift.FFG_0p88v_m40c).
3. **Design Rule Constraint (DRC) Audit:**
   - Check Max Transition violations: Slow edge rates increase cell delay and degrade noise margins.
   - Check Max Capacitance violations: Overdriven nets cause excessive dynamic power and reliability risks.
4. **Endpoint Clustering Analysis:**
   - Group failing endpoints by hierarchy/module to detect systematic architectural timing bottlenecks.

## Tool-Specific Considerations
- **Synopsys PrimeTime:** Uses `report_qor`, `report_constraint -all_violators`, `report_analysis_coverage`.
- **Cadence Tempus:** Uses `report_timing_summary`, `report_analysis_views`.

## Technical Limitations
- STA reports reflect static mathematical calculations based on SDC constraints; unconstrained or incorrectly false-pathed nets will not appear as violations.

## Output Format
- **MCMM Scenario Summary Matrix:** Mode | Corner | Setup WNS | Setup TNS | Hold WNS | Hold TNS | Max Tran Violators
- **Top 5 Bottleneck Modules:** Ranked by failing endpoint density.
- **Prioritized Action Plan:** Recommended optimization passes for ECO closure.

## Validation Checklist
- [ ] All clock domains and cross-domain paths analyzed.
- [ ] 100% timing path coverage (no unconstrained registers).
- [ ] SDC constraints verified clean via `check_timing`.

## Example Invocation
```text
/sta-report-analysis
Tool: Synopsys PrimeTime 2023.12
Report: [paste report_qor across 8 active corners]
```
.claude/skills/timing-constraint-review/SKILL.md
---
name: timing-constraint-review
description: Audits Synopsys Design Constraints (SDC) for missing clocks, generated clock definitions, false paths, multicycle paths, and case analysis.
---

# Timing Constraint (SDC) Review Skill

## Purpose
Audits Synopsys Design Constraints (SDC) files for completeness and physical accuracy, detecting dangerous over-constraining, missing generated clocks, unconstrained interfaces, and unsafe false-path exceptions.

## When to Activate
Activate before synthesis, during floorplanning, and before final STA signoff to validate timing constraints.

## Required Input Files
- SDC constraints file (`.sdc`)
- Top-level clock specification and PLL documentation
- Chip boundary interface timing agreements (input delays, output delays)

## Step-by-Step Analysis Workflow
1. **Clock Definition Audit:**
   - Verify all primary oscillator inputs have explicit `create_clock` definitions with correct periods and waveforms.
   - Audit `create_generated_clock`: Ensure clock dividers, PLL outputs, and clock multiplexers have explicit generated clock definitions with accurate source pins (`-source`) and division/multiplication factors (`-divide_by`, `-multiply_by`).
2. **Clock Uncertainty & Latency:**
   - Check that `set_clock_uncertainty` includes both PLL jitter and clock tree variation margin.
3. **I/O Delay Constraints:**
   - Audit `set_input_delay` and `set_output_delay`: Verify reference clock names and max/min values account for PCB trace flight times.
4. **Timing Exceptions Audit (Critical):**
   - **False Paths (`set_false_path`):** Ensure false paths are only applied to verified asynchronous CDC paths (e.g., static configuration registers).
   - **Multicycle Paths (`set_multicycle_path`):** Verify that multicycle paths have matching hold multipliers (`-hold N-1`).

## Tool-Specific Considerations
- **Synopsys PrimeTime:** Uses `check_timing -verbose`, `report_exceptions`.
- **Cadence Innovus / Tempus:** Uses `check_timing`, `report_timing_exceptions`.

## Technical Limitations
- Constraint review cannot confirm PCB board-level trace lengths; I/O delays must be verified against system-level board timing specs.

## Output Format
- **Constraint Health Scorecard:** Primary Clocks | Generated Clocks | Unconstrained Endpoints | Active Exceptions
- **Risk Assessment:** Flagged unsafe false paths or missing clock dividers.
- **Refined SDC Directives:** Corrected syntax conforming to IEEE 1800-2023 / SDC 2.1.

## Validation Checklist
- [ ] `check_timing` produces zero unconstrained endpoints.
- [ ] All multicycle setup paths have corresponding hold multipliers.
- [ ] No internal clocks defined as independent primary clocks unless physically asynchronous.

## Example Invocation
```text
/timing-constraint-review
Review this top-level SDC file for a dual-PLL PCIe/DDR controller SoC:
[paste chip_top.sdc]
```
.claude/skills/tcl-script-debugger/SKILL.md
---
name: tcl-script-debugger
description: Debugs, refactors, and automates Tcl scripts for Cadence Innovus, Synopsys ICC2, PrimeTime, Tempus, and Calibre with verified syntax.
---

# Tcl Script Debugger & Automation Skill

## Purpose
Specialized EDA automation skill that inspects, debugs, and optimizes Tool Command Language (Tcl) scripts for commercial physical implementation and timing tools, ensuring correct object collection handling, error trapping, and high-performance execution.

## When to Activate
Activate when writing, debugging, or optimizing physical design automation scripts, custom report parsers, or flow-control hooks.

## Required Input Files
- Defective or target Tcl script
- Target EDA tool and version (Innovus, ICC2, PrimeTime, Tempus, Calibre)
- Error log or failure message generated during tool execution

## Step-by-Step Analysis Workflow
1. **Tool-Specific Command Vocabulary Verification:**
   - Verify commands match the exact syntax of the target tool (e.g., distinguishing PrimeTime `get_pins -of_objects` from Innovus `dbGet`).
2. **Object Collection vs List Manipulation:**
   - Detect common Tcl crash: treating an EDA collection (Synopsys `get_cells`, Cadence `get_db`) as a standard Tcl string list instead of using `sizeof_collection` or `foreach_in_collection`.
3. **Variable Expansion & Substitution Scrutiny:**
   - Audit bracket substitutions `[ ]` and quote escaping inside loops.
4. **Performance & Memory Optimization:**
   - Replace slow iterative string parsing with native tool attribute queries (`get_attribute`).
5. **Error Handling & Return Codes:**
   - Add `catch { ... } error_msg` blocks around non-fatal commands to prevent automated flow termination.

## Tool-Specific Considerations
- **Cadence Innovus:** Uses legacy `dbGet` / modern Common UI `get_db`.
- **Synopsys ICC2 / PrimeTime:** Uses collections (`get_cells`, `get_pins`, `foreach_in_collection`).
- **Siemens Calibre:** Uses Calibre Interactive batch Tcl directives.

## Technical Limitations
- Never invent proprietary command options; if an internal tool variable is unconfirmed, flag it explicitly.

## Output Format
- **Bug Diagnosis:** Exact line and explanation of Tcl runtime or syntax failure.
- **Corrected Tcl Script:** Production-ready code block with robust collection handling.
- **Performance Optimization Notes:** Explanation of speedups achieved.

## Validation Checklist
- [ ] Collections properly iterated using tool-specific iteration primitives.
- [ ] No bare file paths without existence validation.
- [ ] Compatible with both interactive terminal and non-interactive batch mode execution.

## Example Invocation
```text
/tcl-script-debugger
Tool: Synopsys PrimeTime 2023.12
Error: "Can't read collection element as string in foreach loop"
Script: [paste parse_violators.tcl]
```
.claude/skills/drc-violation-analysis/SKILL.md
---
name: drc-violation-analysis
description: Analyzes physical verification DRC violation logs from Siemens Calibre nmDRC and Synopsys ICV, mapping polygon errors to layout causes.
---

# Design Rule Check (DRC) Violation Analysis Skill

## Purpose
Categorizes and investigates physical verification Design Rule Checking (DRC) violation summaries from foundry signoff engines (Siemens Calibre nmDRC, Synopsys ICV), determining root causes in placement, routing, or filler cell insertion.

## When to Activate
Activate during physical verification signoff runs on post-routing and metal-filled GDSII/OASIS databases.

## Required Input Files
- Calibre DRC summary report (`calibre.drc.summary` / `drc.log`)
- Foundry design rule deck name and technology node (e.g., TSMC N5, GF 12LP)
- Physical layer affected (Base layers, FinFET fins, Poly, Contact, Via1–ViaN, Metal1–MetalTop)

## Step-by-Step Analysis Workflow
1. **Rule Deck Classification:**
   - Base Layer DRC: Poly pitch, active diffusion spacing, well proximity (typically caused by standard cell abutment or tap-cell gaps).
   - Metal Layer DRC: Minimum spacing, minimum area, wide-metal spacing, jog rules.
   - Via DRC: Enclosure rules, cut spacing, redundant via requirements.
   - Density & DFM DRC: Minimum/maximum metal density across moving windows.
2. **Systematic vs Random Failure Diagnosis:**
   - Check if a specific cell master or SRAM boundary accounts for thousands of repeated violations.
3. **Remediation Prescription:**
   - Route-level violations: Recommend NanoRoute / route_detail search-and-repair parameters.
   - Base-layer violations: Check boundary end-cap cells, well-tap spacing, or macro halo keepouts.
   - Metal Density: Adjust automated dummy metal fill scripts (`insert_metal_fill`).

## Tool-Specific Considerations
- **Siemens Calibre nmDRC:** Standard foundry signoff engine.
- **Synopsys IC Validator (ICV):** Synopsys integrated in-design signoff DRC.

## Technical Limitations
- Calibre DRC requires loading the GDSII layout into Calibre RVE or layout viewer (KLayout / Virtuoso) to inspect polygon coordinate geometries; Claude provides analytical triage.

## Output Format
- **DRC Violation Triage Matrix:** Rule Name | Category | Violation Count | Root Cause Category
- **Top Root-Cause Suspects:** Master cell abutment, routing channel starvation, via enclosure defect.
- **Remediation Roadmap:** Step-by-step PnR tool commands to fix in layout before rerunning Calibre.

## Validation Checklist
- [ ] Signoff verified using golden foundry-provided Calibre runset.
- [ ] Base layer DRC verified clean before metal fill insertion.
- [ ] Zero net-shorts or open connections.

## Example Invocation
```text
/drc-violation-analysis
Tool: Siemens Calibre nmDRC
Foundry: TSMC 16FFC
Report: [paste calibre.drc.summary excerpt]
Top violation: M2.S.1 (Metal 2 spacing violation: 1,840 instances)
```
.claude/skills/lvs-debug-assistant/SKILL.md
---
name: lvs-debug-assistant
description: Decodes Layout Versus Schematic (LVS) mismatch reports from Siemens Calibre nmLVS, diagnosing shorts, opens, and device property discrepancies.
---

# Layout Versus Schematic (LVS) Debug Assistant Skill

## Purpose
Diagnoses physical verification Layout Versus Schematic (LVS) failure reports from Siemens Calibre nmLVS, isolating discrepancy points between the extracted GDSII netlist and the synthesized gate-level SPICE netlist.

## When to Activate
Activate when Calibre nmLVS reports "COMPARE RESULTS: NOT COMPARED" or "DISCREPANCIES FOUND" during tapeout verification.

## Required Input Files
- Calibre LVS summary report (`lvs.rep` / `calibre.lvs.summary`)
- Source gate-level netlist (`.v` or `.spi`)
- Power/Ground supply net names ($V_{DD}, V_{SS}$) and text label definitions

## Step-by-Step Analysis Workflow
1. **Initial Discrepancy Classification:**
   - **Net Shorts:** Multiple electrical nets merged into a single physical polygon.
   - **Net Opens:** A single electrical net physically broken into two isolated pieces.
   - **Unbalanced Pin / Port Count:** Missing top-level I/O text labels or mismatched port names.
   - **Component Parameter Mismatches:** Transistor channel width/length ($W/L$) or resistor values differing between schematic and layout.
2. **Text Label & Pin Attachment Audit:**
   - Verify top-level supply ports have text labels on the correct metal layer matching Calibre text-layer directives.
3. **Power/Ground Short Isolation:**
   - If $V_{DD}$ and $V_{SS}$ are reported shorted, locate the first shorted coordinate in the log to inspect standard cell tap abutments or macro power ring crossings.
4. **Subcircuit Reduction & Unmatched Instance Trees:**
   - Trace discrepancy trees to locate the true root-cause instance rather than downstream propagated symptoms.

## Tool-Specific Considerations
- **Siemens Calibre nmLVS:** Golden foundry signoff engine.
- **Cadence Pegasus LVS:** Cadence signoff LVS solution.

## Technical Limitations
- Calibre LVS coordinates must be highlighted in layout tools (Calibre RVE / Virtuoso / Innovus); Claude provides logical path deconstruction.

## Output Format
- **LVS Discrepancy Breakdown:** Shorts | Opens | Unmatched Instances | Unmatched Nets
- **Root-Cause Analysis:** Pinpoints the initial mismatch event that caused downstream net collapse.
- **Remediation Checklist:** Actionable layout and netlist corrections.

## Validation Checklist
- [ ] Calibre report states: "COMPARE RESULTS: COMPARED - ZERO DISCREPANCIES".
- [ ] Power and ground supplies unambiguously verified.
- [ ] No soft-shorts or floating well body contacts.

## Example Invocation
```text
/lvs-debug-assistant
Tool: Siemens Calibre nmLVS
Summary: "Net VDD shorted to Net VSS at coordinate (1420.5, 890.2)"
Report: [paste lvs.rep discrepancy section]
```
.claude/skills/ir-drop-em-analysis/SKILL.md
---
name: ir-drop-em-analysis
description: Analyzes static and dynamic voltage drop (IR drop) and electromigration (EM) violation reports from Cadence Voltus and Synopsys RedHawk-SC.
---

# IR Drop & Electromigration (EM) Analysis Skill

## Purpose
Interprets static and dynamic IR drop distributions and signal/power electromigration (EM) reports from signoff power analysis tools (Cadence Voltus, Synopsys RedHawk-SC), identifying power grid starvation and high-current hotspots.

## When to Activate
Activate during post-CTS and post-route power integrity signoff, or when diagnosing voltage drop induced timing failures.

## Required Input Files
- IR drop summary report (Voltus `report_ir_drop` / RedHawk `static_ir_summary`)
- Vectorless or VCD-driven dynamic power analysis configuration
- Supply voltage specifications and allowable drop threshold (e.g., $V_{	ext{drop}} \le 5\% 	imes V_{DD}$)

## Step-by-Step Analysis Workflow
1. **Static vs Dynamic IR Drop Classification:**
   - Static IR Drop: Caused by average DC current flowing through power grid resistance ($V = I_{	ext{avg}} \cdot R_{	ext{grid}}$). Indicates inadequate power straps or missing vias.
   - Dynamic IR Drop: Caused by instantaneous simultaneous switching current ($L \cdot di/dt + I_{	ext{peak}} \cdot R$). Indicates simultaneous clock tree buffer switching or high-activity datapath clusters.
2. **Power Mesh Resistance Mapping:**
   - Trace IR drop contours back to power pad / bump locations. Identify regions far from power bumps with high effective resistance ($R_{	ext{eff}}$).
3. **Electromigration (EM) Violation Audit:**
   - Signal EM: High-frequency clock nets driving high capacitive loads exceeding metal current density limits ($J_{	ext{rms}}, J_{	ext{avg}}$).
   - Power EM: Power stripes feeding large standard cell blocks carrying current exceeding electromigration lifespan thresholds.
4. **Remediation Plan:**
   - Static Fix: Add intermediate power stripes or increase via array density.
   - Dynamic Fix: Insert Decoupling Capacitance (Decap) standard cells adjacent to switching hotspots; stagger clock tree buffer trigger edges.

## Tool-Specific Considerations
- **Cadence Voltus:** Native signoff power integrity solution.
- **Synopsys RedHawk-SC:** Industry standard grid and dynamic IR signoff engine.

## Technical Limitations
- IR drop is highly sensitive to switching activity vectors; vectorless analysis is conservative, while VCD analysis depends strictly on testbench stimulus realism.

## Output Format
- **Power Integrity Scorecard:** Worst Static Drop (mV), Worst Dynamic Drop (mV), EM Violating Nets Count.
- **Hotspot Location Diagnosis:** Correlation with standard cell density and clock buffer trees.
- **Actionable Remediation Prescription:** Decap cell insertion guidelines and power strap reinforcement.

## Validation Checklist
- [ ] Peak dynamic IR drop within foundry voltage margin (typically < 5%–7% of nominal $V_{DD}$).
- [ ] Decap cells placed without causing excessive leakage current penalty.
- [ ] All signal and power metal lines conform to foundry EM limits for 10-year lifetime.

## Example Invocation
```text
/ir-drop-em-analysis
Tool: Cadence Voltus
Nominal VDD: 0.80V (Threshold: 5% = 40mV)
Report: [paste voltus_ir_drop.rpt]
Max Drop: 74mV in logic cluster near SRAM macro
```
.claude/skills/eco-review/SKILL.md
---
name: eco-review
description: Plans and verifies Engineering Change Orders (ECO) for timing closure, DRC repair, and functional logic modification using spare gates.
---

# Engineering Change Order (ECO) Review Skill

## Purpose
Guides the formulation, review, and verification of Engineering Change Orders (ECOs) in late-stage physical design, evaluating timing ECOs, design-rule ECOs, and freeze-silicon metal-only functional ECOs using pre-placed spare gates.

## When to Activate
Activate during late timing closure, post-mask functional bug fixes, or when generating incremental physical implementation scripts.

## Required Input Files
- ECO intent: Timing fix (setup/hold), DRC fix, or Functional logic patch
- Pre-ECO vs Post-ECO netlist diff or ECO change description
- Available spare cell inventory (for metal-only ECOs)
- ECO Tcl commands (Innovus `ecoChangeCell`, `ecoAddRepeater` / ICC2 `eco_netlist`)

## Step-by-Step Analysis Workflow
1. **ECO Classification & Scope:**
   - **Post-Route Base-and-Metal ECO:** All silicon mask layers can be modified. Suitable for automated buffer insertion and cell resizing during timing closure.
   - **Metal-Only Freeze-Silicon ECO:** Base layers (diffusion, poly, contact) are frozen in fab; modifications are strictly restricted to metal routing layers (M1–MTop) using pre-instantiated spare cell gates (`SPARE_AND`, `SPARE_FF`).
2. **Logical Equivalence Checking (LEC) Verification:**
   - For functional ECOs, verify that golden modified RTL matches the ECO-patched netlist using **Cadence Conformal** or **Synopsys Formality**.
3. **Physical Impact & Disturbance Minimization:**
   - Confirm that ECO routing does not rip up critical timing-closed nets.
   - Verify that newly inserted cells are placed into legal filler cell gaps without shifting adjacent standard cells.
4. **Timing Re-Convergence:**
   - Verify that the ECO fixes the intended violation without causing secondary setup or hold failures on adjacent nets.

## Tool-Specific Considerations
- **Cadence Innovus:** Uses `ecoChangeCell`, `ecoAddRepeater`, `ecoRoute`.
- **Synopsys ICC2:** Uses `eco_netlist`, `route_eco`.
- **Formality / Conformal:** Mandated for formal equivalence signoff.

## Technical Limitations
- Metal-only ECOs depend strictly on physical proximity of spare gates; if no unused spare flip-flop exists within routing distance, a metal-only fix is physically impossible.

## Output Format
- **ECO Implementation Strategy:** Base-and-Metal vs Metal-Only assessment.
- **Verified Tcl ECO Script:** Precise commands to insert buffers, resize cells, or rewire spare pins.
- **Verification Signoff Checklist:** Formality/Conformal and incremental STA prerequisites.

## Validation Checklist
- [ ] Formal equivalence verified (LEC clean).
- [ ] Incremental STA verifies violation closed without side-effect slack degradation.
- [ ] Incremental DRC and LVS verify layout remains 100% clean.

## Example Invocation
```text
/eco-review
Type: Metal-Only Functional ECO
Goal: Invert signal 'data_valid' before entering FIFO using spare inverter 'spare_inv_inst_42'
[paste eco_script.tcl]
```
.claude/skills/physical-design-run-comparison/SKILL.md
---
name: physical-design-run-comparison
description: Compares multi-run physical design implementation logs and QoR metrics across floorplan, placement, CTS, and routing iterations.
---

# Physical Design Run Comparison Skill

## Purpose
Compares physical implementation metrics across multiple PnR runs, floorplan variants, or synthesis revisions, systematically identifying regressions and improvements in timing (WNS/TNS), area, leakage, wirelength, and congestion.

## When to Activate
Activate when evaluating new floorplan options, testing aggressive optimization flags, or performing regression triage between design revisions.

## Required Input Files
- Run A vs Run B Quality of Results summaries (QoR reports from Innovus or ICC2)
- Timing summaries (WNS, TNS, FEP for setup and hold)
- Physical metrics (Core utilization, total cell count, wirelength, DRC count)

## Step-by-Step Analysis Workflow
1. **Key Metric Extraction:**
   - Timing: Setup WNS/TNS, Hold WNS/TNS, FEP count.
   - Physical: Standard cell area, macro area, total wirelength, via count.
   - DRC & Congestion: Max GRC overflow %, total DRC count.
   - Power: Total dynamic power (switching + internal), leakage power.
2. **Delta Calculation & Trend Analysis:**
   - Calculate exact $\Delta$ values ($	ext{Run B} - 	ext{Run A}$) and percentage shifts.
3. **Regression Root-Cause Isolation:**
   - If timing improved but wirelength and routing DRCs exploded, identify whether over-buffering or cell clustering caused localized congestion.
   - If leakage jumped significantly, check high-drive cell or low-Vt cell substitution rates.
4. **Actionable Go/No-Go Decision:**
   - Synthesize a clear engineering verdict on whether Run B represents a net improvement for the project milestone.

## Tool-Specific Considerations
- Compatible with all major PnR platforms (Cadence Innovus, Synopsys ICC2).

## Technical Limitations
- Metric comparison identifies *what* changed; root-cause diagnosis requires drilling down into specific failing timing paths or congestion hotspot coordinates.

## Output Format
- **Executive Comparison Matrix:** Metric | Run A (Baseline) | Run B (Candidate) | Absolute Delta | % Change | Trend Icon
- **Regression Analysis:** Detailed narrative of trade-offs (e.g., timing gain vs area cost).
- **Go / No-Go Recommendation:** Clear guidance for flow integration.

## Validation Checklist
- [ ] Both runs evaluated under identical SDC constraints and operating corners.
- [ ] Extraction mode and tool versions aligned to prevent apples-to-oranges comparisons.

## Example Invocation
```text
/physical-design-run-comparison
Baseline: Run_42_Base_Floorplan
Candidate: Run_43_Widened_Channel_Floorplan
[paste summary reports for both runs]
```

Claude Code Project Setup for Physical Design Teams

Deploying Claude Code across an ASIC physical implementation team requires a strict directory architecture and a battle-tested CLAUDE.md governance contract. Unlike software repositories, backend ASIC repositories manage multi-gigabyte binary databases, proprietary foundry PDK rules, and signoff timing constraints where an accidental modification can invalidate months of tapeout work.

Recommended Physical Design Repository Hierarchy

ASIC Physical Implementation Workspace Hierarchy
soc_top_implementation/
├── .claude/
│   └── skills/
│       ├── floorplan-review/SKILL.md
│       ├── power-planning-review/SKILL.md
│       ├── cts-report-analysis/SKILL.md
│       ├── setup-timing-debug/SKILL.md
│       ├── drc-violation-analysis/SKILL.md
│       └── ... (15 skills total)
├── CLAUDE.md                       # Master AI behavior & security contract
├── constraints/
│   ├── top_clocks.sdc              # Golden clock definitions (READ-ONLY)
│   ├── top_io.sdc                  # Port delays and drive strengths
│   ├── top_exceptions.sdc          # False paths & multicycle paths
│   └── power_intent.upf            # IEEE 1801 Unified Power Format
├── scripts/
│   ├── floorplan/                  # Floorplan DEF creation & halo Tcl
│   ├── power/                      # Power ring and stripe generation Tcl
│   ├── placement/                  # Placement optimization directives
│   ├── cts/                        # CCOpt / clock_opt tree synthesis specs
│   ├── route/                      # NanoRoute / route_auto configurations
│   ├── signoff/                    # PrimeTime STA & Calibre DRC decks
│   └── eco/                        # Automated & manual ECO patch scripts
├── reports/
│   ├── timing/                     # PrimeTime / Tempus .tarpt files
│   ├── congestion/                 # Global routing cell (GRC) congestion logs
│   ├── cts/                        # Clock tree skew & latency summaries
│   ├── drc/                        # Calibre nmDRC summary & results
│   ├── lvs/                        # Calibre LVS discrepancy logs
│   └── ir_drop/                    # Voltus / RedHawk static & dynamic reports
└── docs/
    └── tapeout_signoff_matrix.md   # Final signoff checklists & approvals

Production-Grade CLAUDE.md for Physical Design Engineers

Save the following configuration as CLAUDE.md in your project root to enforce strict engineering guardrails:

CLAUDE.md (Root Configuration)
# ASIC Physical Implementation AI Engineering Contract

You are acting as an expert ASIC Physical Design implementation and STA consultant for this repository.
Target technology: 5nm FinFET (Cadence Innovus 22.1 / Synopsys ICC2 2023.03 / Synopsys PrimeTime 2023.03 / Siemens Calibre 2023.2).

## Non-Negotiable Operational Rules:
1. **Never directly modify golden timing constraints:** All files under `constraints/` (`*.sdc`, `*.upf`) are strictly read-only. Proposed constraint modifications must be output as standalone patch recommendations in `reports/eco/` for human review.
2. **Never hallucinate EDA tool commands:** Provide only syntax verified against official Cadence, Synopsys, or Siemens command reference manuals. When tool behavior is uncertain, explicitly state the version and recommend checking tool documentation.
3. **No direct database edits:** Never recommend altering binary design databases (`*.innovus`, `*.dlib`). All physical modifications must be expressed as executable Tcl scripts.
4. **Preserve DRC & Hold Margins:** Never recommend fixing setup timing violations without evaluating downstream hold timing risk, max-transition violations, and cell density impact.
5. **Sanitize Foundry IP:** Never prompt or record raw foundry technology files (`*.tf`, `*.lef`, `*.lib`) containing confidential foundry design rules or SPICE model parameters.

## Available Skills:
Use the skills in `.claude/skills/` to structure all analysis. When analyzing reports, always summarize Worst Slack, Total Negative Slack, Violating Endpoint Count, and the top 3 physical bottlenecks.
Advertisement

Five Practical Hands-On Physical Design Projects

Project A Floorplan Congestion & Macro Placement Optimization

Design Scenario: An AI accelerator compute tile containing 8 dual-port SRAM macros (512KB each) exhibits 14% Global Routing Cell (GRC) congestion overflow in the central channel between macro banks after initial trial routing.

Input: Cadence Innovus global route congestion summary report.

reports/congestion/innovus_trial_route.cong
Routing Congestion Summary (Global Routing):
  Horizontal overflow: 14.2% (1,420 GRCs over capacity)
  Vertical overflow:    3.1% (310 GRCs over capacity)
  Worst overflow GRC:  Capacity=24, Required=48 (Overflow=24) at (450.2, 820.0)
  Hotspot region:      Bounding box [420.0, 780.0] to [580.0, 920.0]
  Channel width between SRAM_BANK_0 and SRAM_BANK_1: 14.5 um

Claude Prompt:

You are an ASIC Physical Design Architect. Analyze the attached Innovus congestion report. The current floorplan has 14.5um channels between dual-port SRAMs with horizontal overflow of 14.2%. Calculate the minimum required channel clearance based on our M3-M6 power mesh (strap width 3.2um, pitch 28um) and standard cell pin access tracks. Output refined Innovus floorplanning Tcl commands.

Claude Diagnostic Analysis & Proposed Solution:

The channel width ($14.5\,\mu ext{m}$) is mathematically starved. A 14.5 μm corridor containing vertical M4 power straps ($2 imes 3.2\,\mu ext{m} = 6.4\,\mu ext{m}$) leaves only $8.1\,\mu ext{m}$ for signal tracks. At a 0.28 μm metal pitch, this allows fewer than 29 routing tracks, whereas the memory interface bus requires 128 data and address lines. By increasing channel spacing to $32.0\,\mu ext{m}$ and applying an 8 μm placement halo, standard cell logic is excluded from the channel, reserving 100% of routing tracks for memory buses.

scripts/floorplan/fix_channel_congestion.tcl
# Refined Floorplan Script for Congestion Closure
# Move SRAM_BANK_1 to widen central channel from 14.5um to 32.0um
setMacroPlacementStatus u_sram_bank_1 FIXED 0
moveInst u_sram_bank_1 512.0 780.0 R0
setMacroPlacementStatus u_sram_bank_1 FIXED 1

# Apply 8um keepout halo around all memory macro boundaries
createPlaceBlockage -type hard -all -halo -haloSize {8 8 8 8} -insts [get_cells -hier -filter "is_hard_macro==true"]

# Add partial routing blockage (density 50%) on M1-M3 in channels to prevent pin-jamming
createPlaceBlockage -type soft -density 50 -box {420.0 750.0 550.0 950.0}

Expected Result: Horizontal GRC overflow drops from 14.2% to 0.4% (well within the < 1.5% target for detailed routing feasibility).

Project B Debugging Negative Setup Slack in a High-Frequency ALU Datapath

Design Scenario: An 800 MHz RISC-V core reports a Worst Negative Slack (WNS) of -210 ps at the Slow-Slow corner (0.65V, 125°C) on a 64-bit adder carry-chain.

Input: Synopsys PrimeTime detailed timing path report.

reports/timing/pt_setup_viol_path01.tarpt
Startpoint: u_core/u_regfile/r_data_a_reg_31 (rising edge-triggered flip-flop clocked by CLK)
Endpoint:   u_core/u_alu/r_result_reg_63   (rising edge-triggered flip-flop clocked by CLK)
Path Group: CLK
Path Type:  max (setup)

  Point                                            Incr       Path
  -----------------------------------------------------------------
  clock CLK (rise edge)                            0.00       0.00
  clock network delay (propagated)                 0.42       0.42
  u_core/u_regfile/r_data_a_reg_31/CLK (DFCNQD1)   0.00       0.42 r
  u_core/u_regfile/r_data_a_reg_31/Q (DFCNQD1)     0.18       0.60 f
  u_core/u_alu/U_xor_stage0/Y (XOR2_X1)            0.14       0.74 r
  u_core/u_alu/n_carry_31 (net: fanout=28, cap=42fF) 0.24     0.98 r
  u_core/u_alu/U_carry_prop_32/CO (FA_X1)          0.22       1.20 f
  ... [18 logic levels omitted] ...
  u_core/u_alu/r_result_reg_63/D (DFCNQD1)         0.08       1.86 r
  data arrival time                                           1.86

  clock CLK (rise edge)                            1.25       1.25
  clock network delay (propagated)                 0.46       1.71
  clock uncertainty                               -0.06       1.65
  u_core/u_alu/r_result_reg_63/CLK (DFCNQD1)                  1.65 r
  library setup time                              -0.00       1.65
  data required time                                          1.65
  -----------------------------------------------------------------
  slack (VIOLATED)                                           -0.21

Claude Diagnostic Reasoning:

  1. Fanout Bottleneck: Net n_carry_31 has a fanout of 28 with a huge net delay of 0.24 ns (13% of total data path time alone).
  2. Cell Strength Starvation: The full adder FA_X1 and XOR gates are minimum drive strength (X1), causing high output slew and cascading transition degradation.
  3. Library Threshold Opportunity: Gates are currently standard-Vt (SVT). Swapping the critical carry path to Low-Vt (LVT) preserves the exact layout footprint while reducing cell gate delay by ~26%.
scripts/eco/fix_setup_alu_path.tcl (PrimeTime / Tempus)
# PrimeTime Timing ECO Script: Path Closure
# 1. Insert high-drive buffer on high-fanout carry net
insert_buffer u_core/u_alu/n_carry_31 BUF_X8 -new_cell_name u_eco_carry_buf31 -new_net_names {n_carry_31_eco}

# 2. Upsize critical carry generation cell from X1 to X4
size_cell u_core/u_alu/U_carry_prop_32 FA_X4

# 3. Swap 6 sequential logic gates along carry chain from SVT to LVT footprint
swap_cell u_core/u_alu/U_carry_prop_32 FA_X4_LVT
swap_cell u_core/u_alu/U_carry_prop_33 FA_X4_LVT
swap_cell u_core/u_alu/U_carry_prop_34 FA_X4_LVT

Expected Result: Net delay on n_carry_31 drops from 240 ps to 65 ps; cell delay across the carry chain drops by 175 ps. Path slack closes from -210 ps to +30 ps (MET).

Project C CTS Report Analysis & Clock Skew Investigation

Design Scenario: Post-CTS clock tree reports 310 ps of global clock skew in clock domain CLK_CORE (signoff budget: < 120 ps). Hold timing closure is severely compromised with thousands of min-delay violations.

Input: Cadence Innovus CCOpt skew report excerpt.

reports/cts/ccopt_skew_summary.rpt
Clock Tree Name: CLK_CORE
  Clock Root:      u_pll_top/clk_out_core
  Total Sinks:     142,500
  Max Insertion Delay: 0.985 ns (Sink: u_crypto/u_sha3/r_state_reg_127/CLK) [Corner: SSG]
  Min Insertion Delay: 0.675 ns (Sink: u_dma/u_fifo/r_read_ptr_reg_0/CLK)    [Corner: SSG]
  Global Skew:         0.310 ns (Violates target: 0.120 ns)
  Longest Path Depth:  10 buffer levels
  Shortest Path Depth: 6 buffer levels

Claude Diagnostic Analysis:

The 310 ps skew is caused by an insertion delay disparity of 4 buffer levels between the DMA block (physically adjacent to the PLL) and the Crypto SHA3 block (located at the opposite corner of the die). CCOpt tried to balance the tree using default uniform delay rules, but the crypto branch experienced severe detour routing around a central DDR PHY hard macro.

scripts/cts/rebalance_clock_tree.tcl
# Innovus CCOpt Clock Tree Rebalancing Directives
# 1. Define non-default routing rule (NDR): Double-width, double-spacing (2W2S) on M6/M7
add_ndr -name CLK_NDR_2W2S -width_multiplier {M6 2 M7 2} -spacing_multiplier {M6 2 M7 2}
create_route_type -name clk_trunk_route -non_default_rule CLK_NDR_2W2S -bottom_preferred_layer M6 -top_preferred_layer M7

# 2. Assign trunk routing rule to CLK_CORE trunk nets
set_ccopt_property route_type clk_trunk_route -net_type trunk [get_ccopt_clock_trees CLK_CORE]

# 3. Apply target insertion delay constraint to guide CCOpt delay matching
set_ccopt_property target_insertion_delay 0.850 [get_ccopt_clock_trees CLK_CORE]
set_ccopt_property target_skew 0.090 [get_ccopt_clock_trees CLK_CORE]

# 4. Re-synthesize clock tree
ccopt_design -cts

Expected Result: Fast branch insertion delay padded cleanly with balanced inverters; trunk delay on crypto net reduced via NDR top-metal promotion. Global skew drops to 82 ps.

Project D Routing Congestion Triage & Calibre DRC Resolution

Design Scenario: Post-route detailed routing completes with 1,840 DRC violations clustered in a 100 μm × 100 μm tile over an encryption co-processor. 1,400 violations are Metal 2 minimum spacing (M2.S.1), and 440 are antenna gate oxide violations (ANT.1).

Claude Diagnostic Analysis:

The clustering reveals severe local standard cell pin congestion. Standard cell density in that tile is 92%. The router was forced to make multiple jogs on M2 to access input pins, violating minimum end-of-line and parallel-run spacing rules. Meanwhile, long global nets routed on M3 without diodes exceeded antenna area ratios.

scripts/route/fix_drc_and_antenna.tcl
# 1. Apply cell padding around congested AES S-Box standard cells
setPlaceMode -prerouteAddCellPadding {AES_SBOX_* 2}

# 2. Automated Antenna Diode Insertion
setNanoRouteMode -routeAntennaFix true
setNanoRouteMode -routeInsertAntennaDiode true
setNanoRouteMode -routeAntennaDiodeCellList {ANTENNA_X1}

# 3. Target Search-and-Repair Routing for Localized M2 Spacing Violations
setNanoRouteMode -routeWithSearchAndRepair true
setNanoRouteMode -routeSelectedNetOnly false
routeDesign -selectedAreaOnly {350 400 450 500}

Expected Result: Cell spreading frees M2 access tracks; antenna diodes discharge plasma charge. DRC violation count reaches zero.

Project E Automating Static Timing Report Analysis with Python & Tcl

Design Scenario: A physical design engineer needs to parse multi-corner PrimeTime STA reports across 24 PVT corners, extract the worst violating endpoints, compute the cell-to-net delay ratio, and output a clean Markdown triage table for team review.

scripts/automation/parse_primetime_report.py
import re
import sys

def parse_pt_timing_report(file_path):
    with open(file_path, "r", encoding="utf-8") as f:
        content = f.read()

    paths = content.split("Startpoint:")
    parsed_paths = []

    for p in paths[1:]:
        p = "Startpoint:" + p
        startpoint = re.search(r"Startpoint:\s+([^\s\(\)]+)", p)
        endpoint   = re.search(r"Endpoint:\s+([^\s\(\)]+)", p)
        slack      = re.search(r"slack\s+\((VIOLATED|MET)\)\s+([-\d\.]+)", p)
        
        # Calculate cell vs net delays
        net_delays = sum(float(x) for x in re.findall(r"\(net[^\)]*\)\s+([\d\.]+)", p))
        total_data = re.search(r"data arrival time\s+([\d\.]+)", p)

        if startpoint and endpoint and slack:
            s_name = startpoint.group(1)
            e_name = endpoint.group(1)
            status = slack.group(1)
            val    = float(slack.group(2))
            t_data = float(total_data.group(1)) if total_data else 1.0
            net_pct = (net_delays / t_data) * 100 if t_data > 0 else 0

            parsed_paths.append({
                "start": s_name, "end": e_name, "status": status,
                "slack": val, "net_pct": round(net_pct, 1)
            })

    print("| Rank | Slack (ns) | Net Delay % | Bottleneck Endpoint | Diagnosis |")
    print("|---|---|---|---|---|")
    sorted_paths = sorted(parsed_paths, key=lambda x: x["slack"])
    for idx, path in enumerate(sorted_paths[:10], 1):
        diag = "Net Detour / Fanout" if path["net_pct"] > 45 else "Deep Logic Levels"
        print(f"| {idx} | {path['slack']:.3f} | {path['net_pct']}% | `{path['end']}` | {diag} |")

if __name__ == "__main__":
    if len(sys.argv) > 1:
        parse_pt_timing_report(sys.argv[1])
    else:
        print("Usage: python parse_primetime_report.py ")

Output Format: Automatically flags whether the path bottleneck is due to high interconnect routing resistance/capacitance (> 45% net delay) or excessive combinational gate depth.

Practical Claude Prompts Library for Physical Design

A curated collection of 46 production-ready prompts engineered specifically for ASIC physical design, PnR, STA, and verification workflows. Filter by domain, copy directly to your clipboard, and paste into Claude or Claude Code along with your tool reports.

#01 Floorplan Die Utilization & Channel Width Audit
floorplan
Act as an ASIC Physical Design Lead. Review my floorplan parameters: Die dimensions 1600um x 1600um, core offset 40um, standard cell area 1.45 mm^2, 6 SRAM macros (400um x 250um each). Calculate standard cell core utilization and verify whether a 16um channel between adjacent SRAM macros is sufficient for M3-M6 power mesh (strap width 2.8um, pitch 24um) and 96 data flylines. Output recommendations for halo sizing and Innovus createPlaceBlockage commands.
#02 Macro Pin Orientation & Flyline Congestion Review
floorplan
I am reviewing a DEF floorplan where two SRAM blocks have their pin interfaces facing each other across an 18um corridor. Identify the potential routing congestion and pin-jamming failure modes. Provide Synopsys ICC2 Tcl commands to orient macro pins outward facing the open core and define hard keepout margins around the macro perimeter.
#03 I/O Pin Placement & Layer Track Alignment
floorplan
Evaluate the top-level I/O pin placement constraints for a high-speed parallel bus interface (64 data, 8 clock/control). Pins are currently placed on Metal 3 with 0.4um pitch. Analyze routing blockages near the core boundary and generate Cadence Innovus assignIoPins Tcl commands specifying layer promotion to Metal 4/Metal 5 with legal routing track alignment.
#04 Multi-Voltage Power Domain Boundary Planning
floorplan
Review this floorplan specification containing three voltage domains (VDD_TOP 0.75V, VDD_CPU 0.90V, VDD_AON 0.75V). Check voltage area boundary separation clearances to prevent cross-domain well spacing violations. Provide Innovus createVoltageArea commands with 12um guard-band keepouts.
#05 Power Mesh Resistance & Static IR Drop Audit
power
Act as an ASIC Power Integrity Specialist. Review our top metal power mesh: M7 (vertical, width 3.2um, pitch 28um, sheet resistance 0.045 ohm/sq) and M8 (horizontal, width 4.0um, pitch 32um, sheet resistance 0.035 ohm/sq). Average core current is 4.8A at 0.75V. Calculate approximate power grid IR drop across a 1.5mm x 1.5mm core and recommend via array density between M8 and M7.
#06 Standard Cell Rail Connection (sroute) Triage
power
Our Innovus sroute run reports 342 open power rail connections on Metal 1. Analyze the common causes (macro halo overlap, missing globalNetConnect directives, unaligned row track origins) and provide a clean Tcl script to diagnose open connections and route standard cell rails without creating DRC shorts.
#07 Dynamic Voltage Drop & Decap Cell Budgeting
power
Our Voltus dynamic IR drop analysis indicates a peak 14% supply bounce (105 mV on 0.75V VDD) during the clock edge in our DSP multiply-accumulate unit. Explain the mechanism causing this dynamic drop and provide an Innovus Tcl script to insert decap cells (DECAP_X8, DECAP_X16) into high-switching density rows while respecting leakage power limits.
#08 Electromigration (EM) Current Density Compliance
power
A RedHawk-SC EM report flags 18 power strap segments on Metal 4 exceeding Jmax by 35% under worst-case 125C corner. Explain how temperature affects electromigration according to Black's Equation. Propose physical layout modifications (stripe widening, via doubling, strap pitch halving) and write the corresponding ICC2 create_pg_strap commands.
#09 Global Placement Congestion Hotspot Analysis
placement
Review this Innovus global placement summary showing 88% localized cell density and 7.4% H-overflow near our memory controller arbiter. Prescribe systematic placement options in Innovus (setPlaceMode -congEffort, partial placement blockages, cell padding on high-pin count cells) to relieve track congestion without blowing wirelength.
#10 Scan Chain Reordering & Wirelength Optimization
placement
Explain how scan chain ordering before placement degrades total routing wirelength and creates artificial placement congestion. Write an ICC2 Tcl script to perform scan chain reordering (set_scan_reorder_options, reorder_scan_chains) based on physical flip-flop locations post-placement.
#11 High-Fanout Net Synthesis (HFNS) Diagnosis
placement
Our post-placement log flags 42 high-fanout nets with fanout exceeding 150 sinks (reset_b, enable_reg, scan_mode). Compare the strategy of buffering high-fanout nets during placement versus deferring them to CTS. Provide Innovus setDesignMode and optDesign commands to build balanced buffer trees on reset trees.
#12 Timing-Driven Placement Effort Tuning
placement
We observe a WNS of -320 ps immediately after global placement. Analyze whether to increase timing effort in Innovus (setPlaceMode -timingDriven true -congEffort high) versus applying placement bounds (createInstGroup, addInstToInstGroup) to pull critical register stages closer together.
#13 CTS Skew Group & Insertion Delay Balancing
cts
Review this CCOpt clock tree summary: Clock CLK_SYS has 120,000 sinks, max insertion delay 1.15 ns, min insertion delay 0.78 ns, global skew 370 ps (target: 100 ps). The worst skew exists between an encryption engine in the north-east corner and a PCIe controller in the south-west. Diagnose the latency gap and provide Innovus CCOpt property overrides to balance insertion delay.
#14 Integrated Clock Gating (ICG) Enable Timing Debug
cts
Post-CTS timing reports reveal 48 setup violations on the enable (E) pin of ICG cells (ICG_X4). Explain why clock gate setup timing is vulnerable to CTS clock latency insertion. Prescribe physical fixes: cloning ICG cells closer to sink clusters, pull-in useful skew, or swapping enable logic to low-Vt cells.
#15 Non-Default Routing Rules (NDR) for Clock Trunks
cts
Write a Cadence Innovus Tcl script to define and assign a 2W2S (double width, double spacing) non-default routing rule on Metal 6 and Metal 7 for all root and trunk clock nets in clock domain CLK_CORE, including explicit VSS shielding to prevent capacitive crosstalk injection.
#16 Local vs Global Skew Assessment for Hold Timing
cts
Our clock tree report shows global skew of 180 ps, but the hold timing report shows 1,200 min-delay violations. Explain the difference between global skew across independent blocks and local skew between synchronous communicating flip-flops. Detail how Claude analyzes clock common path pessimism removal (CPPR) in PrimeTime.
#17 Detailed Setup Slack Path Decomposition
sta
Act as a Signoff STA Specialist. Analyze the attached PrimeTime setup timing report showing -185 ps slack at the SSG 0.65V -40C corner. Decompose the data path into launch clock latency, CK-to-Q delay, logic cell delay, net interconnect delay, capture clock latency, and clock uncertainty. Calculate cell-to-net delay percentage and identify the top 2 optimization targets.
#18 Multi-Corner Hold Timing Violation Triage
sta
We have 450 hold timing violations occurring exclusively at the Fast-Fast 0.85V 125C corner on register-to-register paths with zero combinational logic. Explain why hold violations are worst at fast corners. Generate a PrimeTime eco_netlist Tcl script to insert delay buffers (DELAY_X2, BUF_X1) near the capture flip-flop without creating new setup violations at slow corners.
#19 Recovery & Removal Asynchronous Reset Debug
sta
An STA report flags 35 recovery violations on asynchronous reset deassertion pins (PRE/CLR). Contrast recovery checks with setup checks, and removal checks with hold checks. Provide Tcl timing commands in PrimeTime to report worst recovery paths and recommend buffer insertion on the reset distribution tree.
#20 Design Rule Violations (DRVs): Max Transition & Capacitance
sta
Review a post-route report showing 85 max_transition violations (> 120 ps) and 24 max_capacitance violations on wide bus nets. Explain how excessive transition times degrade cell internal delay and worsen crosstalk noise. Provide an automated PrimeTime / Tempus Tcl loop to size driving buffers until all DRVs are clean.
#21 Asynchronous Clock Domain Crossing (CDC) Constraint Audit
sdc
Audit this SDC file snippet containing 4 generated clocks derived from the same PLL. The designer used set_clock_groups -asynchronous between CLK_A and CLK_B, but RTL inspection shows a 2-stage synchronizer bus. Analyze whether this SDC exception masks real CDC bus skew or data reconvergence bugs, and provide the correct set_max_delay -datapath_only constraint.
#22 Multicycle Path Constraint Validation
sdc
A digital designer added `set_multicycle_path 2 -setup -from [get_pins u_fsm/state_reg*/Q] -to [get_pins u_mult/reg*/D]`. Verify whether the corresponding `-hold` constraint was omitted. Explain why omitting `set_multicycle_path 1 -hold` creates an illegal 1-cycle hold check, and write the corrected two-line constraint pair.
#23 Virtual Clock & Input/Output Port Delay Budgeting
sdc
Review the I/O timing constraints for an RGMII Ethernet interface operating at 125 MHz. Evaluate the use of virtual clocks (create_clock -name VCLK_RGMII) with set_input_delay -max/-min and set_output_delay -max/-min. Explain how board trace propagation skew is properly accounted for in the budget.
#24 Global Routing Cell (GRC) Congestion Triage
routing
Analyze this post-global route log showing GRC horizontal overflow of 9.2% and vertical overflow of 1.8% in an arithmetic pipeline block. Categorize the congestion into pin density, macro channel blockage, or route-over-macro issues. Provide Innovus setNanoRouteMode directives to relieve routing congestion.
#25 Antenna Ratio Violation Analysis & Diode Placement
routing
Calibre antenna rule checking flags 128 violations where the antenna ratio of Metal 3 exceeds the allowable 250:1 threshold on inputs to standard cell NOR gates. Explain why plasma etching destroys gate dielectric and generate an Innovus Tcl script to insert antenna diodes (ANTENNA_X1) adjacent to victim gate pins.
#26 Layer Promotion for Long High-Fanout Nets
routing
A critical 64-bit data bus traverses 2.2 mm across the chip on thin Metal 2 and Metal 3 layers, suffering from high RC interconnect resistance. Write a Tcl script for Cadence Innovus or Synopsys ICC2 to assign these critical bus nets to Metal 6 and Metal 7 routing tracks using layer constraints.
#27 Detailed Routing Search-and-Repair Convergence
routing
Our NanoRoute detailed router is stuck at pass 15 with 420 remaining DRC violations (mostly via enclosure and end-of-line spacing). Provide Cadence Innovus setNanoRouteMode configurations (drouteAutoStop, drouteEndIteration, routeWithSearchAndRepair) to converge DRC count to zero without manual polygon edits.
#28 Calibre nmDRC Summary Report Parsing & Clustering
pv
Parse this Calibre DRC summary report containing 2,150 errors across 4 rules (M2.S.1, M3.W.1, VIA2.E.1, DF.1). Extract the coordinate bounding boxes for the top 3 densest error clusters. Formulate hypotheses for why the router violated VIA2.E.1 enclosure rules and suggest router parameter fixes.
#29 Calibre LVS Discrepancy Debug: Shorts & Opens
pv
Our Calibre LVS run reports 1 text short between net VDD and net u_dsp/n_ctrl_14, and 3 open net connections. Guide me through the systematic debugging sequence using Calibre RVE to isolate the short coordinate and verify whether the error is a physical metal bridge or a floating pin label.
#30 Dummy Metal Fill & CMP Planarity Compliance
pv
Explain why foundry foundries enforce strict minimum and maximum metal density rules across chemical mechanical planarization (CMP) windows. Write a Tcl script to invoke dummy metal fill insertion in Innovus (addMetalFill) or Calibre YieldEnhancer, and explain why fill parasitics must be back-annotated into signoff STA.
#31 Electrical Rule Checking (ERC): Well-Tap Density & Floating Gates
pv
Calibre ERC flags 14 violations of Rule TAP.1: Maximum distance between well-tap cells exceeds 30 um. Explain how well taps prevent CMOS latchup. Write an Innovus Tcl script to verify well tap row alignment and add tap cells (WELLTAP_X1) at 25 um intervals across the core.
#32 Crosstalk Delay (Miller Effect) Setup Slack Impact
si
In our PrimeTime SI report, path slack degrades from +45 ps (noise off) to -110 ps (noise on) due to opposite-direction switching on adjacent aggressor nets. Explain the physical mechanism of the Miller effect in sub-7nm FinFETs. Recommend 3 physical implementation fixes (driver upsizing, buffer insertion, net spacing) and provide Tcl commands.
#33 Crosstalk Glitch Noise Violation Analysis
si
A PrimeTime SI glitch report flags a 0.38V voltage glitch on a static-0 control net connected to an asynchronous reset pin (VDD = 0.75V). Since the glitch exceeds the 0.20V noise margin threshold, there is a risk of functional false reset. Prescribe immediate physical fixes in Innovus: shielding with VSS, driver sizing, or inserting an isolation buffer.
#34 SPEF Parasitic Extraction Consistency Audit
si
Explain why static timing analysis signoff requires extracted SPEF containing explicit coupled capacitances (*C_COUP) rather than lumped capacitances (*C). Provide a checklist for verifying that Quantus or StarRC extraction settings match foundry corner specifications (Cbest/Cworst/RCmax/RCmin).
#35 Static IR Drop Root-Cause Diagnosis
irdrop
Our Voltus static IR drop map shows an 8% drop (60 mV on 0.75V) concentrated over an encryption accelerator. The power grid uses M7/M8 stripes. Detail the mathematical relationship between strap pitch, via resistance, and standard cell rail drop. Propose a targeted power grid patch to strengthen via arrays.
#36 Dynamic IR Drop & Clock Jitter Correlation
irdrop
Explain how localized dynamic voltage drop during clock tree switching degrades standard cell propagation delay and induces localized clock jitter. Detail how Voltus or RedHawk-SC vectorless and vector-based (VCD/FSDB) simulations are set up for signoff.
#37 Power Switch Daisy-Chaining & Inrush Current
irdrop
Review a power-gating architecture with 500 MTCMOS header switches. Explain why turning on all power switches simultaneously creates catastrophic inrush current and causes supply collapse. Write a Tcl script to configure daisy-chain delay buffers between power switch enable pins.
#38 Metal-Only Freeze-Silicon Spare Gate ECO
eco
We need to fix a critical functional bug post-silicon tapeout using pre-placed spare gates (SPARE_AND, SPARE_INV, SPARE_DFF) using only Metal 2 through Metal 5 masks without touching base diffusion layers. Outline the complete spare gate mapping procedure and write an Innovus ecoChangeCell / ecoAddRepeater script.
#39 Timing ECO Back-Annotation & LEC Verification
eco
After generating a 500-instance timing ECO from PrimeTime to fix setup and hold violations, explain the exact signoff flow: back-annotating the ECO Tcl into Innovus/ICC2, running incremental placement/routing, extracting incremental SPEF, re-verifying STA, and running Formality/Conformal LEC to prove functional equivalence.
#40 Automated Hold Timing ECO Generation
eco
We have 280 residual hold violations after detailed routing. Write a Synopsys PrimeTime Tcl procedure to automatically identify hold violating paths, query available non-delay-inverting buffer footprints (BUF_X1, DEL_X2), check available setup slack margin, and emit clean insert_buffer ECO commands.
#41 Custom WNS/TNS Extractor Tcl Procedure for Innovus
tcl
Write a clean, modular Tcl procedure for Cadence Innovus named `report_signoff_summary` that iterates through all active analysis views (setup and hold), extracts WNS, TNS, and violating endpoint count, and formats the results into an aligned ASCII and Markdown table.
#42 PrimeTime to CSV Violating Path Exporter
tcl
Write a robust PrimeTime Tcl script that queries the top 100 worst setup timing paths in the design, extracts Startpoint, Endpoint, Slack, Data Delay, Clock Skew, and Logic Depth, and exports the data to a structured CSV file for spreadsheet analysis.
#43 Automated DRC Cluster Identifier in Python
tcl
Write a Python script that reads a Calibre DRC results file (.drc.results), parses the polygon coordinates of all violations, clusters errors within a user-defined radius (e.g. 50 um), and reports the top 5 densest hotspot coordinates with rule names.
#44 UPF 3.0 Power State Table (PST) Consistency Check
upf
Act as a Low-Power ASIC Architect. Review this IEEE 1801 UPF 3.0 snippet defining three supply nets (VDD_CORE, VDD_MEM, VSS) and a Power State Table (PST). Check whether any legal operating mode allows VDD_CORE to be OFF while an isolation cell input is driven by an unpowered rail without proper clamp value.
#45 Isolation Cell & Level Shifter Strategy Review
upf
Explain the physical placement rules for level shifter cells (ELS) and isolation cells (ISO) in a multi-voltage design. Write Cadence Innovus checkPowerDomain Tcl commands to verify that all isolation cells are placed in always-on rows and connected to the correct secondary backup power supply.
#46 State Retention Power Gating Verification
upf
Review a power-gating UPF specification using state-retention flip-flops (SRFF). Detail the required pin connections: primary VDD, always-on VDD_AON, save signal, and restore signal. Prescribe checks to ensure retention control signals do not experience glitching during power-down transitions.

Claude vs. Commercial EDA Tools Matrix

To deploy AI effectively in production, engineering leadership must clearly define the technical boundaries between LLM intelligence and deterministic EDA software. The matrix below defines exact responsibilities across leading semiconductor tools:

EDA Tool Vendor Domain Deterministic EDA Engine Function How Claude Accelerates the Engineer Signoff Boundary
Innovus Cadence Place & Route Solves placement wirelength, CTS concurrent optimization, NanoRoute maze routing, GDS generation. Analyzes log files, diagnoses channel congestion, formulates CCOpt skew properties, writes refinement Tcl. Innovus DEF / GDSII database is the physical source of truth; Claude code is advisory.
ICC2 Synopsys Place & Route Multi-corner multi-mode (MCMM) placement, CTS clock_opt, track routing, automated DRC fixing. Parses qor summary reports, configures keepout margins, debugs Tcl flow scripts, compares run variations. ICC2 NDM library and netlist; AI never edits binary Milkyway/NDM files directly.
PrimeTime / PT-SI Synopsys Golden STA & SI Golden signoff delay calculation, CCS/NLDM timing, crosstalk delay/glitch analysis, CPPR. Parses 200+ page timing reports, decomposes cell vs net delay ratios, prescribes sizing/Vt swap ECO scripts. PrimeTime .tarpt is the industry golden signoff; Claude estimates are non-signoff.
Tempus Cadence Signoff Timing Distributed STA engine, path-based analysis (PBA), graph-based analysis (GBA), signal integrity. Flags false path anomalies, verifies multicycle path hold margins, structures automated reporting loops. Cadence signoff certified by foundry signoff decks.
Calibre nmDRC/LVS Siemens EDA Physical Verif Foundry golden geometric design rule checking, device extraction, schematic netlist comparison. Clusters 10,000+ DRC errors into spatial coordinates, maps error codes to routing causes, guides repair. Calibre run transcript (.drc.summary) is non-negotiable for foundry mask acceptance.
Voltus Cadence Power Integrity Static and dynamic IR drop, grid resistance solvers, simultaneous switching noise simulation. Reviews decap budgets, pinpoints weak power mesh regions, suggests strap width/pitch trade-offs. Voltus dynamic rail voltage waveforms required for tapeout signoff.
RedHawk-SC Ansys Power Integrity / EM Electromigration (Jmax), thermal distribution, power grid reliability on cloud-native compute. Diagnoses power stripe current density exceedances, formulates mesh via reinforcement strategies. Ansys EM signoff files required by TSMC/Samsung/Intel foundry signoff guidelines.
Quantus Cadence RC Extraction 3D field solver & 2.5D fast extraction generating detailed coupled SPEF (*C_COUP). Verifies extraction corner options, checks corner mapping consistency against STA runs. SPEF is deterministic electrical physics; Claude cannot estimate parasitic capacitance.
StarRC Synopsys RC Extraction Foundry-golden parasitic extraction, chemical mechanical polishing (CMP) modeling. Analyzes extraction summary logs, checks net count consistency, verifies layer mapping files. StarRC output SPEF fed directly into PrimeTime signoff.

Security, Intellectual Property & Production Design Safety

Protecting Semiconductor IP in the Age of Generative AI

Semiconductor physical design assets — including standard cell Liberty models (.lib), LEF footprint definitions, proprietary layout DEF files, GDSII stream data, and signoff SDC constraints — represent tens of millions of dollars in corporate R&D and strict foundry Non-Disclosure Agreements (NDAs).

Critical Security Prohibitions
  • Never upload raw GDSII / OASIS stream files: GDSII contains actual transistor layout geometries and foundry layer numbers. Uploading GDSII to public AI platforms violates foundry legal NDAs.
  • Never upload Liberty (.lib) lookup tables: Standard cell timing libraries contain proprietary SPICE-characterized non-linear delay tables belonging to ARM, Synopsys, or foundries.
  • Mandate Enterprise Zero Data Retention (ZDR): Backend engineering teams must operate exclusively on private cloud or enterprise AI contracts where prompts and logs are not retained for model training.

Automated Sanitization for Physical Design Logs

Before feeding timing or DRC reports into Claude, run a sanitization pre-processor that strips internal hierarchical module names, proprietary block identifiers, and foundry process labels:

scripts/security/sanitize_timing_report.py
import re

def sanitize_report(input_text):
    # Anonymize proprietary block and instance paths
    text = re.sub(r'u_secret_crypto_core_\w+', 'u_block_alpha', input_text)
    text = re.sub(r'u_neural_npu_\w+', 'u_compute_core', text)
    # Mask specific foundry cell library names
    text = re.sub(r'TSMC\w+_SVTLOW', 'STD_CELL_SVT', text)
    text = re.sub(r'GF\w+_LVT', 'STD_CELL_LVT', text)
    # Remove absolute Linux file system paths
    text = re.sub(r'/proj/[^/]+/[^/]+/', '/workspace/asic_run/', text)
    return text

Physical Design & AI Engineering FAQ

1. Can Claude directly perform place and route or run signoff timing closure?

No. Claude is an LLM with no internal spatial solvers, no 3D field extraction engine, and no non-linear delay calculators. It cannot route metal wires or close timing independently. Claude serves as an expert diagnostic assistant that analyzes reports, identifies physical bottlenecks, generates verified Tcl scripts, and assists engineers in directing commercial EDA tools (Innovus, ICC2, PrimeTime).

2. How does Claude assist with floorplan optimization and macro placement?

Claude reviews floorplan DEF parameters, die dimensions, and macro aspect ratios to identify channel starvation bottlenecks, flyline crossing density between SRAM banks and top-level I/O pins, inadequate power strap spacing, and missing halo keepouts. It outputs structured Tcl commands (e.g. createPlaceBlockage, set_keepout_margin) to resolve routing blockages before cell placement begins.

3. Can Claude diagnose complex setup and hold timing violations in PrimeTime or Tempus?

Yes. When provided with a detailed STA timing report, Claude parses the data path breakdown: separating launch clock latency, CK-to-Q delay, combinational cell delays, interconnect net delays, capture clock latency, and clock uncertainty. It computes cell-versus-net delay ratios, flags deep logic cascades, identifies high-fanout or detoured nets, checks for missing useful skew or threshold voltage (Vt) swapping opportunities, and generates precision ECO Tcl scripts.

4. What is the difference between global clock skew and local clock skew, and how does Claude evaluate them?

Global skew is the maximum latency difference between any two clock endpoints across the entire die, whereas local skew is the latency difference between physically or logically communicating flip-flop pairs. Claude evaluates CTS summary reports to confirm that while global skew may be bounded (e.g. < 250 ps), local skew between synchronous launch and capture registers meets the tight hold timing budget (< 50 ps), preventing hold buffers from consuming excessive dynamic power and routing tracks.

5. How does Claude handle Calibre DRC and LVS reports without viewing graphical GDSII layouts?

Claude parses textual Calibre DRC summary and error transcript files (.sum / .drc.results), categorizing violations by rule name (e.g., MinSpacing, MinWidth, Enclosure, Antenna ratio, Via enclosure). It identifies localized clustering hotspots by coordinate distribution, maps violations back to root causes (such as dense pin routing, missing metal fill, or layer transition bottlenecks), and generates targeted router search-and-repair Tcl commands.

6. Is it safe to share proprietary ASIC floorplans, DEF files, and LEF libraries with Claude?

Proprietary physical design databases (GDSII, LEF, DEF, SPEF, .lib) contain company trade secrets and foundry NDAs. Backend teams must never paste raw IP into public AI portals. Safe workflows require enterprise Claude instances under Zero Data Retention (ZDR) agreements, self-hosted private endpoints, or automated sanitization scripts that strip proprietary instance names, cell library vendor identifiers, and coordinate offsets before LLM prompt submission.

7. What are the 15 Claude Code Physical Design skills provided in this guide?

The 15 skills are standardized, version-controlled SKILL.md packages covering: floorplan review, power planning review, placement optimization, CTS report analysis, routing congestion triage, setup timing debug, hold timing debug, STA report analysis, timing constraint review, Tcl script debugging, DRC violation triage, LVS debug assistance, IR drop and EM analysis, ECO review, and physical design run-to-run comparison.

8. How does Claude help with static and dynamic IR drop analysis?

Claude analyzes Voltus and RedHawk-SC summary reports, identifying power mesh weaknesses, insufficient via arrays between top metal straps and standard cell rails, excessive localized cell switching density, and high dynamic toggle rates. It recommends power strap widening, strap pitch reduction, decap cell insertion, and clock gate de-synchronization to resolve supply bounce.

Advertisement