Skip to content

Commit d0de724

Browse files
authored
Merge pull request #939 from openroadie/fix_all_violation
Fix all violations (on two designs). Added code to cts.tcl to accept the new envar setting (which is in config.mk for the 2 designs).
2 parents 10c750c + 6a88f7d commit d0de724

File tree

7 files changed

+298
-344
lines changed

7 files changed

+298
-344
lines changed

flow/designs/nangate45/aes/config.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ export SDC_FILE = ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/constraint.sdc
88
export FLOORPLAN_DEF = ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/aes_ng45_fp.def
99

1010
export PLACE_DENSITY_LB_ADDON = 0.20
11+
export TNS_END_PERCENT ?= 100

flow/designs/nangate45/aes/metadata-base-ok.json

Lines changed: 86 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -15,59 +15,47 @@
1515
"cts__design__die__area": 62612.4,
1616
"cts__design__die__area__post_repair": 62612.4,
1717
"cts__design__die__area__pre_repair": 62612.4,
18-
"cts__design__instance__area": 26972.4,
18+
"cts__design__instance__area": 28886.5,
1919
"cts__design__instance__area__macros": 0,
2020
"cts__design__instance__area__macros__post_repair": 0,
2121
"cts__design__instance__area__macros__pre_repair": 0,
2222
"cts__design__instance__area__post_repair": 25797.5,
2323
"cts__design__instance__area__pre_repair": 25797.5,
24-
"cts__design__instance__area__stdcell": 26972.4,
24+
"cts__design__instance__area__stdcell": 28886.5,
2525
"cts__design__instance__area__stdcell__post_repair": 25797.5,
2626
"cts__design__instance__area__stdcell__pre_repair": 25797.5,
27-
"cts__design__instance__count": 16600,
27+
"cts__design__instance__count": 17319,
2828
"cts__design__instance__count__hold_buffer": 0,
2929
"cts__design__instance__count__macros": 0,
3030
"cts__design__instance__count__macros__post_repair": 0,
3131
"cts__design__instance__count__macros__pre_repair": 0,
3232
"cts__design__instance__count__post_repair": 15623,
3333
"cts__design__instance__count__pre_repair": 15623,
34-
"cts__design__instance__count__setup_buffer": 977.0,
35-
"cts__design__instance__count__stdcell": 16600,
34+
"cts__design__instance__count__setup_buffer": 1696.0,
35+
"cts__design__instance__count__stdcell": 17319,
3636
"cts__design__instance__count__stdcell__post_repair": 15623,
3737
"cts__design__instance__count__stdcell__pre_repair": 15623,
38-
"cts__design__instance__displacement__max": 8.17,
39-
"cts__design__instance__displacement__mean": 0.2095,
40-
"cts__design__instance__displacement__total": 3480.72,
41-
"cts__design__instance__utilization": 0.510986,
38+
"cts__design__instance__displacement__max": 12.4955,
39+
"cts__design__instance__displacement__mean": 0.614,
40+
"cts__design__instance__displacement__total": 10634.6,
41+
"cts__design__instance__utilization": 0.547249,
4242
"cts__design__instance__utilization__post_repair": 0.488727,
4343
"cts__design__instance__utilization__pre_repair": 0.488727,
44-
"cts__design__instance__utilization__stdcell": 0.510986,
44+
"cts__design__instance__utilization__stdcell": 0.547249,
4545
"cts__design__instance__utilization__stdcell__post_repair": 0.488727,
4646
"cts__design__instance__utilization__stdcell__pre_repair": 0.488727,
4747
"cts__design__io": 388,
4848
"cts__design__io__post_repair": 388,
4949
"cts__design__io__pre_repair": 388,
5050
"cts__design__violations": 0,
51-
"cts__power__internal__total": 0.0403635,
52-
"cts__power__internal__total__post_repair": 0.0404769,
53-
"cts__power__internal__total__pre_repair": 0.0404769,
54-
"cts__power__leakage__total": 0.000695907,
55-
"cts__power__leakage__total__post_repair": 0.000659168,
56-
"cts__power__leakage__total__pre_repair": 0.000659168,
57-
"cts__power__switching__total": 0.0394677,
58-
"cts__power__switching__total__post_repair": 0.0406985,
59-
"cts__power__switching__total__pre_repair": 0.0406985,
60-
"cts__power__total": 0.0805272,
61-
"cts__power__total__post_repair": 0.0818345,
62-
"cts__power__total__pre_repair": 0.0818345,
63-
"cts__route__wirelength__estimated": 216392,
51+
"cts__route__wirelength__estimated": 233950,
6452
"cts__timing__drv__hold_violation_count": 0,
6553
"cts__timing__drv__hold_violation_count__post_repair": 0,
6654
"cts__timing__drv__hold_violation_count__pre_repair": 0,
67-
"cts__timing__drv__max_cap": 0,
55+
"cts__timing__drv__max_cap": 1,
6856
"cts__timing__drv__max_cap__post_repair": 0,
6957
"cts__timing__drv__max_cap__pre_repair": 0,
70-
"cts__timing__drv__max_cap_limit": 0.093866,
58+
"cts__timing__drv__max_cap_limit": -0.0248363,
7159
"cts__timing__drv__max_cap_limit__post_repair": 0.00147422,
7260
"cts__timing__drv__max_cap_limit__pre_repair": 0.00147422,
7361
"cts__timing__drv__max_fanout": 0,
@@ -79,19 +67,19 @@
7967
"cts__timing__drv__max_slew": 0,
8068
"cts__timing__drv__max_slew__post_repair": 0,
8169
"cts__timing__drv__max_slew__pre_repair": 0,
82-
"cts__timing__drv__max_slew_limit": 0.430074,
70+
"cts__timing__drv__max_slew_limit": 0.373937,
8371
"cts__timing__drv__max_slew_limit__post_repair": 0.322401,
8472
"cts__timing__drv__max_slew_limit__pre_repair": 0.322401,
85-
"cts__timing__drv__setup_violation_count": 177,
73+
"cts__timing__drv__setup_violation_count": 137,
8674
"cts__timing__drv__setup_violation_count__post_repair": 212,
8775
"cts__timing__drv__setup_violation_count__pre_repair": 212,
88-
"cts__timing__setup__tns": -12.7149,
76+
"cts__timing__setup__tns": -7.19333,
8977
"cts__timing__setup__tns__post_repair": -28.1029,
9078
"cts__timing__setup__tns__pre_repair": -28.1029,
9179
"cts__timing__setup__ws": -0.102313,
9280
"cts__timing__setup__ws__post_repair": -0.262803,
9381
"cts__timing__setup__ws__pre_repair": -0.262803,
94-
"detailedplace__cpu__total": 14.16,
82+
"detailedplace__cpu__total": 8.77,
9583
"detailedplace__design__core__area": 52785,
9684
"detailedplace__design__die__area": 62612.4,
9785
"detailedplace__design__instance__area": 25754.7,
@@ -107,13 +95,9 @@
10795
"detailedplace__design__instance__utilization__stdcell": 0.487916,
10896
"detailedplace__design__io": 388,
10997
"detailedplace__design__violations": 0,
110-
"detailedplace__mem__peak": 151228.0,
111-
"detailedplace__power__internal__total": 0.0399526,
112-
"detailedplace__power__leakage__total": 0.000657188,
113-
"detailedplace__power__switching__total": 0.0392602,
114-
"detailedplace__power__total": 0.07987,
98+
"detailedplace__mem__peak": 170668.0,
11599
"detailedplace__route__wirelength__estimated": 213599,
116-
"detailedplace__runtime__total": "0:14.25",
100+
"detailedplace__runtime__total": "0:08.84",
117101
"detailedplace__timing__drv__hold_violation_count": 0,
118102
"detailedplace__timing__drv__max_cap": 0,
119103
"detailedplace__timing__drv__max_cap_limit": 0.00147422,
@@ -125,56 +109,54 @@
125109
"detailedplace__timing__setup__tns": -28.0494,
126110
"detailedplace__timing__setup__ws": -0.259305,
127111
"detailedroute__route__drc_errors": 0,
128-
"detailedroute__route__drc_errors__iter:1": 17808,
129-
"detailedroute__route__drc_errors__iter:2": 3963,
130-
"detailedroute__route__drc_errors__iter:3": 3326,
131-
"detailedroute__route__drc_errors__iter:4": 304,
132-
"detailedroute__route__drc_errors__iter:5": 17,
133-
"detailedroute__route__drc_errors__iter:6": 0,
134-
"detailedroute__route__net": 16984,
112+
"detailedroute__route__drc_errors__iter:1": 18129,
113+
"detailedroute__route__drc_errors__iter:2": 4263,
114+
"detailedroute__route__drc_errors__iter:3": 4060,
115+
"detailedroute__route__drc_errors__iter:4": 477,
116+
"detailedroute__route__drc_errors__iter:5": 62,
117+
"detailedroute__route__drc_errors__iter:6": 4,
118+
"detailedroute__route__drc_errors__iter:7": 0,
119+
"detailedroute__route__net": 17703,
135120
"detailedroute__route__net__special": 2,
136-
"detailedroute__route__vias": 155238,
121+
"detailedroute__route__vias": 163790,
137122
"detailedroute__route__vias__multicut": 0,
138-
"detailedroute__route__vias__singlecut": 155238,
139-
"detailedroute__route__wirelength": 289539,
140-
"detailedroute__route__wirelength__iter:1": 293590,
141-
"detailedroute__route__wirelength__iter:2": 290514,
142-
"detailedroute__route__wirelength__iter:3": 289565,
143-
"detailedroute__route__wirelength__iter:4": 289573,
144-
"detailedroute__route__wirelength__iter:5": 289541,
145-
"detailedroute__route__wirelength__iter:6": 289539,
146-
"finish__clock__skew__hold": 0.0319808,
147-
"finish__clock__skew__setup": 0.0319808,
148-
"finish__cpu__total": 31.85,
123+
"detailedroute__route__vias__singlecut": 163790,
124+
"detailedroute__route__wirelength": 306917,
125+
"detailedroute__route__wirelength__iter:1": 310870,
126+
"detailedroute__route__wirelength__iter:2": 307795,
127+
"detailedroute__route__wirelength__iter:3": 306799,
128+
"detailedroute__route__wirelength__iter:4": 306967,
129+
"detailedroute__route__wirelength__iter:5": 306935,
130+
"detailedroute__route__wirelength__iter:6": 306916,
131+
"detailedroute__route__wirelength__iter:7": 306917,
132+
"finish__clock__skew__hold": 0.0319234,
133+
"finish__clock__skew__setup": 0.0319234,
134+
"finish__cpu__total": 23.49,
149135
"finish__design__core__area": 52785,
150136
"finish__design__die__area": 62612.4,
151-
"finish__design__instance__area": 26972.4,
137+
"finish__design__instance__area": 28886.5,
152138
"finish__design__instance__area__macros": 0,
153-
"finish__design__instance__area__stdcell": 26972.4,
154-
"finish__design__instance__count": 16600,
139+
"finish__design__instance__area__stdcell": 28886.5,
140+
"finish__design__instance__count": 17319,
155141
"finish__design__instance__count__macros": 0,
156-
"finish__design__instance__count__stdcell": 16600,
157-
"finish__design__instance__utilization": 0.510986,
158-
"finish__design__instance__utilization__stdcell": 0.510986,
142+
"finish__design__instance__count__stdcell": 17319,
143+
"finish__design__instance__utilization": 0.547249,
144+
"finish__design__instance__utilization__stdcell": 0.547249,
159145
"finish__design__io": 388,
160-
"finish__mem__peak": 528640.0,
161-
"finish__power__internal__total": 0.0418134,
162-
"finish__power__leakage__total": 0.000695907,
163-
"finish__power__switching__total": 0.0441958,
164-
"finish__power__total": 0.0867051,
165-
"finish__runtime__total": "0:32.36",
146+
"finish__mem__peak": 627588.0,
147+
"finish__runtime__total": "0:24.01",
166148
"finish__timing__drv__hold_violation_count": 0.0,
167149
"finish__timing__drv__max_cap": 1,
168-
"finish__timing__drv__max_cap_limit": -0.0551364,
150+
"finish__timing__drv__max_cap_limit": -0.180548,
169151
"finish__timing__drv__max_fanout": 0,
170152
"finish__timing__drv__max_fanout_limit": 1e+30,
171153
"finish__timing__drv__max_slew": 0,
172-
"finish__timing__drv__max_slew_limit": 0.358356,
154+
"finish__timing__drv__max_slew_limit": 0.299804,
173155
"finish__timing__drv__setup_violation_count": 1.0,
174-
"finish__timing__setup__tns": -17.0294,
175-
"finish__timing__setup__ws": -0.143168,
176-
"finish__timing__wns_percent_delay": -13.361948,
177-
"floorplan__cpu__total": 0.48,
156+
"finish__timing__setup__tns": -10.3813,
157+
"finish__timing__setup__ws": -0.122951,
158+
"finish__timing__wns_percent_delay": -11.533052,
159+
"floorplan__cpu__total": 0.34,
178160
"floorplan__design__core__area": 52785,
179161
"floorplan__design__die__area": 62612.4,
180162
"floorplan__design__instance__area": 19392.7,
@@ -186,15 +168,11 @@
186168
"floorplan__design__instance__utilization": 0.367391,
187169
"floorplan__design__instance__utilization__stdcell": 0.367391,
188170
"floorplan__design__io": 388,
189-
"floorplan__mem__peak": 91584.0,
190-
"floorplan__power__internal__total": 0.0303651,
191-
"floorplan__power__leakage__total": 0.000431771,
192-
"floorplan__power__switching__total": 0.021802,
193-
"floorplan__power__total": 0.0525988,
194-
"floorplan__runtime__total": "0:00.52",
171+
"floorplan__mem__peak": 114172.0,
172+
"floorplan__runtime__total": "0:00.37",
195173
"floorplan__timing__setup__tns": -112.598,
196174
"floorplan__timing__setup__ws": -0.520426,
197-
"globalplace__cpu__total": 20.38,
175+
"globalplace__cpu__total": 11.29,
198176
"globalplace__design__core__area": 52785,
199177
"globalplace__design__die__area": 62612.4,
200178
"globalplace__design__instance__area": 19502.1,
@@ -206,45 +184,37 @@
206184
"globalplace__design__instance__utilization": 0.369462,
207185
"globalplace__design__instance__utilization__stdcell": 0.369462,
208186
"globalplace__design__io": 388,
209-
"globalplace__mem__peak": 170756.0,
210-
"globalplace__power__internal__total": 0.0312184,
211-
"globalplace__power__leakage__total": 0.000431771,
212-
"globalplace__power__switching__total": 0.0312657,
213-
"globalplace__power__total": 0.0629159,
214-
"globalplace__runtime__total": "0:20.49",
187+
"globalplace__mem__peak": 190808.0,
188+
"globalplace__runtime__total": "0:11.36",
215189
"globalplace__timing__setup__tns": -207.746,
216190
"globalplace__timing__setup__ws": -0.845204,
217191
"globalroute__antenna__violating__nets": 0,
218192
"globalroute__antenna__violating__pins": 0,
219-
"globalroute__clock__skew__hold": 0.0280787,
220-
"globalroute__clock__skew__setup": 0.0280787,
193+
"globalroute__clock__skew__hold": 0.0291523,
194+
"globalroute__clock__skew__setup": 0.0291523,
221195
"globalroute__design__core__area": 52785,
222196
"globalroute__design__die__area": 62612.4,
223-
"globalroute__design__instance__area": 26972.4,
197+
"globalroute__design__instance__area": 28886.5,
224198
"globalroute__design__instance__area__macros": 0,
225-
"globalroute__design__instance__area__stdcell": 26972.4,
226-
"globalroute__design__instance__count": 16600,
199+
"globalroute__design__instance__area__stdcell": 28886.5,
200+
"globalroute__design__instance__count": 17319,
227201
"globalroute__design__instance__count__macros": 0,
228-
"globalroute__design__instance__count__stdcell": 16600,
229-
"globalroute__design__instance__utilization": 0.510986,
230-
"globalroute__design__instance__utilization__stdcell": 0.510986,
202+
"globalroute__design__instance__count__stdcell": 17319,
203+
"globalroute__design__instance__utilization": 0.547249,
204+
"globalroute__design__instance__utilization__stdcell": 0.547249,
231205
"globalroute__design__io": 388,
232-
"globalroute__power__internal__total": 0.0417686,
233-
"globalroute__power__leakage__total": 0.000695907,
234-
"globalroute__power__switching__total": 0.0433961,
235-
"globalroute__power__total": 0.0858606,
236-
"globalroute__timing__clock__slack": -0.125,
206+
"globalroute__timing__clock__slack": -0.117,
237207
"globalroute__timing__drv__hold_violation_count": 0,
238-
"globalroute__timing__drv__max_cap": 0,
239-
"globalroute__timing__drv__max_cap_limit": 0.0770163,
208+
"globalroute__timing__drv__max_cap": 1,
209+
"globalroute__timing__drv__max_cap_limit": -0.0941402,
240210
"globalroute__timing__drv__max_fanout": 0,
241211
"globalroute__timing__drv__max_fanout_limit": 1e+30,
242212
"globalroute__timing__drv__max_slew": 0,
243-
"globalroute__timing__drv__max_slew_limit": 0.421533,
244-
"globalroute__timing__drv__setup_violation_count": 189,
245-
"globalroute__timing__setup__tns": -15.1807,
246-
"globalroute__timing__setup__ws": -0.124502,
247-
"placeopt__cpu__total": 20.38,
213+
"globalroute__timing__drv__max_slew_limit": 0.341201,
214+
"globalroute__timing__drv__setup_violation_count": 157,
215+
"globalroute__timing__setup__tns": -9.12866,
216+
"globalroute__timing__setup__ws": -0.116502,
217+
"placeopt__cpu__total": 11.29,
248218
"placeopt__design__core__area": 52785,
249219
"placeopt__design__core__area__pre_opt": 52785,
250220
"placeopt__design__die__area": 62612.4,
@@ -267,16 +237,8 @@
267237
"placeopt__design__instance__utilization__stdcell__pre_opt": 0.369462,
268238
"placeopt__design__io": 388,
269239
"placeopt__design__io__pre_opt": 388,
270-
"placeopt__mem__peak": 170756.0,
271-
"placeopt__power__internal__total": 0.0376491,
272-
"placeopt__power__internal__total__pre_opt": 0.0312184,
273-
"placeopt__power__leakage__total": 0.000657188,
274-
"placeopt__power__leakage__total__pre_opt": 0.000431771,
275-
"placeopt__power__switching__total": 0.0360734,
276-
"placeopt__power__switching__total__pre_opt": 0.0312657,
277-
"placeopt__power__total": 0.0743796,
278-
"placeopt__power__total__pre_opt": 0.0629159,
279-
"placeopt__runtime__total": "0:20.49",
240+
"placeopt__mem__peak": 190808.0,
241+
"placeopt__runtime__total": "0:11.36",
280242
"placeopt__timing__drv__hold_violation_count": 0,
281243
"placeopt__timing__drv__max_cap": 0,
282244
"placeopt__timing__drv__max_cap_limit": 0.00402856,
@@ -290,10 +252,10 @@
290252
"placeopt__timing__setup__ws": -0.263469,
291253
"placeopt__timing__setup__ws__pre_opt": -0.845204,
292254
"run__flow__design": "aes",
293-
"run__flow__generate_date": "2023-01-20 21:31",
255+
"run__flow__generate_date": "2023-03-30 11:52",
294256
"run__flow__metrics_version": "Metrics_2.1.2",
295257
"run__flow__openroad_commit": "N/A",
296-
"run__flow__openroad_version": "v2.0-6565-g7d2bade83",
258+
"run__flow__openroad_version": "d5e88bef0089b8d0525f46ac1e7f74c352b16e26",
297259
"run__flow__platform": "nangate45",
298260
"run__flow__platform__capacitance_units": "1fF",
299261
"run__flow__platform__current_units": "1mA",
@@ -302,14 +264,14 @@
302264
"run__flow__platform__resistance_units": "1kohm",
303265
"run__flow__platform__time_units": "1ns",
304266
"run__flow__platform__voltage_units": "1v",
305-
"run__flow__platform_commit": "17d6d54f0bf6f520a9e6a7a6d576f587c6742c79",
306-
"run__flow__scripts_commit": "17d6d54f0bf6f520a9e6a7a6d576f587c6742c79",
307-
"run__flow__uuid": "9a0acff9-8e24-41a7-ad11-81026f75914f",
267+
"run__flow__platform_commit": "f4038168de523f988e1312a5b397a87ea2d70968",
268+
"run__flow__scripts_commit": "f4038168de523f988e1312a5b397a87ea2d70968",
269+
"run__flow__uuid": "19aa0ff3-3a99-4c3f-8886-2b334e4e895e",
308270
"run__flow__variant": "base",
309-
"synth__cpu__total": 137.29,
271+
"synth__cpu__total": 88.2,
310272
"synth__design__instance__area__stdcell": 21221.746,
311273
"synth__design__instance__count__stdcell": 16478.0,
312-
"synth__mem__peak": 702804.0,
313-
"synth__runtime__total": "2:20.16",
314-
"total_time": "0:03:48.270000"
274+
"synth__mem__peak": 713404.0,
275+
"synth__runtime__total": "1:29.77",
276+
"total_time": "0:02:25.710000"
315277
}

flow/designs/nangate45/aes/rules-base.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,19 @@
3232
"compare": ">="
3333
},
3434
"cts__design__instance__count__setup_buffer": {
35-
"value": 1075,
35+
"value": 1866,
3636
"compare": "<="
3737
},
3838
"cts__design__instance__count__hold_buffer": {
3939
"value": 780,
4040
"compare": "<="
4141
},
4242
"globalroute__timing__clock__slack": {
43-
"value": -0.16,
43+
"value": -0.15,
4444
"compare": ">="
4545
},
4646
"globalroute__timing__setup__ws": {
47-
"value": -0.16,
47+
"value": -0.15,
4848
"compare": ">="
4949
},
5050
"detailedroute__route__wirelength": {
@@ -56,7 +56,7 @@
5656
"compare": "<="
5757
},
5858
"finish__timing__setup__ws": {
59-
"value": -0.18,
59+
"value": -0.16,
6060
"compare": ">="
6161
},
6262
"finish__design__instance__area": {
@@ -84,7 +84,7 @@
8484
"compare": "<="
8585
},
8686
"finish__timing__wns_percent_delay": {
87-
"value": -26.03,
87+
"value": -23.83,
8888
"compare": ">="
8989
}
9090
}

flow/designs/nangate45/gcd/config.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,5 @@ export ADDER_MAP_FILE :=
1010

1111
export CORE_UTILIZATION ?= 55
1212
export PLACE_DENSITY_LB_ADDON = 0.20
13+
export TNS_END_PERCENT ?= 100
14+

0 commit comments

Comments
 (0)