FluxCore Dynamics Documentation

Everything you need to master photonic design

DocumentationDesign Rules

Design Rule Checking (DRC)

Catch manufacturing issues before they cost you money

Manufacturing
10 min readLast updated: January 2025DRC, Validation, Foundry
Real-Time
PDK Aware
Auto-Fix

Why DRC Matters

Design Rule Checking validates your designs against foundry manufacturing constraints before you submit for fabrication. A single DRC violation can cause a complete fabrication failure, wasting thousands of dollars and months of time.

Catch Early

Real-time validation as you design

Auto-Fix

AI-powered violation resolution

Foundry Ready

Pre-configured for major foundries

Rule Categories

Geometric Rules

Geometric rules ensure that features are manufacturable with the foundry's lithography and etching capabilities.

RuleDescriptionTypical Value
MIN_WIDTHMinimum feature width100-150 nm
MIN_SPACEMinimum spacing between features100-200 nm
MIN_BEND_RADIUSMinimum waveguide bend radius5-10 um
MIN_AREAMinimum enclosed area0.01 um2
MIN_NOTCHMinimum notch width100 nm
ANGLE_LIMITMinimum/maximum angles45-135 deg

Layer Interaction Rules

Layer interaction rules govern how different process layers interact with each other.

RuleDescription
ENCLOSUREVia must be enclosed by metal layer
OVERLAPRequired overlap between layers
EXCLUSIONLayers that cannot overlap
EXTENSIONRequired extension beyond edge

Photonic-Specific Rules

FluxCore includes specialized rules for photonic designs that go beyond standard semiconductor DRC.

Mode Rules

  • Single-mode waveguide width limits
  • Mode mismatch at transitions
  • Adiabatic taper requirements

Coupling Rules

  • Evanescent coupling gaps
  • Coupling length validation
  • Ring resonator geometry

Running DRC

DRC Configuration

# Python SDK - Running DRC
from fluxcore import DRC

# Load circuit
circuit = client.circuits.get("cir_abc123")

# Configure DRC with PDK rules
drc = DRC(
    circuit,
    ruleset="imec_sipho",  # or custom rules file
    options={
        "check_geometry": True,
        "check_layers": True,
        "check_photonics": True,
        "severity_threshold": "warning",  # "error", "warning", "info"
        "parallel": True  # Use multi-threading
    }
)

# Run full DRC
results = drc.run()

# Print summary
print(f"Total violations: {len(results.violations)}")
print(f"  Errors: {results.error_count}")
print(f"  Warnings: {results.warning_count}")

# Iterate violations
for violation in results.violations:
    print(f"[{violation.severity}] {violation.rule}")
    print(f"  Location: {violation.location}")
    print(f"  Message: {violation.message}")
    if violation.fix_available:
        print(f"  Suggested fix: {violation.fix_description}")

Real-Time DRC

Enable real-time DRC in the editor to see violations as you design. Go to Settings > Design Rules > Enable Live Checking.

Understanding Violations

Error

Critical violations that will cause fabrication failure.

Must be fixed before export.

Warning

Issues that may affect performance or yield.

Review recommended before export.

Info

Suggestions for improvement or best practices.

Optional to address.

AI-Powered Auto-Fix

FluxCore can automatically fix many common DRC violations while preserving your design intent.

# Auto-fix violations
fixed_count = drc.auto_fix(
    violations=results.violations,
    options={
        "mode": "safe",  # or "aggressive"
        "preserve_ports": True,
        "min_performance_impact": True
    }
)

print(f"Auto-fixed {fixed_count} violations")

# Review changes before applying
for change in drc.pending_changes:
    print(f"Change: {change.description}")
    print(f"Affected: {change.affected_components}")

# Apply or discard
drc.apply_changes()  # or drc.discard_changes()

Auto-Fixable

  • Width violations (resize)
  • Spacing violations (adjust position)
  • Bend radius (insert S-bend)
  • Enclosure errors (extend layer)

Manual Review Required

  • Topology changes
  • Component removal
  • Major routing changes
  • Performance-critical areas

Supported PDKs

FluxCore includes pre-configured DRC rulesets for major photonic foundries.

Silicon Photonics

  • IMEC SiPho
  • AIM Photonics
  • GlobalFoundries 45CLO
  • Tower Jazz
  • CompoundTek

III-V Photonics

  • Smart Photonics
  • HHI Fraunhofer
  • LioniX TriPleX
  • Custom PDK support

Next Steps

Manufacturing Workflow

Design Guides