You are on page 1of 72

ASIC Design Flow

TS. Hoang Trang ThS. Pham Dang Lam

12/2012

ASIC Design Subject

Idea

12/2012

ASIC Design Subject

Idea

Hardware Develop
12/2012

ASIC Design Subject

Idea

Third party

Hardware Develop
12/2012

ASIC Design Subject

Idea

Third party

Hardware Develop
12/2012

ASIC Design Subject


Factory

Idea

Layout

Third party

Hardware Develop
12/2012

ASIC Design Subject


Physical Chip Factory

Idea

Layout

Third party

Hardware Develop
12/2012

ASIC Design Subject


Physical Chip Factory

Idea

Layout

Third party

Hardware Develop
12/2012

ASIC Design Subject


Design Methodology

Fully Custom

Semi Custom

Standard Cells

Gate Arrays

Programmable Logic

FPGA

PLD

12/2012

ASIC Design Subject


ASIC Design Flow (Application-specific integrated circuit)
Design Methodology

Fully Custom

Semi Custom

Standard Cells

Gate Arrays

Programmable Logic

FPGA Design Flow (Field Programmable Gate Array)

FPGA

PLD

12/2012

10

ASIC Design Subject


Standard Cell Base Full Custom Gate Array PLD
Design a chip from scratch Engineer design some or all the logic cells, circuits, and the chip layout specifically for a full-custom IC Advantages: Complete flexibility, high degree of optimization performance ad area Disadvantages: Large amount of design effort, expensive

Use predesigned, pretested and pre_characterized logic cells from the standardscell library as building blocks.
The chip layout is customized Advantages: Save design time and money, reduce risk compared to full-custom design Disadvantages: Still incurs high nonerecurring-engineering (NRE) cost and long manufacture time

Parts of the chip are prefabricated, and other parts are custom fabricated for particular customers circuit. Idential base cells are pre-fabricated in the form of a 2-D array on a gatearray (this partially finished chip is called gate-array template). This wires between the transistors inside the cells and between the cells are custom fabricated for each customer Custom mask are made for the wiring only

A PLD is a generalpurpose chip for implementing logic circuitry. Transistors and wires are already prefebricated on a PLD Logic cells and interconnect can be programmed by end-user to implement specific circuitry No need to create custom masks for each customer

12/2012

11

ASIC Design Subject


Hardware Development Activities

Front end Design


ASIC Design Flow Back end Design Mask Production

Design
GDS

Manufacturing

Fabrication/Test Packaging/Test Shipping

Front end Process (Wafer Process) Back end Process

12/2012

12

ASIC Design Subject


Discrete Device Semiconductor Device Integrated Device Hardware

Led BJT Diode FET Digital Analog Mix Signal

Product

Board, Hardware Flatform

Compiler, OS Software Device driver Middleware

Develop & Evaluate Design Kit

12/2012

13

ASIC Design Subject


Discrete Device Semiconductor Device Integrated Device Hardware

Led BJT Diode FET Digital Analog Mix Signal

Product

Board, Hardware Flatform

Compiler, OS Software Device driver Middleware

Develop & Evaluate Design Kit

12/2012

14

ASIC Design Flow


Cell Base & Custom Design Flow Concepts Custom Design Flow

Cell Base Design Flow


ASIC vs. FPGA Design Flow

12/2012

15

ASIC Design Flow


Cell Base & Custom Design Flow Concepts Custom Design Flow

Cell Base Design Flow


ASIC vs. FPGA Design Flow

12/2012

16

Cell Base & Custom Design Flow Concepts


ASIC Design Products

Products for Cell Base Design Flow

Products for Custom Design Flow

12/2012

17

Cell Base & Custom Design Flow Concepts


ASIC Design Products

Products for Cell Base Design Flow MCU: I2C, DMAC, SBI, SCI, PCI, UART, TIMER, CAN, etc. DSP: Digital Filter, router, etc.

Products for Custom Design Flow Analog Device: ADC, PLL, Amplier, etc. Memory: ROM, RAM, etc MisSignal: RFID, etc

12/2012

18

Cell Base & Custom Design Flow Concepts


Custom Design Flow

12/2012

19

Cell Base & Custom Design Flow Concepts


Custom Design Flow

12/2012

20

Cell Base & Custom Design Flow Concepts


Custom Design Flow

CMOS Level

12/2012

21

Cell Base & Custom Design Flow Concepts


Custom Design Flow

CMOS Level

Symbol Level

12/2012

22

Cell Base & Custom Design Flow Concepts


Custom Design Flow

ADC IP

12/2012

23

Cell Base & Custom Design Flow Concepts


Custom Design Flow

ADC IP

Build Library from the scratch

12/2012

24

Cell Base & Custom Design Flow Concepts


Cell BaseDesign Flow

y = !(x1 & x2);

y = !(x1 I x2);

12/2012

25

Cell Base & Custom Design Flow Concepts


Cell BaseDesign Flow

y = !(x1 & x2);

RTL Level

y = !(x1 I x2);

12/2012

26

Cell Base & Custom Design Flow Concepts


Cell BaseDesign Flow

y = !(x1 & x2);

matching

y = !(x1 I x2);

matching

12/2012

27

Cell Base & Custom Design Flow Concepts


Cell BaseDesign Flow

UART IP y = !(x1 & x2);


matching

y = !(x1 I x2);

matching

12/2012

28

Cell Base & Custom Design Flow Concepts


Cell BaseDesign Flow

UART IP y = !(x1 & x2);


matching

Ready Library
y = !(x1 I x2);
matching

12/2012

29

Cell Base & Custom Design Flow Concepts


ASIC Design Flows

Cell Base Design Flow

Custom Design Flow

Design a chip from scratch Engineer design some or all the logic cells, circuits, and the chip layout specifically for a full-custom IC Advantages: Complete flexibility, high degree of optimization performance ad area Disadvantages: Large amount of design effort, expensive

Use predesigned, pretested and pre_characterized logic cells from the standards-cell library as building blocks. The chip layout is customized Advantages: Save design time and money, reduce risk compared to fullcustom design Disadvantages: Still incurs high nonerecurring-engineering (NRE) cost and long manufacture time

12/2012

30

Cell Base & Custom Design Flow Concepts


comparision Integration Density Speech Chip Scale Support Tools Time to market Risk reduction X X X X Cell Base Design Custom Design X X

http://www.ami.ac.uk/courses/ami4407_dicdes/u03/#3.2 http://www.eng.uwo.ca/people/wwang/ece616a/616_extra/notes_web/1_dintro.pdf http://www.ece.ucdavis.edu/~bbaas/116/notes/Handout.std.cell.design.pdf

12/2012

31

ASIC Design Flow


Cell Base & Custom Design Flow Concepts Custom Design Flow

Cell Base Design Flow


ASIC vs. FPGA Design Flow

12/2012

32

Custom Design Flow


Design flow Support Tools Output

12/2012

33

Custom Design Flow


Design flow Support Tools Output

Specifications

<file>.docx/xls/ppt

12/2012

34

Custom Design Flow


Design flow Support Tools Output

Specifications

<file>.docx/xls/ppt

Schematic

Composer

12/2012

35

Custom Design Flow


Design flow Support Tools Output

Specifications

<file>.docx/xls/ppt

Schematic NG

Composer

Netlist extraction

Composer

<file>.cdl, <file>.net

12/2012

36

Custom Design Flow


Design flow Support Tools Output

Specifications

<file>.docx/xls/ppt

Schematic NG

Composer

Netlist extraction Pre_Layout Verification

Composer

<file>.cdl, <file>.net

HSpice

<file>.wf, <file>.tr

12/2012

37

Custom Design Flow


Design flow Support Tools Output

Specifications

<file>.docx/xls/ppt

Schematic NG

Composer

Netlist extraction Pre_Layout Verification Layout

Composer

<file>.cdl, <file>.net

HSpice

<file>.wf, <file>.tr

Virtuoso

<file>.gds

12/2012

38

Custom Design Flow


Design flow Support Tools Output

Specifications

<file>.docx/xls/ppt

Schematic NG

Composer

Netlist extraction Pre_Layout Verification Layout

Composer

<file>.cdl, <file>.net

HSpice

<file>.wf, <file>.tr

Virtuoso NG

<file>.gds <file>.db (DRC) <file>.svdb(LVS)

Layout Verification

Calibre

12/2012

DRC: Design Rule Check LVS: Layout Versus Schematic

39

Custom Design Flow


Design flow Support Tools Output

Specifications

<file>.docx/xls/ppt

Schematic NG

Composer

Netlist extraction Pre_Layout Verification Layout

Composer

<file>.cdl, <file>.net

HSpice

<file>.wf, <file>.tr

Virtuoso NG

<file>.gds <file>.db (DRC) <file>.svdb(LVS)

Layout Verification

Calibre

RC_extraction Pos_Layout Verification Report file <file>.lib/.db

Spectre Simulator Pritime

12/2012

DRC: Design Rule Check LVS: Layout Versus Schematic

40

ASIC Design Flow


Cell Base & Custom Design Flow Concepts Custom Design Flow

Cell Base Design Flow


ASIC vs. FPGA Design Flow

12/2012

41

Cell Base Design Flow


Design flow Support Tools (Languages) Output

12/2012

42

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications

<file>.docx/xls/ppt

12/2012

43

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications

<file>.docx/xls/ppt

12/2012

44

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications

<file>.docx/xls/ppt

12/2012

45

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design G++ (C++ with Sysem C class)

<file>.docx/xls/ppt

Flatform / Model

12/2012

46

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design G++ (C++ with Sysem C class) VI, NotePath++ (Verilog/VHDL)

<file>.docx/xls/ppt

Flatform / Model

<file>.v

12/2012

47

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design NG G++ (C++ with Sysem C class) VI, NotePath++ (Verilog/VHDL) VCS/ModelSim, etc(Verilog/ VHDL)

<file>.docx/xls/ppt

Flatform / Model

<file>.v Report file, wave form

RTL Verification

12/2012

48

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design NG NG G++ (C++ with Sysem C class) VI, NotePath++ (Verilog/VHDL) VCS/ModelSim, etc(Verilog/ VHDL) DC compiler

<file>.docx/xls/ppt

Flatform / Model

<file>.v Report file, wave form <file>.v (netlist), <file>.sdf, Reports

RTL Verification

Synthesis

12/2012

49

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design NG NG G++ (C++ with Sysem C class) VI, NotePath++ (Verilog/VHDL) VCS/ModelSim, etc(Verilog/ VHDL) DC compiler NG Netlist Verification Formality

<file>.docx/xls/ppt

Flatform / Model

<file>.v Report file, wave form <file>.v (netlist), <file>.sdf, Reports Report file

RTL Verification

Synthesis

12/2012

50

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design NG NG G++ (C++ with Sysem C class) VI, NotePath++ (Verilog/VHDL) VCS/ModelSim, etc(Verilog/ VHDL) DC compiler NG Netlist Verification Formality

<file>.docx/xls/ppt

Flatform / Model

<file>.v Report file, wave form <file>.v (netlist), <file>.sdf, Reports Report file

RTL Verification

Synthesis

DFT

FastScan/Tmax/

Report file, Netlist

12/2012

51

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design NG NG G++ (C++ with Sysem C class) VI, NotePath++ (Verilog/VHDL) VCS/ModelSim, etc(Verilog/ VHDL) DC compiler NG Netlist Verification Formality

<file>.docx/xls/ppt

Flatform / Model

<file>.v Report file, wave form <file>.v (netlist), <file>.sdf, Reports Report file

RTL Verification

Synthesis

DFT

FastScan/Tmax/

Report file, Netlist

STA

Prime Time

Report file, Netlist

12/2012

52

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design NG NG G++ (C++ with Sysem C class) VI, NotePath++ (Verilog/VHDL) VCS/ModelSim, etc(Verilog/ VHDL) DC compiler NG Netlist Verification Formality

<file>.docx/xls/ppt

Flatform / Model

<file>.v Report file, wave form <file>.v (netlist), <file>.sdf, Reports Report file

RTL Verification

Synthesis

DFT

FastScan/Tmax/

Report file, Netlist

STA

Prime Time

Report file, Netlist

Place&Route

ICC compiler

<file>.gds

12/2012

53

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design NG NG G++ (C++ with Sysem C class) VI, NotePath++ (Verilog/VHDL) VCS/ModelSim, etc(Verilog/ VHDL) DC compiler NG Netlist Verification Formality

<file>.docx/xls/ppt

Flatform / Model

Front End

<file>.v Report file, wave form <file>.v (netlist), <file>.sdf, Reports Report file

RTL Verification

Synthesis

DFT

FastScan/Tmax/

Report file, Netlist

Back End

STA

Prime Time

Report file, Netlist

Place&Route

ICC compiler

<file>.gds

12/2012

54

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications

<file>.docx/xls/ppt

Design the one bit adder: + Three inputs (A, B, Cin) + Two output (S, Cout)

12/2012

55

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design G++ (C++ with Sysem C class)

<file>.docx/xls/ppt

Flatform / Models

Flatform/Model concepts

TLM class

C++

Methods in SystemC class

12/2012

56

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design VI, NotePath++ (Verilog/VHDL)

<file>.docx/xls/ppt

<file>.v

Verilog/VHDL language

Coding style

Design vs. Model

12/2012

57

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design VI, NotePath++ (Verilog/VHDL) VCS/ModelSim, etc(Verilog/ VHDL)

<file>.docx/xls/ppt

<file>.v Report file, wave form

RTL Verification

VCS tool

Check list

Verification Environment
58

12/2012

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design NG NG VI, NotePath++ (Verilog/VHDL) VCS/ModelSim, etc(Verilog/ VHDL) DC compiler

<file>.docx/xls/ppt

<file>.v Report file, wave form <file>.v (netlist), <file>.sdf, Reports

RTL Verification

Synthesis

Timing analysis

Tool commands

Report analysis
59

12/2012

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design NG NG G++ (C++ with Sysem C class) VI, NotePath++ (Verilog/VHDL) VCS/ModelSim, etc(Verilog/ VHDL) DC compiler NG Netlist Verification Formality

<file>.docx/xls/ppt

Flatform / Model

<file>.v Report file, wave form <file>.v (netlist), <file>.sdf, Reports Report file

RTL Verification

Synthesis

Tool commands
12/2012

Report analysis
60

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design NG NG G++ (C++ with Sysem C class) VI, NotePath++ (Verilog/VHDL) VCS/ModelSim, etc(Verilog/ VHDL) DC compiler NG Netlist Verification Formality

<file>.docx/xls/ppt

Flatform / Model

<file>.v Report file, wave form <file>.v (netlist), <file>.sdf, Reports Report file

RTL Verification

Synthesis

DFT

FastScan/Tmax/

Report file, Netlist

MBIST

LBIST
12/2012
61

Cell Base Design Flow


Design flow Support Tools (Languages) Output

Specifications System Level Design RTL Design NG NG G++ (C++ with Sysem C class) VI, NotePath++ (Verilog/VHDL) VCS/ModelSim, etc(Verilog/ VHDL) DC compiler NG Netlist Verification Formality

<file>.docx/xls/ppt

Flatform / Model

<file>.v Report file, wave form <file>.v (netlist), <file>.sdf, Reports Report file

RTL Verification

Synthesis

DFT

FastScan/Tmax/

Report file, Netlist

STA

Prime Time

Report file, Netlist

Timing analysis

Tool commands 12/2012

Report analysis

62

Cell Base Design Flow


Design flow Support Tools (Languages) Output

DFT

FastScan/Tmax/

Report file, Netlist

STA

Prime Time

Report file, Netlist

Place&Route

ICC compiler

<file>.gds

Timing/Area analysis

Library Using

Tool Commands

12/2012

63

ASIC Design Flow


Cell Base & Custom Design Flow Concepts Custom Design Flow

Cell Base Design Flow


ASIC vs. FPGA Design Flow

12/2012

64

ASIC vs. FPGA Design Flow

12/2012

65

ASIC vs. FPGA Design Flow


ASIC
1986: Synopsys 1987: TSMC 1988: Cadence

FPGA
1983: Altera 1984: Xilinx

12/2012

66

Appendix
ASSP : Application Specific Standard Product (DSP, Mircro Processor) ASCP: Application Specific Custom Product GDS: Graphic Data System

12/2012

67

Appendix
Language Design Level Transaction Transaction RTL RTL Gate Simula Synthesiz Explicit tion eable Hardware Resource Yes Yes Yes Yes Yes No Yes* Yes* Yes* Yes No No Yes* Yes* Yes Elapsed Time No Yes Yes Yes Yes Sequence

C++ SystemC VHDL Verilog Verilog/VHD L Netlist

Yes Yes Yes Yes Yes

Yes*: Base on the constraints to be able or not


12/2012
68

Q&A

12/2012

69

Reference
1. Cell Characterization Concepts slide - SIVACO company 2. Henrik Eriksson and Per Larsson-Edefors, Tomas Henriksson and Christer Svensson, Full-Custom vs. Standard-Cell Design Flow - An Adder Case Study 3. TSMC 65nm CLN65LP HVT Process 1.2-Volt 12-Track AdvantageTM v2.1Standard Cell Library Databook 4. http://www.ami.ac.uk/courses/ami4407_dicdes/u03/ 5. http://www.eng.uwo.ca/people/wwang/ece616a/616_extra/notes_web/1_dintro .pdf 6. http://www.ece.ucdavis.edu/~bbaas/116/notes/Handout.std.cell.design.pdf

12/2012

70

Question
Q1/ Why Static Timing Analysis step is only done after Place and Route step in FPGA design flow ? Q2/ In FPGA and ASIC design flows, which s performances such as area and timing are better? Q3/ Why is Time to Market of FPGA design flow faster ?

12/2012

71

Question

12/2012

72

You might also like