Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design...

39
Global Routing

Transcript of Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design...

Page 1: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

Global Routing

Page 2: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

ENTITY test isport a: in bit;

end ENTITY test;

DRCLVS

ERC

Circuit Design

Functional Designand Logic Design

Physical Design

Physical Verificationand Signoff

Fabrication

SystemSpecification

ArchitecturalDesign

Chip

Packaging and Testing

Chip Planning

Placement

Signal Routing

Partitioning

Timing Closure

Clock Tree Synthesis

2

Page 3: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

3

Problem Definition• Input:

Netlist Locations of blocks and locations of pins Technology information Timing budget for, typically, critical nets

• Output: Geometric layouts of all nets

• Objectives: Minimize the total wire length # of vias or just completing all connections without increasing the chip area

• Constraints: Design rules Routing resource capacities Timing budget of each net

Page 4: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

Types of Routing Problems

• Fixed-die routing: Chip outline and routing resources are fixed.

• Variable-die routing: New routing tracks can be added as needed.

4

Page 5: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

5

General Routing Problem

Two phases:

Global Routing Detailed Routing

Page 6: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

6

Timing-Driven Routing

GlobalRouting

DetailedRouting

Large Single- Net Routing

Coarse-grain assignment of routes to routing regions

Fine-grain assignment of routes to routing tracks

considering critical nets

Power & Ground routing

Routing

Geometric Techniques

clock routing

Introduction

Multi-Stage Routing of Signal Nets

Page 7: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

8

Routing is Hard

• Minimum Steiner Tree Problem: Given a net, find the steiner tree with minimum

length.

• Challenges:NP-Complete! May need to route millions of nets simultaneously

without overlapping Obstacles may exist in the routing region.

Page 8: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

Formal Problem Definition

• For delay consideration:Minimize diameter of net

9

10

10

10

5 510

5 5

D= 30

L= 30

D = 20

L= 30

Page 9: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

10

Formal Problem Definition

D = 6

L = 7

D= 6

L = 6

2

2

11

1

2

2

1

1

Page 10: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

11

Global Routing

Global routing is divided into 3 phases:

1. Region definition

2. Region assignment

3. Pin assignment to routing regions

Page 11: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

12

Region Definition

Page 12: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

13

Region Assignment (Global Routing)

Cell

Cell

Cell

Cell

1

1

1

2

2

Page 13: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

14

Cell

Cell

Cell

Cell

1

1

1

2

2

Pin Assignment

Assign pins on routing region boundaries for each net. - Prepare for the detailed routing of each routing

region.

Page 14: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

15

Detailed Routing

The actual wires are routed in the channel

• Goal: Produce the shortest wires and consume the least

amount of space

Cell

Cell

Cell

Cell

1

1

1

2

2

Page 15: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

16

Region Definition

Divide the routing area into routing regions of simple shape (rectangular):

• Channel: Pins on 2 opposite sides.• 2-D Switchbox: Pins on 4 sides.• 3-D Switchbox: Pins on all 6 sides.

Switchbox

Channel

Page 16: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

17

Detailed Routing Types

• There are different detailed routers for different regions

Switchbox router where therectangle has pins on all foursides.

Channel Router

Page 17: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

18

2D and 3D Switchboxes

Metal5

Bottom pin connectionon 3D switchbox

3D switchbox

2D switchbox

Pin on channel boundary

Top pin connection on cell

Horizontalchannel

Metal4

Metal3

Metal2

Metal1

Vertical channel

Routing Regions

Page 18: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

19

Routing Regions inDifferent Design Styles

Gate-Array Standard-Cell Full-Custom

Feedthrough Cell

Page 19: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

20

Standard cell layout (Two-layer routing)

Channel in Standard Cell Style

Page 20: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

21

Gcells (Tiles) with macro cell layout

Metal1

Metal2

Metal3

Metal4 etc.

Routing Regions

Page 21: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

22

Metal1(Standard cells)

Metal3

Metal4 etc.

Routing Regions

Gcells (Tiles) with standard cells

Metal2(Cell ports)

Page 22: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

23

Metal1(Back-to-back-standard cells)

Metal2(Cell ports)

Metal3

Metal4 etc.

Routing Regions

Gcells (Tiles) with standard cells (back-to-back)

Page 23: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

24

Routing in Different Design StylesFull-custom design

B

FA

C

D

E

H

V

H

A B

F

D H

V

C E

1

2

3

4

55

B

FA

C

D

E1 23

4

(2 )Channel ordering

B

FA

C

D

E

(1 )Types of channels

Layout is dominated by macro cells and routing regions are non-uniform

5

4

321

Page 24: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

25

Routing in Different Design StylesStandard-cell design

A

A

A

A

A

Feedthroughcells

If number of metal layers is limited, feedthrough cells must be used to route across multiple cell rows

Variable-die,standard cell design:

Total height = ΣCell row heights + All channel heights

Page 25: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

26

Routing in Different Design Styles

Standard-cell design

Steiner tree solution with minimal wirelength

Steiner tree solution withfewest feedthrough cells

Page 26: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

27

Page 27: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

28

Page 28: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

29

Switchbox Routed

Page 29: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

30

Routing in Different Design Styles

Gate-array design

Availabletracks

Unrouted net

Cell sizes and sizes of routing regions between cells are fixed

Key Task:

- Find a routable solution

Page 30: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

31

Graph Modeling ofRouting Regions

• Routing context is captured using a graph, where Nodes:

− Routing regions Edges:

− Adjoining regions

Capacities:

− can be associated with both edges and nodes

Page 31: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

32

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

Grid graph model

ggrid = (V,E), where the nodes v V represent the routing grid cells (gcells) and the edges represent connections of grid cell pairs (vi,vj)

Representations of Routing Regions

Page 32: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

33

1 2 3

4

5

6

7

8

9 1 2 3

4

5

6

7

8

9

Channel connectivity graph

G = (V,E), where the nodes v V represent channels, and the edges E represent adjacencies of the channels

Representations of Routing Regions

Page 33: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

34

1

2

3

4

5

6

7

8

9

10

11

12

13

14

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Switchbox connectivity (channel intersection) graph

G = (V, E), where the nodes v V represent switchboxes and an edge exists between two nodes if the corresponding switchboxes are on opposite sides of the same channel

Representations of Routing Regions

Page 34: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

35

Formal Problem Definition

Page 35: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

36

• Two-layer routing:

• Multilayer routing:

Layerslayer pitch layerd

hLayersσ

)()(

A A

B B

B

B B

BC

C

DC

CD

dpitchh

Horizontal Routing Channel

Channel Capacity• Capacity:

• Number of available routing tracks or columns

)()(

layerd

hlayer

pitch

dpitch = s + w

ws

Page 36: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

37

Channel Capacity

pitchd

hl l: number of layers in a direction

dpitch: size of largest pitch

1433

422

Capacity

42

• In practice:• Grid lines are the same for all layers

Example:

two horizontal layers

minimum wire width = 3

minimum wire spacing = 3

Page 37: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

38

Pitch Size Models

Page 38: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

39

Routing in Different Design Styles

Page 39: Global Routing. ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical.

40

Global Router

• Typical algorithm steps: Creating global router mesh Reading nets and pins Finding global and local

nets Routing nets

− Length of nets− Capacity of edges− (Noise of nets)

Introduction

ATLAS Basics

ATLAS Plug-in

ATLAS UIs

AtlasDB

ATLAS Engines