+ All Categories
Home > Documents > © 2000 M. CiesielskiDatapath Synthesis1 ANALYTICAL APPROACH TO CUSTOM DATAPATH SYNTHESIS Serkan...

© 2000 M. CiesielskiDatapath Synthesis1 ANALYTICAL APPROACH TO CUSTOM DATAPATH SYNTHESIS Serkan...

Date post: 14-Dec-2015
Category:
Upload: caleb-crymes
View: 218 times
Download: 2 times
Share this document with a friend
Popular Tags:
44
© 2000 M. Ciesielski Datapath Synthesis 1 ANALYTICAL APPROACH TO ANALYTICAL APPROACH TO CUSTOM DATAPATH SYNTHESIS CUSTOM DATAPATH SYNTHESIS Serkan Askar, Maciej Ciesielski Department of Electrical & Computer Engineering University of Massachusetts, Amherst {saskar, ciesiel}@ecs.umass.edu
Transcript

© 2000 M. Ciesielski Datapath Synthesis 1

ANALYTICAL APPROACH TO ANALYTICAL APPROACH TO CUSTOM DATAPATH SYNTHESISCUSTOM DATAPATH SYNTHESIS

Serkan Askar, Maciej CiesielskiDepartment of Electrical & Computer Engineering

University of Massachusetts, Amherst{saskar, ciesiel}@ecs.umass.edu

© 2000 M. Ciesielski Datapath Synthesis 2

OutlineOutline

• Introduction

• Problem definition

• Approach, design phases

• Analytical formulation (MILP)

• Results

• Conclusions and future work

© 2000 M. Ciesielski Datapath Synthesis 3

MotivationMotivation

• Datapath: highly regular structure– array of bit/row slices– rows: identical cells – hand-crafted layout

Datapath cell

power rails

• Limitations of custom design– ability of the designer– slow development time

© 2000 M. Ciesielski Datapath Synthesis 4

Typical Datapath Cell - schematicTypical Datapath Cell - schematic

• General topoloy generated by floorplanning– power rails – bristles

• Fixed width (pitch)

© 2000 M. Ciesielski Datapath Synthesis 5

Datapath Cell Datapath Cell - layout- layout

© 2000 M. Ciesielski Datapath Synthesis 6

Problem DefinitionProblem Definition• Automation of transistor level placement

– diffusion-limited, routing ignored (to certain degree)

• Goal:– minimize layout area, size– improve manufacturability, routability

• Constraints– bit-slice constraints– component constraints– custom design issues fixed

© 2000 M. Ciesielski Datapath Synthesis 7

Previous WorkPrevious Work

• Very little work on custom quality datapath synthesis

• Stochastic methods– simulated annealing– genetic algorithms

• Deterministic methods– analytical (QP, ILP, etc)– constructive methods

© 2000 M. Ciesielski Datapath Synthesis 8

Bit-slice ConstraintsBit-slice Constraints

• Fixed width (pitch)– power rails

• Vertical bristles– data lines

• Horizontal bristles – control lines

control lines

pitch

VDD GND

data lines

© 2000 M. Ciesielski Datapath Synthesis 9

Component TypesComponent Types

• Transistors, logic gates• Transistor chains, folded transistors

© 2000 M. Ciesielski Datapath Synthesis 10

Component GeometriesComponent Geometries

Rectangular L-shape

© 2000 M. Ciesielski Datapath Synthesis 11

Custom Design IssuesCustom Design Issues

• Multiple instances– chaining, folding

• Merging (same diffusion type, sharing common net)

– diffusion sharing (same cell)

© 2000 M. Ciesielski Datapath Synthesis 12

Custom Design Issues (cont’d)Custom Design Issues (cont’d)

• Component sharing– combine components from adjacent cells

with common independent netVDD VDDGND

cell i cell i+1

© 2000 M. Ciesielski Datapath Synthesis 13

Design ObjectiveDesign Objective

• Secondary objectives:– performance– routability– well minimization

• Main objective:– minimize height of

datapath cell

fixed

min

© 2000 M. Ciesielski Datapath Synthesis 14

Post-processing

Connectivity - no geometry info

Geometry - no connectivity info

Managing complexity

Design FlowDesign Flow

Initial relative placement

Component grouping

Geometric placement

Final layout

Well minimization

Net length minimization

Pre-processing

Input files

© 2000 M. Ciesielski Datapath Synthesis 15

Pre-processingPre-processing

• Connectivity analysis

• Initial component merging (to minimize number

of objects to place)

© 2000 M. Ciesielski Datapath Synthesis 16

Initial Relative PlacementInitial Relative Placement

• Derive a relative initial placement

– connectivity to components

and bristles

– geometry is ignored

• Standard force-directed

technique

– component locations:

centers of net gravity

© 2000 M. Ciesielski Datapath Synthesis 17

Initial Relative PlacementInitial Relative Placement• Generates relative placement of components

based on electrical connectivity

© 2000 M. Ciesielski Datapath Synthesis 18

Component GroupingComponent Grouping

• Limit the number of relations between components by grouping them together for placement

• before grouping

– 6 relations

• after grouping– 3 relations

© 2000 M. Ciesielski Datapath Synthesis 19

Geometric PlacementGeometric Placement

• Generate non-overlapping placement– component geometry – design rules– fixed connectivity (initial relative placement)

• Model: Mixed Integer Linear Program (MILP)

© 2000 M. Ciesielski Datapath Synthesis 20

Component ModelingComponent Modeling

• Component modeled as a pair of squares Ri = orientation parameter

Xi2, Yi2

Xi1, Yi1

Xi1, Yi1

Ri = 1 Ri = 0

Xi1 - Xi2 = (Di - di) * (1- Ri)

Yi1 - Yi2 = (Di - di) * Ri

di = min (Wi, Hi)

Di = max (Wi, Hi) where

© 2000 M. Ciesielski Datapath Synthesis 21

Geometric OrientationGeometric Orientation • Ri = orientation parameterX , Y

Ri = 1

Xdim

Ydim

Xdim – perpendicular to polyYdim – along poly gate

Wi

Hi

X , YRi = 0

Xd

im

Ydim

Wi = Xdimi • Ri + Ydim (1- Ri)

Hi = Ydimi • Ri + Xdim (1- Ri)

© 2000 M. Ciesielski Datapath Synthesis 22

Modeling of L-shape ComponentsModeling of L-shape Components

• Modeled as a pair of abutting rectangles

H2

W1

W2

H1

Pi = Pj = 1

W1

H1

H2W2

Pi = Pj = 0

X2 – X1 = W2 • P - (H1 – H2) • (1- P)

Y2 – Y1 = W2 • (1 - P) - (H1- H2) • PP = P1 = P2

© 2000 M. Ciesielski Datapath Synthesis 23

Selection of Component InstancesSelection of Component Instances

• Selection parameter, Si (k = 2 instances)

• Easy extension to arbitrary k.

Si = 0 Si = 1

© 2000 M. Ciesielski Datapath Synthesis 24

Boundary ConstraintsBoundary Constraints

bi < 0 for sharable components

bi > 0 for others

bi bi

Margin:

Xi – Wi > bi

Xi < X0 – bi

Yi – Hi > bi

Yi < Y0 – bi

For each component i

Recall: Wi, Hi = f(Ri)

© 2000 M. Ciesielski Datapath Synthesis 25

Non-overlapping ConstraintsNon-overlapping Constraints

i

Qij = 0

j

Qij = 1j

• Binary variable Qij = 0 (vert), = 1 (horiz)

Xj - Xi >= DimXj - L * (1 - Qij) + sep

Yj - Yi >= DimYj - L * Qij + sep

© 2000 M. Ciesielski Datapath Synthesis 26

Optimization Problem (MILP)Optimization Problem (MILP)

• Minimize – the cell height, Y0

• Subject to – boundary constraints– non-overlapping constraints– component shape constraints– component selection constraints

fixed

Y0

© 2000 M. Ciesielski Datapath Synthesis 27

Sample FlowSample Flow

© 2000 M. Ciesielski Datapath Synthesis 28

Final layoutFinal layout

© 2000 M. Ciesielski Datapath Synthesis 29

MILP: Complexity IssuesMILP: Complexity Issues

• Reduce number of placeable components and variables– merging (pre-processing)

• Reduce number of integer variables– component grouping

QAB

Group A Group B

Qxy = QAB

for x A and y B

© 2000 M. Ciesielski Datapath Synthesis 30

Results - routed layoutsResults - routed layouts

0

20

40

60

80

100

120

140

160

Custom DesignOur Approach

PG9 PB7 CS15 MU9

Cel

l h

eig

ht

© 2000 M. Ciesielski Datapath Synthesis 31

Conclusion & Future WorkConclusion & Future Work

• Automation of datapath layout– fast – within acceptable area overhead (5 - 10%)

• Post-processing • Iterative improvement• Hierarchical placement• Grouping algorithm

© 2000 M. Ciesielski Datapath Synthesis 32

Post-processingPost-processing

• Improve the result of geometric placement

• Well minimization: improve manufacturability• Mirroring along both axes• Efficient MILP model and formulation

• Net length minimization: simplify routing• Mirroring along both axes• Constrained optimization problem• Simple but effective MILP model and formulation

© 2000 M. Ciesielski Datapath Synthesis 33

Post-processingPost-processing

– Net length minimization• Mirroring• Swapping• Moving

– Well minimization• Mirroring

– Layout compaction

© 2000 M. Ciesielski Datapath Synthesis 34

Well minimization – Well minimization – ModelModel

© 2000 M. Ciesielski Datapath Synthesis 35

Well minimization – Well minimization – overlap weightsoverlap weights

• Mirroring affects the overlap weights

© 2000 M. Ciesielski Datapath Synthesis 36

Well minimization – Well minimization – FormulationFormulation

• Objective:

Max Zij

• subject to

Zij = (1 - mi - mj + mij) vij0 +

(mi - mij) vij1 +

(mj - mij) vij2 +

mij vij3

where

mi = 1 if i is mirrored

0 otherwise

(i,j)

mij = mi AND mj

mij <= mi

mij <= mj

mij mi + mj - 1

© 2000 M. Ciesielski Datapath Synthesis 37

Well minimizationWell minimization – Example – Example

© 2000 M. Ciesielski Datapath Synthesis 38

Net length minimization - Net length minimization - ApproachApproach

• Net length model– Half perimeter of the bounding box of the net

scope (pins)

• Minimize the weighted sum of net length

© 2000 M. Ciesielski Datapath Synthesis 39

Net length minimizationNet length minimization - Modeling - Modeling

• Mirroring effects the pin location

© 2000 M. Ciesielski Datapath Synthesis 40

Net length minimization - Net length minimization - FormulationFormulation

• Objective:

Min Li

• subject to

Xpj = Xcq - (1 - Mxq - Myq + Mxyq) dx +

(Mxq – Mxyq) dx -

(Myq – Mxyq) dx +

Mxyq dx

where: j Pins, q Comps, Mxy = Mx AND My

Xcq = center coordinate of component q

i Nets

© 2000 M. Ciesielski Datapath Synthesis 41

Net length minimization – Net length minimization – ExampleExample

© 2000 M. Ciesielski Datapath Synthesis 42

Results - interval overlapsResults - interval overlaps

0

200400

600

8001000

1200

14001600

1800

2000

OriginalPost-processing

Inte

rval

ove

rlap

PG9 PB7 CS15 MU9 CMU8 2X

© 2000 M. Ciesielski Datapath Synthesis 43

Results - net lengthResults - net length

0

10000

20000

30000

40000

50000

60000

70000

80000

OriginalPost-processing

PG9 PB7 CS15 MU9

Net

len

gth

CMU8 2X

© 2000 M. Ciesielski Datapath Synthesis 44

Conclusions & Future WorkConclusions & Future Work• Automation of datapath layout

– fast within acceptable area overhead • Improvement

– routability, manufacturability

– delay, area

• Component swapping• Global routing phase after post-processing • Iterative group relaxation• Efficient algorithms for grouping


Recommended