Design Rule Checking (DRC)
Catch manufacturing issues before they cost you money
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.
| Rule | Description | Typical Value |
|---|---|---|
MIN_WIDTH | Minimum feature width | 100-150 nm |
MIN_SPACE | Minimum spacing between features | 100-200 nm |
MIN_BEND_RADIUS | Minimum waveguide bend radius | 5-10 um |
MIN_AREA | Minimum enclosed area | 0.01 um2 |
MIN_NOTCH | Minimum notch width | 100 nm |
ANGLE_LIMIT | Minimum/maximum angles | 45-135 deg |
Layer Interaction Rules
Layer interaction rules govern how different process layers interact with each other.
| Rule | Description |
|---|---|
ENCLOSURE | Via must be enclosed by metal layer |
OVERLAP | Required overlap between layers |
EXCLUSION | Layers that cannot overlap |
EXTENSION | Required 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
Critical violations that will cause fabrication failure.
Must be fixed before export.
Issues that may affect performance or yield.
Review recommended before export.
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
- Export Formats- GDS/OASIS export
- Foundry Integration- Direct submission
Design Guides
- Best Practices- Design patterns
- Photonic Editor- Design interface