major-ai-skills
Version:
Installable agentic skills / AI agent skills (SKILL.md) for Claude Code, Cursor, Codex CLI, Gemini CLI & Antigravity - 402+ professional app, token-efficiency, and common-sense skills. SEO/GEO ready.
128 lines (98 loc) • 6.87 kB
Markdown
title: "Cadence Virtuoso IC Design AI Skill Guide (Gemini)"
description: "Comprehensive operational skill specification for Google Gemini to visually diagnose, automate, script, and troubleshoot Cadence Virtuoso layout viewports, ViVA waveform eye diagrams, DRC markers, and LVS trees."
category: "Analog & Mixed-Signal IC Design"
tags: ["cadence-virtuoso", "ic-layout", "viva-waveforms", "gemini", "drc-markers", "analog-design"]
# Cadence Virtuoso IC Design AI Skill Guide (Gemini)
## Overview & Engine Architecture
Cadence Virtuoso provides deep-level visual analysis across transistor-level schematics, complex sub-micron polygon layouts, and interactive simulation waveforms in **ViVA (Virtuoso Visualization & Analysis)**. Gemini acts as an AI IC Design Reviewer and Waveform Specialist, specializing in **multimodal layout polygon inspection**, **ViVA waveform transient / eye diagram triage**, **DRC error marker diagnosis**, and **LVS cross-probing**.
### Visual Verification & IC Analysis Stack
```
┌─────────────────────────────────────────────────────────────┐
│ Virtuoso Visual Analysis Stack │
│ │
│ Layout & Waveform Visualization │
│ ├── Multi-Layer Sub-Micron Layout Viewport (Metal/Via/Poly)│
│ ├── ViVA Waveform Viewer (Eye Diagrams, FFT, Histograms) │
│ └── ADE Assembler / Explorer (Corner & Spec Dashboards) │
│ │
│ Physical Verification Overlay │
│ ├── Interactive DRC Marker Browser (Highlighting Breaches) │
│ ├── LVS Schematic-to-Layout Cross-Probe Highlight Engine │
│ └── Parasitic RC Network Overlay (Quantus QRC Net Views) │
└─────────────────────────────────────────────────────────────┘
```
## Operational Capabilities & Agent Directives
1. **Multimodal Layout & DRC Inspection**: Analyze screenshots of Virtuoso Layout Suite to detect minimum width/spacing violations, antenna ratio breaches, electromigration metal width risks, and missing substrate tap connections.
2. **ViVA Waveform & Eye Diagram Analysis**: Interpret analog/mixed-signal waveform plots, analyzing clock jitter, eye height/width, transient overshoot, and phase noise degradation.
3. **LVS Discrepancy Cross-Probing**: Diagnose mismatched devices, swapped drain/source terminals on multi-finger MOSFETs, and shorted power rails across schematic-to-layout cross-probe trees.
4. **ADE Testbench Spec Verification**: Review ADE Explorer simulation tables to identify failing temperature corners and yield loss.
## Production Python Automation: Spectre PSF Raw Data Waveform Parser
Execute this Python script (requires `pip install libpsf` or standard NumPy) to extract transient simulation node voltages from Spectre raw simulation output directories without GUI overhead:
```python
"""
Spectre PSF Raw Simulation Data Extractor
Parses Spectre simulation output directories to extract transient waveforms.
"""
import sys
import os
import struct
def parse_simple_csv_waveform(csv_waveform_path: str):
if not os.path.exists(csv_waveform_path):
print(f"Error: Waveform CSV file '{csv_waveform_path}' not found.")
return
time_pts = []
voltages = []
with open(csv_waveform_path, "r") as f:
for line in f:
parts = line.strip().split(",")
if len(parts) >= 2:
try:
t = float(parts[0])
v = float(parts[1])
time_pts.append(t)
voltages.append(v)
except ValueError:
continue
if not voltages:
print("No valid numerical data points extracted.")
return
v_max = max(voltages)
v_min = min(voltages)
v_pp = v_max - v_min
print(f"--- [WAVEFORM ANALYSIS SUMMARY: {len(time_pts)} POINTS] ---")
print(f"Time Range: {time_pts[0]*1e9:.2f} ns -> {time_pts[-1]*1e9:.2f} ns")
print(f"Max Voltage: {v_max:.4f} V")
print(f"Min Voltage: {v_min:.4f} V")
print(f"Peak-to-Peak: {v_pp:.4f} V")
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: python parse_waveform.py <waveform_export.csv>")
sys.exit(1)
parse_simple_csv_waveform(sys.argv[1])
```
## Technical Troubleshooting Matrix
| Issue & Visual Signature | Root Cause Analysis | Diagnostic & Resolution Pathway |
| :--- | :--- | :--- |
| **ViVA Waveform Displays Ringing & Severe Overshoot** | Phase Margin in feedback loop is $<45^\circ$ or load capacitance caused secondary pole shift. | 1. Check AC stability response (Bode Plot) in ViVA.<br>2. Increase Miller compensation capacitor ($C_c$) or insert nulling resistor in series.<br>3. Verify phase margin $\ge 60^\circ$ for clean step response. |
| **DRC Error: `Min Area Violation on Metal1`** | Metal polygon area is below process minimum required for chemical-mechanical planarization (CMP). | 1. In Layout, select highlighted metal polygon.<br>2. Increase length or add dummy copper padding to satisfy minimum area rule.<br>3. Re-run DRC check. |
| **LVS Error: `Parallel Devices Merged Incorrectly`** | Number of fingers or multipliers ($M$-factor) in schematic does not match layout instance count. | 1. In Schematic, check transistor property `Total Width` and `Multiplier (M)`.<br>2. In Layout, verify MOSFET finger count matches schematic parameters.<br>3. Re-extract netlist. |
| **ViVA Eye Diagram Collapsed (Zero Eye Opening)** | Heavy inter-symbol interference (ISI) or high parasitic RC line attenuation. | 1. Check high-speed trace parasitic extraction in Quantus QRC.<br>2. Enable transmitter pre-emphasis / de-emphasis or continuous-time linear equalization (CTLE). |
## Command Line Syntax & Server Control
```bash
# Launch Virtuoso with Specific Technology Library
virtuoso -cdsarchive my_project.cdsarchive &
# Launch Cadence ViVA Waveform Viewer in Standalone Mode
viva &
```
### Essential File Locations
- **Cadence Environment**: `~/.cdsenv`
- **Library Defs**: `<project_path>/cds.lib`
## Agent Operational Directive
> **MANDATORY**: When inspecting transient step responses in ViVA, ensure ringing settles within $5\%$ of steady-state voltage. Verify that all analog differential pairs have symmetric layout routing with dummy guard rings.