19
2/29/2016 1 CE439 – CAD Algorithms for Physical Design - Introduction Christos P Sotiriou 29/2/2016 CE439 - CAD Algorithms II 1 Contents TCL Library and C API https://www.tcl.tk / https://www.tcl.tk/man/tcl8.5/TclLib/contents.htm GNU Readline API http://www.gnu.org/software/readline/ 29/2/2016 CE439 - CAD Algorithms II 2

CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

1

CE439 – CAD Algorithms for

Physical Design - Introduction

Christos P Sotiriou

29/2/2016CE439 - CAD Algorithms II1

Contents

TCL Library and C API

https://www.tcl.tk/

https://www.tcl.tk/man/tcl8.5/TclLib/contents.htm

GNU Readline API

http://www.gnu.org/software/readline/

29/2/2016CE439 - CAD Algorithms II2

Page 2: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

2

Recommended Texts

Recommended books

S. K. Lim, Practical Problems in VLSI Physical Design Automation,

Springer, 2008

C. J. Alpert, D. P. Mehta, S. S. Sapatnekar, Handbook of Algorithms

for Physical Design Automation, Auerbach Publications, 2008

S. M. Sait and H. Youssef, VLSI Physical Design Automation: Theory

and Practice, World Scientific, 1999.

Algorithm book

T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein Introduction to

Algorithms, MIT Press, 2009 (3rd edition)

Selected papers from the literature.

29/2/2016CE439 - CAD Algorithms II3

Physical Design Problems to Algorithms

Identify Problem Formulation into an Algorithm

CAD Algorithms Physical Design Stages

Graph algorithms Partition

Graph algorithms

Combinatorial Algorithms

Mathematical programming

(QP, LP)

Placement

Shortest path

Mathematical programming

(LP)

Greedy algorithms

Static Timing Analysis

Routing

Graph Algorithms

Combinatorial Algorithms

Legalization

29/2/2016CE439 - CAD Algorithms II4

Page 3: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

3

Physical Design Structure

Devices

Transistors

Logic gates and cells

Function blocks

Interconnects

Local signals

Global signals

Clock signals

Power/ground nets

Pad Metal1 Via Metal2

I/O

Data Path

ROM/

RAM

PLA

A/D ConverterRandom

logic

29/2/2016CE439 - CAD Algorithms II5

Physical Design Cycle

Large number of devices

Optimization requirements for high performance

Time-to-market competition

Power (and other) constraints

System

SpecificationChip

Manual

Automation

Large number of devices

Optimization requirements for high performance

Time-to-market competition

Power (and other) constraints

29/2/2016CE439 - CAD Algorithms II6

Page 4: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

4

Design Cycle – 1

System Specification

Functional Design

Logic Design

Circuit Design

X=(AB*CD)+(A+D)+(A(B+C))

Y=(A(B+C))+AC+D+A(BC+D))

29/2/2016CE439 - CAD Algorithms II7

Design Cycle - 2

Physical Design

Fabrication

Packaging

29/2/2016CE439 - CAD Algorithms II8

Page 5: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

5

Physical Design Steps

Design Steps in More Detail

Partitioning/Clustering

Floorplanning

I/O Pin Assignnent

Placement

Clock Tree Synthesis

Global Routing

Detail Routing

29/2/2016CE439 - CAD Algorithms II9

Physical Design Steps

Design Steps:Partition & ClusteringFloorplan & Placement

clk

clkclk

a

a

aPin AssignmentGlobal RoutingGlobal RoutingDetailed Routing

Methodology:Divide-and-Conquer

29/2/2016CE439 - CAD Algorithms II10

Page 6: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

6

Physical Design Steps

29/2/2016CE439 - CAD Algorithms II11

Complexities of Physical Design

More than 100 million transistors

Performance driven designs

Power-constrained designs

Time-to-Market

PPA (Power-Performance-Area) is key metric

29/2/2016CE439 - CAD Algorithms II12

Page 7: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

7

Why is Physical Design Important?

Many existing solutions are still very suboptimal

E.g., placement

Interconnect dominates

No physical layout, no accurate interconnect

More new physical and manufacturing effects pop up

Crosstalk noise, …

OPC (manufacturability), etc.

More vertical integration needed

Physical design is the KEY linking step between higher

level planning/optimization and lower level modeling

29/2/2016CE439 - CAD Algorithms II13

Technology Trends and Challenges

Interconnect determines the overall performance

In addition: noise, power => Design closure

Furthermore: manufacturability => Manufacturing closure

Source:

ITRS

29/2/2016CE439 - CAD Algorithms II14

Page 8: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

8

The Placement Problem

Placement, to large extend, determines the overall

interconnect

If it sucks, no matter how well you interconnect

optimization engine works, the design will suck

Placement is a very old problem, but got renewed interest

Mixed-size (large macro blocks and small standard cells)

Optimality study shows that placement still a bottleneck

Not even to mention performance driven, and coupled with

buffering, interconnect optimizations, and so on (all you name)

29/2/2016CE439 - CAD Algorithms II15

Comparison with Optimal Solution

Capo: Based on recursive min-cut (UCLA-UMich)

Dragon: Recursive min-cut + SA refinement at each level (NWU-UCLA)

mPL: multi-level placer (UCLA)

There is significant room for improvement in placement algorithms: existing algorithms are 50-150% away from optimal!

0.00

0.50

1.00

1.50

2.00

2.50

3.00

0 50000 100000 150000 200000 250000

#cells

Mu

ltip

le o

f O

pti

mal

dragon capo mPL

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

0 50000 100000 150000 200000 250000

#cells

ru

nti

me(s

)

dragon capo mPL

29/2/2016CE439 - CAD Algorithms II16

Page 9: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

9

Optical Proximity Correction (OPC)

29/2/2016CE439 - CAD Algorithms II17

OPC-Aware Routing

More OPC friendly

29/2/2016CE439 - CAD Algorithms II18

Page 10: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

10

Basic Design Rules

1. Size Rules

2. Separation Rules

3. Overlap Rules

Diffusion Region Width Polysilicon Region Width Diffusion-Diffusion Spacing Poly-Poly Spacing Polysilicon Gate Extension Contact Extension Metal Width

2

2

3

2

2

3

29/2/2016CE439 - CAD Algorithms II19

Size, Separation and Overlap Rules

Incorrectly and

Correctly Formed ChannelsDiffusion

Short

Poly

Incorrectly formed

Channel

Correctly formed

Metal

Diffusion Poly Overlap Rules for

Contact Cuts

29/2/2016CE439 - CAD Algorithms II20

Page 11: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

11

Layout of Basic Devices

CMOS Inverter

29/2/2016CE439 - CAD Algorithms II21

CMOS NAND Gate

29/2/2016CE439 - CAD Algorithms II22

Page 12: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

12

CMOS NOR Gates

29/2/2016CE439 - CAD Algorithms II23

Additional Fabrication Issues

Scaling

Parasitic Effects

Yield Statistics and Fabrication Costs

Delay Computation

Noise and Crosstalk

Power Dissipation

29/2/2016CE439 - CAD Algorithms II24

Page 13: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

13

Design Styles

Complexity of

VLSI circuits

Full custom

Performance Size Cost Market time

Standard Cell Gate Array FPGA

Different design styles

Cost, Flexibility, Performance

29/2/2016CE439 - CAD Algorithms II25

Full Custom Design Style

Pad Metal Via Metal 2

I/OData Path

ROM/RAM

PLA

A/D ConverterRandom logic

29/2/2016CE439 - CAD Algorithms II26

Page 14: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

14

Standard Cell Design Style

VDDMetal 1

CellMetal 2

FeedthroughGND

D C C B

A C C

D C D B

C C C B

Cell A

Cell C

Cell B

Cell DFeedthrough cell

29/2/2016CE439 - CAD Algorithms II27

Gate Array Design Style

Structured ASICs (hot topics nowadays) are essentially gate array

A

B

C

A

B

C

29/2/2016CE439 - CAD Algorithms II28

Page 15: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

15

FPGA Design Style

29/2/2016CE439 - CAD Algorithms II29

Design Styles Comparison

full-custom standard cell gate array FPGA

cell size variable fixed height * fixed fixed

cell type variable variable fixed programmable

cell placement variable in row fixed fixed

interconnections variable variable variable programmable

Area

Performance

Fabrication

layers

style

full-custom standard cell gate array FPGA

compact

high

compact

to moderatemoderate large

high

to moderatemoderate low

ALL ALL routing

layersnone

style

29/2/2016CE439 - CAD Algorithms II30

Page 16: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

16

History of Physical Design Tools

Year Design Tools

1950 - 1965 1965 - 1975 1975 - 1985 1985 – 1995 1995 – 2002 2002 - present

Manual Design

Layout editors Automatic routers( for PCB) Efficient partitioning algorithm Automatic placement tools Well Defined phases of design of circuits Significant theoretical development in all phases Performance driven placement and routing tools Parallel algorithms for physical design Significant development in underlying graph theory Combinatorial optimization problems for layout Interconnect layout optimization, Interconnect-centric design, physical-logical codesign Physical synthesis with more vertical integration for design closure (timing, noise, power, P/G/clock, manufacturability)

29/2/2016CE439 - CAD Algorithms II31

Algorithms

To put devices/interconnects together into VLSI chips

Fundamental questions: How do you do it smartly?

Definition of algorithm in a board sense: A step-by-step

procedure for solving a problem. Examples:

Cooking a dish

Making a phone call

Sorting a hand of cards

Definition for computational problem: A well-defined

computational procedure that takes some value as input

and produces some value as output

29/2/2016CE439 - CAD Algorithms II32

Page 17: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

17

Some Algorithm Design Techniques

Greedy

Divide and Conquer

Dynamic Programming

Network Flow

Mathematical Programming (e.g., linear programming,

integer linear programming)

29/2/2016CE439 - CAD Algorithms II33

Algorithm Analysis

There can be many different algorithms to solve the same

problem.

Need some way to compare 2 algorithms.

Usually run time is the most important criterion used

Space (memory) usage is of less concern now

However, difficult to compare since algorithms may be

implemented in different machines, use different

languages, etc.

Also, run time is input-dependent. Which input to use?

Big-O notation is widely used for asymptotic analysis

Ninf

29/2/2016CE439 - CAD Algorithms II34

Page 18: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

18

Big-O Notation

Consider run time for the worst input upper bound on run time.

Express run time as a function input size n.

Interested in the run time for large inputs.

Therefore, interested in the growth rate.

Ignore multiplicative constant.

Ignore lower order terms.

3n2+6n+2.7 is O(n2).

n1.1+10000000000n is O(n1.1).

n1.1 is also O(n2), but to be more precise, it is O(n1.1)

29/2/2016CE439 - CAD Algorithms II35

Growth Rates of Some Functions

n

nnn

nn

ncc

nOnO

OOO

OnO

cOnO

nOnO

nOnOnnOnnO

nOnOnOnO

!

432

2

constant any for 2

loglog

loglog

2loglog

log

43

25.12

2

Exponential

Functio

ns

Polyn

om

ialFunctio

ns

29/2/2016CE439 - CAD Algorithms II36

Page 19: CE439 CAD Algorithms for Physical Design - Introduction · 2018. 3. 15. · S. K. Lim, Practical Problems in VLSI Physical Design Automation, ... Static Timing Analysis Routing Graph

2/29/2016

19

NP-Complete Problems

The class NP-Complete is the set of problems which we

believe there is no polynomial time algorithms.

Therefore, it is a class of hard problems.

NP-Hard is another class of problems containing the class

NP-Complete.

If we know a problem is in NP-Complete or NP-Hard,

there is no hope to solve it efficiently.

29/2/2016CE439 - CAD Algorithms II37

Algorithm Solution Types

Polynomial time algorithms

Exponential time algorithms

Special case algorithms

Approximate algorithms

Heuristic algorithms

29/2/2016CE439 - CAD Algorithms II38