The-OpenROAD-Project / OpenROAD

OpenROAD's unified application implementing an RTL-to-GDS Flow. Documentation at https://openroad.readthedocs.io/en/latest/
https://theopenroadproject.org/
BSD 3-Clause "New" or "Revised" License
1.59k stars 552 forks source link

Default CTS arguments don't give good skew results #4751

Open oharboe opened 8 months ago

oharboe commented 8 months ago

Description

Expected:

image

Actual:

image

To reproduce: untar cts.tar.gz

./run-me-mock-array-asap7-base.sh
. vars-mock-array-asap7-base.sh
ODB_FILE=results/asap7/mock-array/base/4_1_cts.odb openroad -gui scripts/gui.tcl

Suggested Solution

CTS should automatically pick good defaults

Additional Context

No response

precisionmoon commented 8 months ago

It seems that the timing repair step is degrading the clock skew. Some of timing repair can be pulled into CTS to mitigate this issue. @oharboe, what's the needed timeline for this enhancement?

oharboe commented 8 months ago

It seems that the timing repair step is degrading the clock skew. Some of timing repair can be pulled into CTS to mitigate this issue. @oharboe, what's the needed timeline for this enhancement?

I would prioritize orderly progression of development over particular features.

maliberty commented 8 months ago

I would guess it is repair_clock_nets rather than repair_timing that is the problem (the later shouldn't touch the clock tree).

precisionmoon commented 8 months ago

I would guess it is repair_clock_nets rather than repair_timing that is the problem (the later shouldn't touch the clock tree).

Correct.