ee 466/586 vlsi design - wsu · 2017. 8. 23. · vlsi design partha pande school of eecs ....

25
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University [email protected]

Upload: others

Post on 21-Apr-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

EE 466/586 VLSI Design

Partha Pande School of EECS

Washington State University [email protected]

Page 2: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Lecture 18 Implementation Methods

Page 3: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

The Design Productivity Challenge

Source: sematech97 A growing gap between design complexity and design productivity

1981

Logic Transistors per Chip (K) Produc

1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009

58%/Yr. compoundComplexity growth rate

21%/Yr. compoundProductivity growth rate

1981

10Logi

c Tr

ansi

stor

s pe

r Chi

p (K

)

Pro

duct

ivity

(Tra

ns./S

taff-

Mon

th)

100

1,000

10,000

100,000

1,000,000

10,000,000

1

X XX X

X

X

x100

1,000

10,000

100,000

1,000,000

10,000,000

100,000,000

10

2.5m

.35m

.10m

1983

1985

1987

1989

1991

1993

1995

1997

1999

2001

2003

2005

2007

2009

Transistor/Staff Month

Logic Transistors/Chip

Page 4: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

A Simple Processor

MEMORY

DATAPATH

CONTROL

INPUT-OUTPUT

INP

UT/

OU

TPU

T

Page 5: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Simple Processor (Cont’d) Datapath

•All computations are performed •Combinational & Arithmetic operations

Control Module •Sequential circuit •FSM

Memory module •Data storage

Interconnect • Integrating the whole system

I/O circuitry •Connects to outside world

Page 6: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

A System-on-a-Chip: Example

Courtesy: Philips

Page 7: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Implementation Approach

Flexibility (Programmable design) •Reuse of single design for multiple applications •Upgrade in the field

Hard-wired •Totally fixed at the manufacturing time

Flexibility comes at the cost of higher energy dissipation

Page 8: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Impact of Implementation Choices En

ergy

Effi

cien

cy (i

n M

OPS

/mW

)

Flexibility (or application scope)

0.1-1

1-10

10-100

100-1000

None Fully flexible

Somewhat flexible

Har

dwire

d cu

stom

Con

figur

able

/Par

amet

eriz

able

Dom

ain-

spec

ific

proc

esso

r (e

.g. D

SP)

Embe

dded

mic

ropr

oces

sor

Page 9: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Implementation Choices

Custom

Standard Cells Compiled Cells Ma cro Cells

Cell-based

Pre-diffused (Gate Arrays)

Pre-wired (FPGA's)

Array-based

Semicustom

Digital Circuit Implementation Approaches

Page 10: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Custom Circuit Design

Performance or Design density is of prime importance

•Long time to market Can be justified in limited situations

•Custom block can be reused many time (e.g. memory blocks) •Cost can be amortized over large volumes

Design automation •Very critical components are designed manually

Page 11: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

The Custom Approach

Intel 4004

Courtesy Intel

Page 12: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Transition to Automation and Regular Structures

Intel 4004 (‘71) Intel 8080 Intel 8085

Intel 8286 Intel 8486 Courtesy Intel

Page 13: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Cell-based Design Standardizes the design entry level at the logic gate Library of logic gates

•Inverter, AND/NAND, OR/NOR, Flip-flops •More complex functions, AOI…..

Design generation •Schematic using the cells •Higher level description language (VHDL, Verilog)

All cells have identical heights Widths of the cells may vary Standard cell design can be combined with other layout methodologies

Page 14: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Cell-based Design (or standard cells)

Routing channel requirements are reduced by presence of more interconnect Layers Feed Through cells – Connect between cells in different rows without having to route around a complete row

Functionalmodule(RAM,multiplier, …)

Routingchannel

Logic cellFeedthrough cell

Row

s of

cel

ls

Page 15: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Standard Cell — Example

[Brodersen92]

Page 16: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Standard Cell – The New Generation

Cell-structure hidden under interconnect layers

Page 17: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Standard Cell - Example

3-input NAND cell (from ST Microelectronics): C = Load capacitance T = input rise/fall time

Page 18: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Macrocells

Complex blocks than random logic functions (Multipliers, DSPs …) Complex cells – Macro cells

Macro cells

Hard Macro

Soft Macro

Page 19: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Hard & Soft Macro

Hard Macro - Design of a logic function on a chip that specifies how the required logic elements are interconnected and specifies the physical pathways and wiring patterns between the components. Soft Macro - Design of a logic function on a chip that specifies how the required logic elements are interconnected,but not the physical wiring pattern.

Page 20: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Hard MacroModules

256×32 (or 8192 bit) SRAM Generated by hard-macro module generator

Page 21: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

“Soft” MacroModules

Synopsys DesignCompiler

Page 22: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

“Intellectual Property”

A Protocol Processor for Wireless

Page 23: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Semicustom Design Flow

HDL

Logic Synthesis

Floorplanning

Placement

Routing

Tape-out

Circuit Extraction

Pre-Layout Simulation

Post-Layout Simulation

Structural

Physical

Behavioral Design Capture

Des

ign

Itera

tion

Page 24: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

The “Design Closure” Problem

Courtesy Synopsys

Iterative Removal of Timing Violations (white lines)

Page 25: EE 466/586 VLSI Design - WSU · 2017. 8. 23. · VLSI Design Partha Pande School of EECS . Washington State University . pande@eecs.wsu.edu . Lecture 18 . Implementation Methods

Integrating Synthesis with Physical Design

Physical Synthesis

RTL (Timing) Constraints

Place-and-Route Optimization

Artwork

Netlist with Place-and-Route Info

Macromodules Fixed netlists