ASIC Chip Design Flow: A Comprehensive Guide
Table of Contents
- Chip Specification
- 2. RTL Design
- 3. Functional Verification
- 4. Synthesis
- 5. Design for Test (DFT)
- 6. Physical Design (Backend)
- 7. Sign Off
- 8. Tape Out & Manufacturing
- 9. Post-Silicon Validation
- Recommended Resources
- Key File Formats
- 12. Key EDA Tools
- 13. Frontend Interview Questions
- 14. Backend Interview Questions
ASIC Design Flow
A visual representation of the entire flow, including key inputs, outputs, and iteration loops.
graph TD A[Chip Specification] --> B[RTL Design-Verilog/HDL]; B --> C{Functional Verification}; C -- Fixes --> B; C --> D[Synthesis-Gate Level Netlist]; D --> E[Design for Test-scandef]; E --> F[Physical Design-def]; F -- Optimization --> D; F --> G[Signoff-STA/PDN/PV/CLP etc.]; G -- Iterations --> F; G --> H[Tape Out-GDSII]; H --> I[Post-Silicon Validation]; I -- Silicon Bugs --> A; style F fill:#f9f,stroke:#333,stroke-width:2px style G fill:#ccf,stroke:#333,stroke-width:2px
1. Chip Specification
Where the idea and requirements for the ASIC are defined.
- Functional Specification
- Microarchitecture
- Memory Hierarchy
- Register File
- Cache Coherency
- Pipeline Design
- Clock Frequency
- Cost Target
- I-O Specification
- PCIe
- DDR
- Modem
- CPU
- GPU
2. RTL Design
Translating the microarchitecture into a hardware description language.
3. Functional Verification
Ensuring the RTL design behaves as intended before synthesis.
- Testbench
- Simulation
- Coverage Metrics
- Assertions
- Verification Methodologies
- Advance Verification
- Test Techniques
- Low Power Verification
4. Synthesis
Converting RTL code into a technology-specific gate-level netlist.
- Gate-Level Netlist
- Standard Cell Library
- Synopsys Design Constraints (SDC)
- Optimization Techniques
- Physical Synthesis
- Hierarchical Synthesis
- Low Power Synthesis, Power Management Features
5. Design for Test (DFT)
Adding logic to the design to facilitate manufacturing testability.
- DFT Principles
- Fault Models
- Scan Insertion
- ATPG (Automatic Test Pattern Generation)
- Test Coverage
- BIST (Built-In Self-Test)
- Boundary Scan (JTAG)
6. Physical Design
Creating the physical layout of the chip from the netlist.
6.1. Pre-Placement & Sanity Checks
6.2. Floorplanning & Power Planning
- Partitioning
- Die Size Estimation
- Core Utilization
- Aspect Ratio
- Macro Placement
- Flylines
- Pin Assignment
- Power Grid
- IR Drop
- Placement Blockages
- Files
6.3. Placement
- Standard Cell Placement
- Placement Optimization
- Congestion Analysis
- Cell Density
- Legalization
- High-Fanout Net Synthesis (HFNS)
- Scan Chain Reordering
- Physical-Only Cells
6.4. Clock Tree Synthesis (CTS)
- Clock Skew
- Insertion Delay
- Clock Latency
- Clock Uncertainty, Clock Jitter
- Useful Skew
- Clock Shielding
- Clock Gating
- Clock Buffers and Inverters
- Clock Tree Architectures
6.5. Routing
7. Sign Off
Final verification checks before manufacturing.
7.1. Static Timing Analysis (STA)
Analyzing timing paths to ensure the design meets timing and frequency requirements across all PVT conditions.
7.2. Power Signoff
Ensuring power integrity, reliability, and compliance in low-power, multi-voltage designs.
- Power Fundamentals
- Power Delivery Network (PDN)
- Power Integrity Analysis
- Power Management Techniques
- Tool Flow & Signoff
7.3. Physical Verification
- DRC
- LVS - Layout Versus Schematic
- Antenna Effect
- ERC
- DFM - Design for Manufacturability
- Density_Checks
- Metal_Fill_verification
- Double_Patterning_Check
- ESD_Checks
- PV_Tools
7.4. ECO - Engineering Change Order
8. Tape Out & Manufacturing
Sending the final design to the foundry.
9. Post-Silicon Validation
Testing the manufactured chip in a lab environment.
10. Recommended Resources
Books
- Digital Design & Computer Architecture
- Computer Architecture: A Quantitative Approach by John L. Hennessy & David A. Patterson
- Digital Design and Computer Architecture by David Money Harris & Sarah L. Harris
- Computer Organization and Design by David A. Patterson & John L. Hennessy
- HDL (Verilog/VHDL/SystemVerilog)
- Digital Design: With an Introduction to the Verilog HDL, VHDL, and SystemVerilog by M. Morris Mano & Michael D. Ciletti
- RTL Modeling with SystemVerilog for Simulation and Synthesis by Stuart Sutherland
- The Designer’s Guide to VHDL by Peter J. Ashenden
- Functional Verification & UVM
- SystemVerilog for Verification: A Guide to Learning the Testbench Language Features by Chris Spear
- The UVM Primer: A Step-by-Step Introduction to the Universal Verification Methodology by Ray Salemi
- Cracking Digital VLSI Verification Interview by Ramdas Mozhikunnath
- Synthesis & Static Timing Analysis (STA)
- Advanced ASIC Chip Synthesis: Using Synopsys® Design Compiler™ and PrimeTime® by Himanshu Bhatnagar
- Constraining Designs for Synthesis and Timing Analysis: A Practical Guide to Synopsys Design Constraints (SDC) by Sridhar Gangadharan & Sanjay Churiwala
- Static Timing Analysis for Nanometer Designs: A Practical Approach by J. Bhasker & Rakesh Chadha
- Logic Synthesis and Verification by Soha Hassoun & Tsutomu Sasao
- Physical Design
- Physical Design Essentials: An ASIC Design Implementation Perspective by Khosrow Golshan
- CMOS VLSI Design: A Circuits and Systems Perspective by Neil Weste & David Harris
- Power Integrity
- Power Integrity Analysis and Management for Integrated Circuits by Raj Nair & Donald Bennett
- The Printed Circuit Designer’s Guide to Power Integrity by Example by Fadi Deek
- Design for Test (DFT) & Post-Silicon Validation
- Post-Silicon Validation and Debug by Prabhat Mishra & Farimah Farahmandi
- The Small Book About Design-for-Test by Juergen Alt
- VLSI Test Principles and Architectures by Laung-Terng Wang, Cheng-Wen Wu, & Xiaoqing Wen
Websites & Blogs
- ChipEdge
- Wilson Snyder’s Verilator Page
- Sutherland HDL
- SemiEngineering
- Signoff Semiconductor
- IEEE Xplore
- VLSI System Design
- VLSI Expert
- Team VLSI
11. Key File Formats
Extension(s) | Full Name | Description |
---|---|---|
.v , .vh , .sv , .svh | Verilog / SystemVerilog | RTL or Gate-Level Netlist |
.vhd , .vhdl | VHDL | RTL or Gate-Level Netlist |
.sdc | Synopsys Design Constraints | Timing, power, and area constraints |
.lib , .db | Liberty Timing Library | Standard cell timing and power models |
.lef | Library Exchange Format | Physical abstract view of cells/macros |
.def | Design Exchange Format | Physical layout data (placement, routing) |
.spef | Standard Parasitic Exchange Format | Extracted parasitic R and C values |
.gds , .gdsii , .oas | GDSII or OASIS | Final layout database for manufacturing |
.upf , .cpf | Unified/Common Power Format | Low-power design intent |
.tf | Technology File | Foundry process layer information |
.vcd , .saif | Activity Vectors, Value Change Dump , SAIF | Switching activity for power analysis |
12. Key EDA Tools
Design Stage | Synopsys | Cadence | Siemens EDA |
---|---|---|---|
RTL Design | VCS | Xcelium | Questa |
Synthesis | Fusion Compiler, Design Compiler | Genus | Tessent Synthesis |
Formal Verification | Formality | Conformal LEC | Tessent Formal |
Static Timing Analysis (STA) | PrimeTime (PT) | Tempus | Tessent Shell with STA |
CTS | PrimeTime (PT) | Tempus | Tessent Shell with STA |
CTS | PrimeTime (PT) | Tempus | Tessent Shell with STA |
CTS | PrimeTime (PT) | Tempus | Tessent Shell with STA |
Design for Test (DFT) | TestMAX | Modus | Tessent |
Physical Design | IC Compiler II (ICC2) | Innovus | Aprisa |
Parasitic Extraction | StarRC | Quantus | Calibre xACT |
Physical Verification (DRC/LVS) | IC Validator (ICV), Hercules | Pegasus | Calibre |
Power Signoff | PrimePower, RedHawk (Ansys) | Voltus | Calibre PERC, mPower |
13. Frontend Interview Questions
Basic Questions for each topic for checking the knowledge level. Do you know them all?
- RTL Design
- Explain the difference between Verilog and SystemVerilog.
- Design a synchronous FIFO.
- How do you handle Clock Domain Crossing (CDC)?
- What is the difference between blocking and non-blocking assignments?
- Design a Mealy Machine and a Moore Machine for a given sequence detector.
- Verification
- What are the main components of a UVM testbench?
- Explain the difference between Functional Coverage and Code Coverage.
- What is an assertion? Give an example.
- What is Constrained Random Verification?
- Synthesis
- What happens during Logic Synthesis?
- What is a wire load model? Why is it inaccurate?
- Explain what a critical path is.
- How can you reduce Dynamic Power in your RTL code?
14. Backend Interview Questions
- Physical Design
- What are the inputs and outputs of the floorplanning stage?
- What is routing congestion and how do you fix it?
- Explain the goals of Clock Tree Synthesis (CTS).
- What is the difference between Global Routing and Detailed Routing?
- Static Timing Analysis (STA)
- Explain Setup and Hold.
- How do you fix a setup violation? How do you fix a hold violation?
- Why is Hold independent of the clock period?
- What is the difference between Best-Case - Worst-Case Analysis analysis and OCV?
- Explain the concept of PVT Corners. Why do we need to close timing on all of them?
- Explain Crosstalk Delay and Crosstalk Glitch. How does crosstalk affect setup and hold?
- What is Useful Skew and how can it be used to help fix setup violations?
- What are Max Transition and Max Capacitance violations, and how do you fix them?
- What is the difference between AOCV and POCV?
- Describe how you would debug a timing path. What information do you look for in the report?
- Power Signoff & Physical Verification
- What is IR Drop? Differentiate between static and dynamic IR drop.
- What is electromigration (EM)?
- What is the difference between DRC and LVS?
- What is the Antenna Effect and how is it fixed?
- ECO
- When would you perform an ECO?
- What is a Metal-Only ECO and why is it preferred?