Date post: | 14-Dec-2015 |
Category: |
Documents |
Upload: | caleb-crymes |
View: | 218 times |
Download: | 2 times |
© 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 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 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 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 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