The mobile chips and computer memory you use every day are backed by a set of “standardized design processes”—from defining chip specifications to generating production-ready layout files, it goes through two major stages: front-end “coding and simulation” and back-end “layout and verification”. Any mistake in these steps could lead to losses in the millions. This digital IC design presentation breaks down the entire process from RTL to GDS clearly, and today, I will explain in simple terms how a digital chip is transformed from “blueprint to manufacturable files”.
1. Understanding the Big Picture: Digital IC Design is Divided into “Front-End” and “Back-End”, with Different Goals but Interconnected Steps
Digital IC design is like “building a house”; the front-end is about “drawing the blueprints and verifying the structure”, while the back-end is about “laying the foundation and constructing the house”. The core goals are clear:
- Front-End Design: Aims to generate a “layout-capable gate-level netlist”, equivalent to “drawing the structural blueprints of the house and verifying the stability of the structure”;
- Back-End Design: Aims to generate a “GDSII file ready for submission to the foundry”, equivalent to “building the house according to the blueprints and checking compliance with construction standards”;
- Key Terms:
- Tape-out: Submitting the final GDSII file to the foundry (e.g., SMIC);
- Foundry: The manufacturer responsible for turning the GDSII file into actual chips.
2. Front-End Design: From “Specifications” to “Netlist”, 4 Steps to Ensure Functionality and Timing Compliance
The core of front-end design is “describing the chip’s functionality with code and verifying its feasibility”. The key 4 steps are essential:
1. Step One: Define Specifications — What the Chip “Can Do and How Well”
First, clarify the core parameters of the chip, akin to “defining the house type and earthquake resistance level”, mainly including:
- Physical Specifications: Manufacturing process (e.g., 28nm/14nm), die area (the smaller, the lower the cost), package type (e.g., QFP/BGA);
- Performance Specifications: Operating speed (e.g., 1GHz), power consumption (e.g., standby < 10mA);
- Functionality and Interfaces: Supported protocols (e.g., I2C/SPI), input/output pin definitions (e.g., number of GPIOs).
2. Step Two: RTL Design — “Drawing” the Chip Structure with Code
Using hardware description languages (HDL) like Verilog/VHDL, describe the circuit with a focus on “data transfer between registers”, akin to “marking the load-bearing walls and window positions on the blueprints”. For example, a simple Verilog code <span>always@(posedge clk) q <= d</span> describes “when the clock rises, data d is stored in register q”, which is fundamental for chip caching and memory interaction. When writing code, pay attention to “synthesizable style”—not all HDL syntax can be converted into actual circuits by tools, for instance, overly abstract <span>for</span> loops may not synthesize.
3. Step Three: Simulation and Verification — “Finding Bugs Early”
Once the code is written, it must undergo multiple rounds of testing, akin to “simulating whether the house can withstand earthquakes and whether the doors and windows operate correctly”:
- Functional Simulation: Verifying whether the code logic is correct, for example, inputting an “addition instruction” to the chip and checking if the output is correct;
- Logic Synthesis: Using tools (e.g., Synopsys DC, Cadence RTL Compiler) to convert RTL code into a “gate-level netlist”—equivalent to “turning the blueprints into a list of how many bricks and steel bars are needed”;
- Synthesis Post-Simulation: Verifying whether the netlist matches the original code functionality to avoid introducing bugs during synthesis;
- STA Static Timing Analysis: Checking whether the chip can operate at the designed clock frequency, for example, analyzing “the delay from register A to register B to see if it exceeds the clock cycle”. If the delay exceeds the limit, adjustments to the code or constraints are necessary.
4. Front-End Tools: Engineers’ “Drawing and Verification Tools”
- Simulation Verification: Quartus II (suitable for FPGA verification), Cadence Incisive (nc_verilog, mainstream ASIC simulation tool);
- Logic Synthesis: Synopsys DC (most commonly used, with over 80% market share), Cadence RTL Compiler (slightly better for timing/area optimization, but less widespread).
3. Back-End Design: From “Netlist” to “GDSII”, 6 Steps to Ensure Manufacturability and Defect-Free Production
The core of back-end design is “turning the netlist into an actual layout, checking whether it can be manufactured and whether functionality remains unchanged”. The key 6 steps are interconnected:
1. Step One: APR Automatic Placement and Routing — “Placing Components and Connecting Wires According to the Blueprints”
Using EDA tools (e.g., Synopsys Astro, Cadence Encounter) to automatically complete “component placement” and “wire connections”, akin to “placing bricks and steel bars according to the blueprints and connecting water and electricity”. The core steps include:
- Floorplan Planning: Placing macro cells like RAM/ROM, planning the power network, and determining I/O pin locations;
- Standard Cell Layout: Placing standard cells like AND gates and OR gates in the core area of the chip to minimize wire lengths;
- Clock Tree Synthesis (CTS): Specifically designing the transmission path for clock signals to ensure all registers receive the clock with consistent delay (low skew), avoiding timing errors;
- Routing: Connecting the wires between various cells, divided into global routing (planning paths) and detailed routing (determining specific metal line positions).
2. Step Two: Extract RC Parameters — “Calculating Wire Delays”
Extracting the resistance (R) and capacitance (C) of wires in the layout, akin to “calculating the resistance and capacitance of the house’s electrical wiring to see if it affects power supply and signal transmission”. These parameters will be used for subsequent timing verification.
3. Step Three: Timing Re-Verification (STA) — “Confirming Speed Compliance”
Combining the extracted RC parameters for static timing analysis, akin to “checking whether the water and electricity transmission meets standards after the house is built”. If delays exceed limits, adjustments to layout and routing (e.g., repositioning cells, optimizing wire paths) are necessary.
4. Step Four: Physical Verification — “Checking Construction Standards”
This is the “quality inspection phase” of back-end design, akin to “checking whether the house complies with building codes”. The two core checks are:
- DRC (Design Rule Check): Verifying whether the layout meets foundry process requirements, such as whether wire widths are ≥ minimum line width (e.g., 14nm process minimum line width 0.014μm) and whether metal spacing is sufficient (to avoid short circuits);
- LVS (Layout Versus Schematic Check): Extracting the circuit netlist from the layout and comparing it with the netlist generated from the front-end to ensure “the built house matches the blueprints”, checking for any extra or missing connections.
5. Step Five: DFM Design for Manufacturability — “Making the Chip Easy to Produce”
Optimizing for potential issues during manufacturing, akin to “applying waterproofing and crack prevention treatments to the house”, mainly addressing:
- Antenna Effect: When wires are too long, charge accumulation may break down the gate oxide layer, requiring the insertion of “antenna diodes” to release the charge;
- Metal Density: Ensuring that the area ratio of each metal layer meets standards to avoid wafer deformation due to insufficient metal during photolithography;
- Cross Talk: Signal interference between adjacent wires, requiring increased spacing or the addition of shielding layers.
6. Back-End Tools: Engineers’ “Construction and Quality Inspection Tools”
- Placement and Routing: Cadence Encounter (mainstream), Synopsys Astro;
- Physical Verification: Mentor Calibre (commonly used for DRC/LVS), Synopsys StarRC (for RC parameter extraction).
4. The 4 Major Challenges in Back-End Design: The Smaller the Process, the Harder It Gets
As processes enter below 14nm, the difficulty of back-end design increases exponentially, with 4 core challenges:
- Clock Tree Complexity: When the process is <0.18μm, wire delays far exceed device delays, and clock tree design must balance low delay (skew) and low power consumption, for example, using “buffers” to optimize clock paths;
- Cross Talk: As wire spacing decreases, adjacent signal cross talk becomes severe, potentially leading to signal errors, requiring tools for signal integrity (SI) analysis;
- Antenna Effect: Thin wires accumulating charge can easily break down the gate, necessitating the insertion of diodes in long wires;
- Mixed-Signal Design: If the chip has both digital and analog modules (e.g., with ADC/DAC), proper isolation is needed to prevent digital noise from interfering with analog signals.
5. Industry Demand: What Do Digital IC Engineers Need to Master?
From recruitment requirements, the skill focus of front-end and back-end engineers differs, with core competencies clearly defined:
- Senior Digital Front-End Engineer: Must be proficient in Verilog, familiar with simulation tools (e.g., NC-Sim), understand ASIC design processes, and be able to independently design modules, with 4-5 years of experience preferred;
- Digital Back-End Engineer: Must be familiar with the entire process from RTL to GDS, able to use Encounter/Astro (placement and routing), PT (timing analysis), Calibre (physical verification), and understand DFM and signal integrity analysis.
Interactive Time
After reviewing the “front-end and back-end processes” of digital IC design, which step do you think tests engineers the most? Is it the “synthesizable style” during front-end coding, or the “timing optimization” during back-end layout and routing? If you were to design a simple digital IC (like an I2C controller), which step would you start with? Let’s discuss in the comments!
#Digital IC Design Process #Front-End Design #Back-End Design #RTL Design #GDSII File #Chip Tape-Out #EDA Tools