top of page

VLSI Design Flow: From Specification to Fabrication

The VLSI (Very Large Scale Integration) design flow is a structured process used to design and fabricate integrated circuits (ICs). It involves multiple stages, each with specific tasks and goals, to transform a high-level specification into a physical chip. This article provides a detailed overview of the VLSI design flow, from specification to fabrication.

BLOCK DIAGRAM

FRONT-END

BACK-END

1. Specification

The design process begins with a specification, which defines the functionality, performance, and constraints of the IC.

​

KEY ACTIVITIES:

  • Define the purpose of the chip (e.g., processor, memory, sensor).

  • Specify functional requirements (e.g., operations, algorithms).

  • Define performance metrics (e.g., speed, power, area).

  • Identify constraints (e.g., cost, time-to-market).

​

OUTPUT:

  • A detailed document outlining the chip's requirements.​​

​​

Sub-Parts:

​

The Specification stage defines the requirements and goals of the chip.​​​​​​​​​​​​​​​​​​​​​​

​

​​​

​​​​​​​Functional Requirements:

  • Define what the chip should do (e.g., perform arithmetic operations, process signals).

  • Example: A processor must execute instructions by which a memory chip must store data.

Constraints:

  • Include cost, time-to-market, and technology node (e.g., 7nm, 14nm).

  • Example: The chip must be designed in 12 months using a 28nm process.

Performance Metrics:

  • Specify speed (clock frequency), power consumption, and area constraints.

  • Example: The chip must operate at 1 GHz with a power budget of 2W.

Interface Definition:

  • Define input/output pins, communication protocols, and external interfaces.

  • Example: USB, PCIe, or I2C interfaces.

2. ARCHITECTURE DESIGN

In this stage, the high-level architecture of the chip is designed.

​

KEY ACTIVITIES:

  • Partition the system into modules (e.g., ALU, memory, control unit).

  • Define the data flow and control flow between modules.

  • Choose IP cores (Intellectual Property) for reusable components.

  • Perform high-level simulations to validate the architecture.

​

OUTPUT:

  • Block diagrams and high-level descriptions of the system.

​

​​

Sub-Parts:

​

The Architecture Design stage creates a high-level blueprint of the system.​​

​

​

​

​

​

​

​

​

​

​

​

​

​​

​

​

​

​​​

​​

​

​​​

System Partitioning:

  • Divide the system into functional blocks (e.g., ALU, memory, control unit).

  • Example: A processor is divided into fetch, decode, execute, and writeback units.

IP Core Selection:

  • Choose pre-designed IP cores for reusable components (e.g., ARM Cortex CPU, DDR controller).

  • Example: Use an ARM Cortex-M3 core for a microcontroller.

Data Flow and Control Flow:

  • Define how data moves between blocks and how control signals are generated.

  • Example: Data flows from memory to the ALU, and control signals determine the operation.

High-Level Simulation:

  • Simulate the architecture to validate functionality and performance.

  • Example: Use SystemC or C++ for high-level modeling.

3. RTL DESIGN

The RTL design stage involves describing the system's behaviour using a hardware description language (HDL) like Verilog or VHDL.

​

KEY ACTIVITIES:

  • Write RTL code for each module.

  • Define data paths, control logic, and state machines.

  • Perform functional verification using testbenches.

  • Use linting tools to check for coding errors.

 

OUTPUT:

Synthesizable RTL code.​​​​​​​​​​​​​​​​​​​​​​​​​​​​

​

​​​

Module Definition:

  • Break the design into smaller modules (e.g., adder, mux, FSM)

  • Example: A 32-bit adder module.

Functional Verification:

  • Develop testbenches to simulate and verify the RTL code.

  • Example: Use System Verilog for testbench development.

RTL Coding:

  • Write HDL code (Verilog/VHDL) for each module.

  • Example: assign sum = a + b; for an adder.

Linting:

  • Check the RTL code for syntax and semantic errors.

  • Example: Use tools like SpyGlass or Verilator.

4. FUNCTIONAL VERIFICATION

Functional verification ensures that the RTL design meets the specification.

​

KEY ACTIVITIES:

  • Develop test benches to simulate the design.

  • Use simulation tools (e.g., ModelSim, VCS) to verify functionality.

  • Apply coverage metrics (e.g., code coverage, functional coverage) to ensure thorough testing.

  • Debug and fix errors in the RTL code.

​

OUTPUT:

  • Verified RTL code with high coverage metrics.​​​​​​​​​​​​​​​​​​​​​​​​​​

Testbench Development:

  • Create testbenches to simulate the design under various conditions.

  • Example: Write a testbench to apply input patterns and check outputs.

Coverage Analysis:

  • Measure code coverage, functional coverage, and toggle coverage.

  • Example: Ensure 100% branch coverage in the RTL code.

Simulation:

  • Use simulation tools (e.g., QuestaSim, VCS, Xcelium) to verify functionality.

  • Example: Simulate a processor executing a set of instructions.

Debugging:

  • Identify and fix errors in the RTL code.

  • Example: Use waveform viewers to debug timing issues.

5. SYNTHESIS

Synthesis converts the RTL code into a gate-level netlist, which represents the design in terms of standard cells (e.g., AND, OR, flip-flops).

​

KEY ACTIVITIES:

  • Use synthesis tools (e.g., Design Compiler) to map RTL to gates.

  • Apply timing constraints (e.g., clock frequency) to guide synthesis.

  • Optimize the design for area, power, and timing.

  • Generate a gate-level netlist.

​

OUTPUT:

  • Gate-level netlist and timing reports.

Technology Mapping:

  • Map RTL constructs to standard cells (e.g., AND, OR, and flip-flops).

  • Example: Use a 28nm standard cell library.

OPTIMIZATION:

  • Optimize the design for area, power and timing.

  • Example: Use multi-Vt cells for power optimization.

TIMING CONSTRAINTS:

  • Define clock frequency, input/output delays, and setup/hold times.

  • Example: Set a clock frequency of 500 MHz

Netlist Generation:

  • Generate a gate-level netlist for the design.

  • Example: Output a Verilog netlist.

6. DESIGN FOR TESTABILITY (DFT)

DFT techniques are incorporated to ensure the chip can be tested after fabrication.

​

KEY ACTIVITIES:

  • Insert scan chains to improve testability.

  • Add Built-In Self-Test (BIST) for memory and logic.

  • Generate test patterns for manufacturing testing.

​

OUTPUT:

  • Netlist with DFT features.

Scan Chain Insertion:

  • Insert scan chains to improve testability.

  • Example: Connect flip-flops into a scan chain for testing.

Test Pattern Generation:

  • Generate test patterns for manufacturing testing.

  • Example: Use ATPG tools to create test vectors.

Built-in Selt-test:

  • Add BIST logic for memory and logic testing.

  • Example: Use MBIST for RAM testing.

7. FLOORPLANNING (BLOCK PLACEMENT)

Floorplanning determines the placement of major blocks and I/O pins on the chip.

​

KEY ACTIVITIES:

  • Define the chip area and aspect ratio.

  • Place macros (e.g., RAM, CPU) and I/O pads.

  • Plan power distribution and clock tree.

​

OUTPUT:

  • Floorplan layout.

Chip Area Definition:

  • Define the chip's dimensions and aspect ratio.

  • Example: 5mm x 5mm chip area.

Power Planning:

  • Design the power distribution network.

  • Example: Create a grid for VDD and GND.

Macro Placement:

  • Place large blocks like RAM, CPU, and I/O pads.

  • Example: Place RAM in the top-left corner.

8. PLACEMENT AND ROUTING

The Placement and Routing stage places standard cells and connects them. Placement and routing (P&R) place standard cells and connect them with wires.

​

KEY ACTIVITIES:

  • Place standard cells in the defined area.

  • Route connections between cells while minimizing delays and congestion.

  • Perform timing analysis and signal integrity checks.

​

OUTPUT:

  • Physical layout of the chip.

Cell Placement:

  • Place standard cells in the defined area.

  • Example: Use a placement tool to minimize wirelength.

Timing Analysis:

  • Perform static timing analysis (STA) to check for timing violations.

  • Example: Use Prime Time for STA.

Routing:

  • Connect cells with metal wires.

  • Example: Use a routing tool to avoid congestion.

9. PHYSICAL VERIFICATION (DRC, LVS)

Physical verification ensures the layout meets design rules and is manufacturable.

​

KEY ACTIVITIES:

  • Perform Design Rule Checking (DRC) to ensure compliance with fabrication rules.

  • Conduct Layout vs. Schematic (LVS) checks to verify the layout matches the netlist.

  • Check for antenna effects and electromigration.

​

OUTPUT:

  • Clean layout ready for fabrication.

Design Rule Checking (DRC):

  • Check for violations of fabrication rules.

  • Example: Ensure minimum spacing between metal layers.

Antenna Checks:

  • Check for antenna effects that can damage the chip.

  • Example: Add diodes to prevent antenna violations.

Layout vs. Schematic (LVS):

  • Verify the layout matches the netlist.

  • Example: Use Calibre for LVS.

10. FABRICATION (CHIP CREATION)

The final layout is sent to a foundry for fabrication.

​

KEY ACTIVITIES:

  • Create masks for each layer of the chip.

  • Fabricate the chip using photolithography and other processes.

  • Perform post-fabrication testing to ensure functionality.

​

OUTPUT:

  • Physical ICs ready for packaging and testing.

Mask Generation:

  • Create masks for each layer of the chip.

  • Example: Use a mask writer to create photomasks.

Post-Fabrication Testing:

  • Test the fabricated chips for functionality.

  • Example: Use automated test equipment (ATE).

Wafer Processing:

  • Fabricate the chip using photolithography and etching.

  • Example: Use a 28nm process node.

11. PACKAGING AND TESTING

The fabricated chips are packaged and tested for quality.

​

KEY ACTIVITIES:

  • Package the chip into a suitable form factor (e.g., BGA, QFN).

  • Perform final testing to verify functionality and performance.

  • Screen out defective chips.

​

OUTPUT:

  • Finished ICs ready for deployment.

Packaging:

  • Package the chip into a suitable form factor.

  • Example: Use a BGA package.

Final Testing:

  • Test the packaged chips for functionality and performance.

  • Example: Use burn-in testing to screen out defects.

12. FINAL PRODUCT (DEPLOYMENT)

Chip is ready to be used in hardware application devices.​

​​

​

The VLSI design flow is a complex, multi-stage process that transforms a high-level specification into a physical chip. Each stage plays a critical role in ensuring the final product meets its functional, performance, and manufacturability requirements. By following this structured flow, designers can efficiently create high-quality ICs that power modern electronics.

© Copyright 2025 VLSI Mentor. All Rights Reserved.©

Connect with us

  • Instagram
  • Facebook
  • Twitter
  • LinkedIn
  • YouTube
bottom of page