entity test is port a: in bit; end entity test;
DESCRIPTION
System Specification. Partitioning. Architectural Design. ENTITY test is port a: in bit; end ENTITY test;. Functional Design and Logic Design. Chip Planning. Placement. Circuit Design. Physical Design. Clock Tree Synthesis. Physical Verification and Signoff. DRC LVS ERC. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/1.jpg)
1
ENTITY test isport a: in bit;end ENTITY test;
DRCLVSERC
Circuit Design
Functional Designand Logic Design
Physical Design
Physical Verificationand Signoff
Fabrication
System Specification
Architectural Design
Chip
Packaging and Testing
Chip Planning
Placement
Signal Routing
Partitioning
Timing Closure
Clock Tree Synthesis
![Page 2: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/2.jpg)
2
Introduction to Floorplanning
Optimization Goals in Floorplanning
Floorplan Representations
Floorplanning Algorithms
Floorplan Sizing
Outline
![Page 3: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/3.jpg)
3
GND VDD
Module e
I/O Pads
Block Pins
Block a
Blockb
Block d
Block e
Floorplan
Module d
Module c
Module b
Module a
Chip Planning
Block c
Supply Network
![Page 4: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/4.jpg)
![Page 5: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/5.jpg)
![Page 6: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/6.jpg)
6
ExampleGiven: Three blocks with the following potential widths and heights Block A: w = 1, h = 4 or w = 4, h = 1 or w = 2, h = 2Block B: w = 1, h = 2 or w = 2, h = 1 Block C: w = 1, h = 3 or w = 3, h = 1
Task: Floorplan with minimum total area enclosed
A
A
A
B
BC
C
![Page 7: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/7.jpg)
7
ExampleGiven: Three blocks with the following potential widths and heights Block A: w = 1, h = 4 or w = 4, h = 1 or w = 2, h = 2Block B: w = 1, h = 2 or w = 2, h = 1 Block C: w = 1, h = 3 or w = 3, h = 1
Task: Floorplan with minimum total area enclosed
![Page 8: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/8.jpg)
8
Solution:Aspect ratiosBlock A with w = 2, h = 2; Block B with w = 2, h = 1; Block C with w = 1, h = 3
This floorplan has a global bounding box with minimum possible area (9 square units).
ExampleGiven: Three blocks with the following potential widths and heights Block A: w = 1, h = 4 or w = 4, h = 1 or w = 2, h = 2Block B: w = 1, h = 2 or w = 2, h = 1 Block C: w = 1, h = 3 or w = 3, h = 1
Task: Floorplan with minimum total area enclosed
![Page 9: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/9.jpg)
9
• Area and shape of the global bounding box– Global bounding box of a floorplan is the minimum axis-
aligned rectangle that contains all floorplan blocks.
– Area of the global bounding box represents the area of the top-level floorplan
– Minimizing the area involves finding (x,y) locations, as well as shapes,of the individual blocks.
• Total wire length– Long connections between blocks may increase signal
propagation delays in the design.
![Page 10: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/10.jpg)
10
• Combination of area area(F) and total wire length L(F) of floorplan F– Minimize α ∙ area(F) + (1 – α) ∙ L(F)
where the parameter 0 ≤ α ≤ 1 gives the relative importance between area(F) and L(F)
• Signal delays– Static timing analysis is used to identify the interconnects
that lie on critical paths.
![Page 11: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/11.jpg)
11
• A rectangular dissection is a division of the chip area into a set of blocks or non-overlapping rectangles.
• A slicing floorplan is a rectangular dissection – Obtained by repeatedly dividing each rectangle, starting with
the entire chip area, into two smaller rectangles – Horizontal or vertical cut line.
• A slicing tree or slicing floorplan tree is a binary tree with k leaves and k – 1 internal nodes– Each leaf represents a block – Each internal node represents a horizontal or vertical cut line.
![Page 12: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/12.jpg)
12
Slicing floorplan and two possible corresponding slicing trees
b
da
e
c
f a cb
d
e f
H
V
H
H
V
H
V
H
d
c
e f
H
V
ba
![Page 13: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/13.jpg)
13
Non-slicing floorplans (wheels)
b
d
ae
ca
bc
d
e
![Page 14: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/14.jpg)
14
Floorplan tree: Tree that represents a hierarchical floorplan
a
b
c
de
f
g
hi
H
H
HH
V
W h i
c d e f ga b
HH Horizontal division(objects to the top and bottom)HV Vertical division(objects to the left and right)
HW Wheel (4 objects cycled around a center object)
![Page 15: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/15.jpg)
15
Floorplan Graph representation
Floorplan and Layout
B2B1
B3 B5
B4
B6
B12
B9
B8 B7
B10
B11
B2
B1
B10B5
B12B6
B3
B9
B8
B7
B11B4
Vertices - vertical lines. Arcs - rectangular areas where blocks are embedded.
Floorplan is represented by a planar graph.
A dual graph is implied.
![Page 16: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/16.jpg)
16
• Actual layout is obtained by embedding real blocks into floorplan cells.– Blocks’ adjacency relations are maintained
– Blocks are not perfectly matched, thus white area (waste) results
• Layout width and height are obtained by assigning blocks’ dimensions to corresponding arcs.– Width and height are derived from longest paths
• Different block sizes yield different layout area, even if block sizes are area invariant.
From Floorplan to Layout
![Page 17: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/17.jpg)
17
Area Minimization of Slicing Floorplan
hh
vv vv
B2B1
B3 B5
B4
B6B11B3 B4 B5 B6 B8 B9 B10
B1 B2 B7
hhhhB12
B12
B9
B8 B7
B10
B11
Slicing tree. Leaf blocks are associated with areas.
v
Top block’s area is divided by vertical and horizontal cut-lines
![Page 18: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/18.jpg)
18
Let block , 1 , have possible implementations , ,
1 , having fixed area .
In the most simplified case , 1 , have 2 implementations
corresponding to 2 orientations.
:
i ii j j j
i ii j j i
i
B i b x y
j n x y a
B i b
Problem Find among the 2 possible block orientations , 1 2 ,
the one of smallest area.
b bi i
(L. Stockmeyer): Given slicing floorplan of blocks whose
slicing tree has depth , finding the orietnation that yields the smallest
area takes time and storage.
b
d
O bd O b
Theorem
![Page 19: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/19.jpg)
19
+ =
+ =
+ =
Merge horizontally two width-height sets (vertical cut-line)
v
parent left right
parent left right
max ,h h h
w w w
![Page 20: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/20.jpg)
20
h
Size of new width-height list equals sum of lengths of children lists, rather than their product.
1 1
parent
par
// horizontal cut-line
// lists are sorted in descend
VerticalMerging ( , , , ) {
1; 1; while (( ) && ( )) {
ing
max , ;
order of
w dth
i
ts
i i j ji j
i j
w h w h
i ji s j t
w w w
h
ent ;
if ( ) { }
else if ( ) { }
else { ; }
//
}}
i j
i j
i
i j
j
h h
w w i
w w j
i wj w
![Page 21: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/21.jpg)
21
Sketch of Proof
• Problem is solved by a bottom-up dynamic
programming algorithm working on corresponding
slicing tree.
• Each node maintains a set of width-height pairs,
none of which can be ruled out until root of tree is
reached. Size of sets is in the order of node’s leaf
count. Sets in leaves are just Bi’s two orientations.
![Page 22: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/22.jpg)
22
Sketch of Proof
• The sets of width-height pairs at each node is created
by merging the sets of left-son and right-son sub-
trees in time linear in their size.
• Width-height pair sets are maintained as a sorted list
in one dimension (hence sorted inversely in the other
dimension).
• Final implementation is obtained by backtracking
from the root.
![Page 23: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/23.jpg)
23
Shape functions
Legal shapes Legal shapes
w
h
w
h
Block with minimum width and height restrictions
ha*aw A
![Page 24: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/24.jpg)
24
Shape functions
w
h
Hard library block
w
Discrete (h,w) values
![Page 25: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/25.jpg)
25
Corner points
52
2
5
2 5
2
5
w
h
![Page 26: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/26.jpg)
26
Algorithm
This algorithm finds the minimum floorplan area for a given slicing floorplan in
polynomial time. For non-slicing floorplans, the problem is NP-hard.
• Construct the shape functions of all individual blocks
• Bottom up: Determine the shape function of the top-level floorplan from the shape functions of the individual blocks
• Top down: From the corner point that corresponds to the minimum top-level floorplan area, trace back to each block’s shape function to find that block’s dimensions and location.
![Page 27: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/27.jpg)
27
4
2
2
4
Block B:
Block A:
55
3
3
Step 1: Construct the shape functions of the blocks
![Page 28: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/28.jpg)
28
4
2
2
4
Block B:
Block A:
55
3
3
Step 1: Construct the shape functions of the blocks
2
4
h
6
w2 64
5
3
![Page 29: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/29.jpg)
29
4
2
2
4
Block B:
Block A:
55
3
3
Step 1: Construct the shape functions of the blocks
2
4
h
w2 64
6
3
5
![Page 30: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/30.jpg)
30
4
2
2
4
Block B:
Block A:
55
3
3
w2 6
2
4
h
4
6
hA(w)
Step 1: Construct the shape functions of the blocks
![Page 31: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/31.jpg)
31
4
2
2
4
Block B:
Block A:
55
3
3
hB(w)
w2 6
2
4
h
4
6
hA(w)
Step 1: Construct the shape functions of the blocks
![Page 32: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/32.jpg)
32
w2 6
2
4
h
4
6
hB(w)hA(w)
8
w2 6
2
4
h
4
6
hB(w)hA(w)
hC(w)
8
Step 2: Determine the shape function of the top-level floorplan (vertical)
![Page 33: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/33.jpg)
33
w2 6
2
4
h
4
6
w2 6
2
4
h
4
6
hB(w)hA(w)
hB(w)hA(w)
hC(w)
3 x 9
4 x 7
5 x 5
88
Minimimum top-level floorplanwith vertical composition
Step 2: Determine the shape function of the top-level floorplan (vertical)
![Page 34: ENTITY test is port a: in bit; end ENTITY test;](https://reader034.vdocument.in/reader034/viewer/2022051317/5681649f550346895dd688e7/html5/thumbnails/34.jpg)
34
2 x 4 3 x 5
5 x 5
Step 3: Find the individual blocks’ dimensions and locations
w2 6
2
4
h
4
6
(1) Minimum area floorplan: 5 x 5
(2) Derived block dimensions : 2 x 4 and 3 x 5
8
Horizontal composition