OpenROAD icon indicating copy to clipboard operation
OpenROAD copied to clipboard

Improve CTS skew and runtime

Open oharboe opened this issue 2 years ago • 8 comments

Description

unzip https://drive.google.com/file/d/1IKNjdXdUdjgcf1zjTXuyDntbyXLWgrO8/view?usp=sharing

./run-me-BoomTile-asap7-base.sh 
OpenROAD v2.0-11428-g64228063b 
[deleted]
[INFO CTS-0032]  Stop criterion found. Max number of sinks is 15.
[INFO CTS-0035]  Number of sinks covered: 4433.
[INFO CTS-0018]     Created 5337 clock buffers.
[INFO CTS-0012]     Minimum number of buffers in the clock path: 23.
[INFO CTS-0013]     Maximum number of buffers in the clock path: 24.
[INFO CTS-0014]     1 clock nets were removed/fixed.
[INFO CTS-0015]     Created 5336 clock nets.
[INFO CTS-0016]     Fanout distribution for the current clock = 0:1, 1:3, 2:10, 3:34, 4:50, 5:43, 6:55, 7:51, 8:61, 9:57, 10:56, 11:36, 12:32, 13:24, 14:18, 15:16, 16:11, 17:11, 18:7, 19:4, 20:4, 21:5, 22:3, 23:2, 24:3, 25:3, 26:2, 27:1, 29:1, 30:4338..
[INFO CTS-0017]     Max level of the clock tree: 9.
[INFO CTS-0098] Clock net "clock"
[INFO CTS-0099]  Sinks 131199
[INFO CTS-0100]  Leaf buffers 4430
[INFO CTS-0101]  Average sink wire length 2221.56 um
[INFO CTS-0102]  Path depth 23 - 24
[WARNING STA-0357] virtual clock clock_vir can not be propagated.
Warning: There are 540 unconstrained endpoints.

After ca. 1 minute, there is no further output for quite some time... 20 minutes?

==========================================================================
cts pre-repair report_design_area
--------------------------------------------------------------------------
Design area 985247 u^2 51% utilization.
[INFO RSZ-0058] Using max wire length 162um.
[INFO RSZ-0047] Found 62 long wires.
[INFO RSZ-0048] Inserted 98 buffers in 62 nets.
Warning: There are 540 unconstrained endpoints.

Then nothing for maybe another 20 minutes?

==========================================================================
cts post-repair report_design_area
--------------------------------------------------------------------------
Design area 985278 u^2 51% utilization.
Placement Analysis
---------------------------------
total displacement      12910.7 u
average displacement        0.0 u
max displacement          278.4 u
original HPWL        16326114.3 u
legalized HPWL       16466441.8 u
delta HPWL                    1 %

Repair setup and hold violations...
TNS end percent 5
[INFO RSZ-0046] Found 17274 endpoints with hold violations.

No further output for a while...

Suggested Solution

No response

Additional Context

No response

oharboe avatar Dec 14 '23 08:12 oharboe

How is this different from #4333 ?

maliberty avatar Dec 14 '23 15:12 maliberty

How is this different from #4333 ?

One is a feature request for progress info, the other to speed up CTS.

oharboe avatar Dec 14 '23 16:12 oharboe

@precisionmoon would you start by looking at the skew show in image (from https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/discussions/1710) before we start on runtime.

maliberty avatar Dec 18 '23 22:12 maliberty

with the current settings there are many buffers on the macros: image

but if I add -obstruction_aware I see: image

Some objects are now outside the die area which is wrong. Some are still on top of macros too.

maliberty avatar Dec 18 '23 23:12 maliberty

Ok. Let me take a look.

precisionmoon avatar Dec 18 '23 23:12 precisionmoon

PR 4383 should fix the issue of cells getting placed outside core area and cells on top of hardmacros.

precisionmoon avatar Jan 02 '24 03:01 precisionmoon

@precisionmoon with #4459 and -obstruction_aware does the skew improve?

maliberty avatar Jan 02 '24 16:01 maliberty

@precisionmoon with #4459 and -obstruction_aware does the skew improve?

Worst skew remains at 58.56 immediately after CTS with and without -obstruction_aware, even after #4459. Clock clock Latency CRPR Skew core/fp_rename_stage/7310/CLK ^ 451.28 core/fp_rename_stage/freelist/45073/CLK ^ 392.72 0.00 58.56

precisionmoon avatar Jan 02 '24 17:01 precisionmoon