=====System Specification=====

1. System Specification

According to product requirements of market opportunity, customer needs, feasibility, identify the product specs and functionality

#####Frontend#####

=====Architectural or System Level Design=====

2. Functional/ Architecture Design or System Level Design

According to spec requirement, create or purchase the intellectual property (IP) blocks, and defining the software interfaces, timing, performance, area, and power constraints.

3–1. Architecture Verification

Building a application software using high-level language like C, C++, or SystemC to evaluate or verify architecture, performance, and power of the entire system.

3–2. Formal Verification — Property Checking

To prove that the implemented system model meets the design requirements (or specifications).

=====Functional Design and Logic Design=====

4. Behavior Synthesis and Register Transfer Level (RTL) design

Implement the functional models in a hardware description language (VHDL, Verilog). Functional verification is also performed to ensure the RTL design is done according to the specifications.

5–1. Functional Simulation (verification by simulation)

To reduce functionality bugs, a separate hardware verification group will take the RTL and design testbenches and systems to check that the RTL actually is performing the same steps under many different conditions, classified as the domain of functional verification. This does not consider the timing delays of the design elements.

It verifies the IC level connectivity, IP blocks in the IC-level environment (generally, IP blocks are pre-verified), end-to-end functional paths, pad connectivity, inter-module interaction, external module interaction, and so on.

The testbench is a set of codes that check whether the RTL implementation meets the design specification.

5–2. Formal Verification

To prove the functional equivalence of a design by comparing it with the golden design

5–3. Emulation
5–4. FPGA-Based Prototyping

=====Circuit Design=====

6. Logic synthesis & Gate level

Convert the hardware description (RTL) into a design implementation in terms of logic gates (netlist) given a technology library and timing constraints. This process takes power, speed, size into consideration. To verify whether the synthesis tool has correctly generated the gate-level netlist, a verification should be done.

7. Design for Testing (DFT)

#####Backend#####

=====Physical Design and Verification=====

7. Layout level or Mask level

Gate level netlist is converted to a complete physical geometric representation. The output file of the layout is the GDSII used by the foundry to fabricate the chip.

  1. Design Netlist (after synthesis)
  2. Partitioning
  3. Floorplanning
  4. Placement
  5. Clock-tree Synthesis (CTS)
  6. Routing
  7. Dummy Metal Filling
  8. Physical Verification (DRC)
  9. RC-extraction, Timing Analysis, SI Analysis (STA)
  10. Formal Verification (LVS)

--

--