🚀 Complete ASIC RTL-to-GDSII flow implementation with timing closure and DRC clean design using Cadence tools.
This project implements a complete ASIC design flow for an SRAM Controller, starting from RTL and progressing through synthesis, floorplanning, placement, clock tree synthesis, routing, and final verification using industry-standard Cadence tools.
- Cadence Genus (Synthesis)
- Cadence Innovus (Physical Design)
- TCL Scripting
- RTL → Netlist (Synthesis)
- Floorplanning
- Power Planning
- Placement
- Clock Tree Synthesis (CTS)
- Routing
- Timing & DRC Verification
- Timing violation fixed (-31ps → positive slack)
- DRC violations resolved (~7800 → clean)
- Reports generated: Timing, Power, Area
- WNS (Worst Negative Slack): -0.026 ns
- TNS (Total Negative Slack): -0.096 ns
- Violating Paths: 12
- DRC Violations: 0 (clean)
- Density: 71.0%
- WNS: -0.023 ns
- TNS: -0.023 ns
- Violating Paths: 1
- Improvement: Reduced from 12 → 1 violating paths
- Density: 73.4%
- WNS: 0.000 ns ✅
- TNS: 0.000 ns ✅
- Violating Paths: 0 👉 Hold timing fully clean
- Skew: ~0.020 ns 👉 Indicates well-balanced clock tree
- Latency: ~0.224 ns 👉 Controlled clock distribution network
- Significant timing improvement after routing stage
- Near-zero setup violation achieved (final WNS ≈ -0.023 ns)
- Fully clean hold timing (no violations)
- Zero DRC violations across all stages
- Balanced clock tree with low skew
synthesis/→ Genus flowphysical_design/→ Innovus flowdocs/→ Screenshots & results
- Timing closure techniques
- DRC debugging and routing fixes
- Constraint optimization
- TCL scripting using dbGet
- Complete RTL-to-GDSII implementation
- Achieved timing and DRC clean design
- Used industry-standard Cadence tools
- Hands-on debugging of real physical design issues
Tavakalmastan







