Skip to content

Commit dde14e9

Browse files
committed
dpl: swap negotiation tests for diamond,
now that negotiation is the default we swap these tests so they use the non-default diamond search algorithm, also adjust the obstrcution2.tcl test so it does not fail anymore, now we check the overlap with core area for fixed instances. Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
1 parent 2feb376 commit dde14e9

23 files changed

Lines changed: 464 additions & 372 deletions

src/dpl/test/BUILD

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ COMPULSORY_TESTS = [
2323
"check7",
2424
"check8",
2525
"check9",
26+
"diamond01",
27+
"diamond_multi_height",
28+
"diamond_one_site_gap",
29+
"diamond_regions",
2630
"fence01",
2731
"fence02",
2832
"fence03",
@@ -56,10 +60,6 @@ COMPULSORY_TESTS = [
5660
"multi_height_one_site_gap_disallow",
5761
"multi_height_power_align",
5862
"multi_height_rows",
59-
"negotiation01",
60-
"negotiation_multi_height",
61-
"negotiation_one_site_gap",
62-
"negotiation_regions",
6363
"obstruction1",
6464
"obstruction2",
6565
"one_site_gap_disallow",
@@ -161,6 +161,19 @@ filegroup(
161161
"multi_height_rows.def",
162162
"Nangate45/fake_macros.lef",
163163
],
164+
"diamond01": [
165+
"gcd_replace.def",
166+
],
167+
"diamond_multi_height": [
168+
"Nangate45/fake_macros.lef",
169+
"multi_height_rows.def",
170+
],
171+
"diamond_one_site_gap": [
172+
"one_site_gap_disallow.def",
173+
],
174+
"diamond_regions": [
175+
"regions1.def",
176+
],
164177
"fillers1": [
165178
"simple01.def",
166179
],
@@ -254,19 +267,6 @@ filegroup(
254267
"multi_height_rows": [
255268
"Nangate45/fake_macros.lef",
256269
],
257-
"negotiation01": [
258-
"gcd_replace.def",
259-
],
260-
"negotiation_multi_height": [
261-
"Nangate45/fake_macros.lef",
262-
"multi_height_rows.def",
263-
],
264-
"negotiation_one_site_gap": [
265-
"one_site_gap_disallow.def",
266-
],
267-
"negotiation_regions": [
268-
"regions1.def",
269-
],
270270
"obstruction2": [
271271
"Nangate45/fakeram45_64x7.lib",
272272
"Nangate45/fakeram45_64x7.lef",

src/dpl/test/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ or_integration_tests(
1818
check7
1919
check8
2020
check9
21+
diamond01
22+
diamond_multi_height
23+
diamond_one_site_gap
24+
diamond_regions
2125
fence01
2226
fence02
2327
fence03
@@ -51,10 +55,6 @@ or_integration_tests(
5155
multi_height_one_site_gap_disallow
5256
multi_height_power_align
5357
multi_height_rows
54-
negotiation01
55-
negotiation_multi_height
56-
negotiation_one_site_gap
57-
negotiation_regions
5858
obstruction1
5959
obstruction2
6060
one_site_gap_disallow
Lines changed: 271 additions & 271 deletions
Large diffs are not rendered by default.

src/dpl/test/diamond01.ok

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells
2+
[INFO ODB-0128] Design: gcd
3+
[INFO ODB-0130] Created 54 pins.
4+
[INFO ODB-0131] Created 549 components and 2166 component-terminals.
5+
[INFO ODB-0133] Created 364 nets and 1068 connections.
6+
[INFO DPL-0006] Core area: 14266.91 um^2
7+
[INFO DPL-0007] Movable instances area: 569.77 um^2
8+
[INFO DPL-0008] Fixed instances area within core: 67.83 um^2
9+
[INFO DPL-0009] Utilization: 4.5%
10+
[INFO DPL-0005] Diamond search max displacement: +/- 500 sites horizontally, +/- 100 rows vertically.
11+
[INFO DPL-1101] Legalizing using diamond search.
12+
Movements Summary
13+
---------------------------------------
14+
Total cells: 294
15+
Diamond Move Success: 294 (100.00%)
16+
Diamond Move Failure: 0
17+
Rip-up and replace Success: 0 ( 0.00% of diamond failures)
18+
Rip-up and replace Failure: 0
19+
Total Placement Failures: 0
20+
---------------------------------------
21+
Placement Analysis
22+
---------------------------------
23+
total displacement 630.2 u
24+
average displacement 1.1 u
25+
max displacement 8.6 u
26+
original HPWL 6950.8 u
27+
legalized HPWL 7619.8 u
28+
delta HPWL 10 %
29+
30+
No differences found.

src/dpl/test/diamond01.tcl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# gcd global placement legalized with the diamond legalizer.
2+
# Overlapping (global-placed) cells exercise the diamond-search legalization
3+
# path now that negotiation is the default detailed placement algorithm.
4+
source "helpers.tcl"
5+
read_lef Nangate45/Nangate45.lef
6+
read_def gcd_replace.def
7+
detailed_placement -use_diamond_legalizer
8+
check_placement
9+
10+
set def_file [make_result_file diamond01.def]
11+
write_def $def_file
12+
diff_file diamond01.defok $def_file

src/dpl/test/negotiation_multi_height.defok renamed to src/dpl/test/diamond_multi_height.defok

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ ROW ROW_8 DoubleHeightSite 0 11200 N DO 34 BY 1 STEP 380 0 ;
1616
ROW ROW_9 TripleHeightSite 0 0 N DO 34 BY 1 STEP 380 0 ;
1717
ROW ROW_10 TripleHeightSite 0 8400 FS DO 34 BY 1 STEP 380 0 ;
1818
COMPONENTS 5 ;
19-
- r1 MOCK_SINGLE + PLACED ( 11400 11200 ) N ;
20-
- r2 MOCK_SINGLE + PLACED ( 11400 14000 ) FS ;
19+
- r1 MOCK_SINGLE + PLACED ( 6840 14000 ) FS ;
20+
- r2 MOCK_SINGLE + PLACED ( 5320 14000 ) FS ;
2121
- r3 MOCK_DOUBLE + PLACED ( 9880 11200 ) N ;
22-
- t1 MOCK_TRIPLE + PLACED ( 9880 0 ) N ;
23-
- u2 MOCK_DOUBLE + PLACED ( 11400 0 ) N ;
22+
- t1 MOCK_TRIPLE + PLACED ( 11400 8400 ) FS ;
23+
- u2 MOCK_DOUBLE + PLACED ( 8360 11200 ) N ;
2424
END COMPONENTS
2525
PINS 6 ;
2626
- clk1 + NET clk1 + DIRECTION INPUT + USE SIGNAL
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells
2+
[INFO ODB-0227] LEF file: Nangate45/fake_macros.lef, created 10 library cells
3+
[INFO ODB-0128] Design: top
4+
[INFO ODB-0130] Created 6 pins.
5+
[INFO ODB-0131] Created 5 components and 25 component-terminals.
6+
[INFO DPL-0006] Core area: 54.26 um^2
7+
[INFO DPL-0007] Movable instances area: 9.58 um^2
8+
[INFO DPL-0008] Fixed instances area within core: 0.00 um^2
9+
[INFO DPL-0009] Utilization: 17.6%
10+
[INFO DPL-0005] Diamond search max displacement: +/- 500 sites horizontally, +/- 100 rows vertically.
11+
[INFO DPL-1101] Legalizing using diamond search.
12+
Movements Summary
13+
---------------------------------------
14+
Total cells: 5
15+
Diamond Move Success: 5 (100.00%)
16+
Diamond Move Failure: 0
17+
Rip-up and replace Success: 0 ( 0.00% of diamond failures)
18+
Rip-up and replace Failure: 0
19+
Total Placement Failures: 0
20+
---------------------------------------
21+
Placement Analysis
22+
---------------------------------
23+
total displacement 107.8 u
24+
average displacement 21.6 u
25+
max displacement 22.3 u
26+
original HPWL 0.0 u
27+
legalized HPWL 0.0 u
28+
delta HPWL 0 %
29+
30+
No differences found.
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
# Mixed-cell-height design (1x/2x/3x rows) legalized with the negotiation
1+
# Mixed-cell-height design (1x/2x/3x rows) legalized with the diamond
22
# legalizer. Overlapping, off-die single/double/triple-height cells exercise
3-
# the multi-row placement path (isValidRow, row grouping) through negotiation.
3+
# the multi-row placement path (isValidRow, row grouping) through the
4+
# diamond search.
45
source "helpers.tcl"
56
read_lef Nangate45/Nangate45.lef
67
read_lef Nangate45/fake_macros.lef
78
read_def multi_height_rows.def
8-
detailed_placement -use_negotiation
9+
detailed_placement -use_diamond_legalizer
910
check_placement
1011

11-
set def_file [make_result_file negotiation_multi_height.def]
12+
set def_file [make_result_file diamond_multi_height.def]
1213
write_def $def_file
13-
diff_file negotiation_multi_height.defok $def_file
14+
diff_file diamond_multi_height.defok $def_file

src/dpl/test/negotiation_one_site_gap.defok renamed to src/dpl/test/diamond_one_site_gap.defok

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ TRACKS Y 2540 DO 92 STEP 3200 LAYER metal9 ;
2727
TRACKS X 4670 DO 92 STEP 3200 LAYER metal10 ;
2828
TRACKS Y 2540 DO 92 STEP 3200 LAYER metal10 ;
2929
COMPONENTS 4 ;
30-
- f0/_281_ INV_X2 + PLACED ( 34840 28000 ) FS ;
30+
- f0/_281_ INV_X2 + PLACED ( 37500 28000 ) FS ;
3131
- f0/_282_ NOR2_X2 + PLACED ( 32560 28000 ) FS ;
32-
- f0/_283_ INV_X2 + PLACED ( 35980 30800 ) N ;
32+
- f0/_283_ INV_X2 + PLACED ( 35220 28000 ) FS ;
3333
- f0/_284_ INV_X2 + PLACED ( 36360 28000 ) FS ;
3434
END COMPONENTS
3535
PINS 2 ;
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells
2+
[INFO ODB-0128] Design: one_site_gap
3+
[INFO ODB-0130] Created 2 pins.
4+
[INFO ODB-0131] Created 4 components and 17 component-terminals.
5+
[INFO ODB-0133] Created 2 nets and 2 connections.
6+
[INFO DPL-0006] Core area: 16.49 um^2
7+
[INFO DPL-0007] Movable instances area: 3.72 um^2
8+
[INFO DPL-0008] Fixed instances area within core: 0.00 um^2
9+
[INFO DPL-0009] Utilization: 22.6%
10+
[INFO DPL-0005] Diamond search max displacement: +/- 500 sites horizontally, +/- 100 rows vertically.
11+
[INFO DPL-1101] Legalizing using diamond search.
12+
Movements Summary
13+
---------------------------------------
14+
Total cells: 4
15+
Diamond Move Success: 4 (100.00%)
16+
Diamond Move Failure: 0
17+
Rip-up and replace Success: 0 ( 0.00% of diamond failures)
18+
Rip-up and replace Failure: 0
19+
Total Placement Failures: 0
20+
---------------------------------------
21+
Placement Analysis
22+
---------------------------------
23+
total displacement 1.7 u
24+
average displacement 0.4 u
25+
max displacement 1.3 u
26+
original HPWL 63.1 u
27+
legalized HPWL 63.2 u
28+
delta HPWL 0 %
29+
30+
No differences found.

0 commit comments

Comments
 (0)