lecture 9: fpgas vs. asics -...

29
Lecture 9: FPGAs vs. ASICs

Upload: others

Post on 24-May-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

Lecture 9: FPGAs vs. ASICs

Page 2: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

2

Spectrum of Design Choices

Fast, Inflexible

Slow, Flexible

Choices

Full Custom Polygons

ASIC Standard Cells (LTE Modem)

FPGA Logic Network (Intel/Altera, Xilinx)

Specialized Processor Program (e.g., GPUs)

GP Processor Program (e.g., Intel x86, ARM)

Page 3: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

3

• “Wires” (Routing) implemented by programming connectivity boxes (CBs) and switch boxes (SB)

• “Logic gates” implemented by programming configurable logic

blocks (CLBs) • Modern FPGAs have more than 1 million equivalent logic gates

General FPGA Layout

Page 4: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

4

• Basic CLB comprises “Lookup Table” (LUT) and D-Flip Flop • The MUX allows selection of either the LUT output or the

D-FF output

Configurable Logic Blocks

Page 5: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

5

• Combinational functions created with programmed “tables” connected to cascaded multiplexers

• LUT inputs are MUX select lines

Lookup Tables (LUTs)

1 0

0 0

1 0

0 0

1 0

0 0

1 0

0 1

Programmed Levels (EEPROM or SRAM)

Page 6: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

6

• The basic “Adaptive Logic Module (ALM) Block Diagram”

• Note the fast adder carry chain (does not require going out to programmable switch boxes)

Intel Stratix II FPGA Architecture

Page 7: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

7

• Each ALM can be configured to one or two logic functions

ALM Flexibility

Page 8: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

8

ALM Flexibility

Page 9: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

9

ALM Flexibility

Page 10: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

10

Connectivity Between ALMs

Page 11: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

11

• Intel Stratix 10 GX 5500/SX 5500 FPGAs implemented in 14 nm process

• Contains 1,867,680 ALMs, which can implement roughly 5,510,000 logic elements (logic gates).

• Contains 7,470,720 ALM registers

• Also contains Quad ARM Cortex-A53 CPU cores

Latest Stratix 10

Page 12: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

12

Integrated Quad ARM Cores

Page 13: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

13

Many Built-In Interfaces Modern FPGAs have many built-in interfaces. • DRAM • PCI Express • USB • SATA (disk drives) • etc Makes them easy to integrate into compute environments

Page 14: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

FPGA vs. ASIC

Page 15: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

15

• ASIC (Application-Specific Integrated Circuit) designs are usually implemented using “standard cells”

• Standard cells are pre-designed layouts of transistors for implementation of common logic gates and registers (D-Flip Flops)

• Standard cells are be pre-characterized in terms of cell area, cell delay, and cell power consumption

• Simplifies design flow, design verification, and timing analysis

ASICs

Page 16: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

16

• N-Channel MOS (NMOS) transistors turn “ON” when the Gate voltage = “1”

• P-Channel MOS (PMOS) transistors turn “ON” when the

Gate voltage = “0”

CMOS

Gate

Source Drain “1”

Gate

Source Drain “0”

Page 17: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

17

CMOS Inverter Layout

Figure derived from slides by S. Edwards from his CSEE4840 class

Page 18: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

18

CMOS NAND Gate

Figure derived from slides by S. Edwards from his CSEE4840 class

Page 19: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

19

CMOS NAND Gate

Figure derived from slides by S. Edwards from his CSEE4840 class

Page 20: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

20

CMOS NAND Gate

Figure derived from slides by S. Edwards from his CSEE4840 class

Page 21: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

21

CMOS NAND Gate

Figure derived from slides by S. Edwards from his CSEE4840 class

Page 22: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

22

Standard Cells of Logic Gates

Page 23: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

23

CMOS D-Flip Flop

Page 24: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

24

Standard Cell of D-Flip Flop

Edge-Triggered D-Flip Flop with Asynchronous Reset

Page 25: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

25

Standard Cell Layout

Page 26: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

26

Standard Cell Layout

Page 27: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

27

Standard Cell Layout

Page 28: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

28

• NVIDIA Tesla GV100 GPU in 12 nm process

• Contains 23 billion transistors

Latest NVIDIA GPU

Page 29: Lecture 9: FPGAs vs. ASICs - UCSDcwcserv.ucsd.edu/~billlin/classes/ECE111/lectures/Lecture9.pdfLecture 9: FPGAs vs. ASICs . 2 Spectrum of Design Choices . Fast, Inflexible Slow, Flexible

29

• FPGA and ASIC have similar design flows

Design Flows

SystemVerilog Translation

Logic Optimization

Logic Clustering to LUTs

Assignment & Programming CLBs

Routing & Programming CBs/SBs

FPGA Flow SystemVerilog

Translation

Logic Optimization

Technology Mapping to Standard Cells

Floorplanning

Placement

Routing

ASIC Flow

“Fitter”