OpenSTA
OpenSTA copied to clipboard
Replace construction of PathVertex objects with updating existing structure in Crpr computation
This PR:
- Modifies
clkPathPrevso that instead of callingPathVertexconstructor to create temporary object it updates the existing object passed by reference - Updates vertex levels in
findCrpronly when necessary.
The results of this modification for Ariane design look as follows (for cts and grt steps, 10 runs):
| master cts | PR cts | master grt | PR grt |
|---|---|---|---|
| 10:23 | 11:11 | 9:45 | 10:25 |
| 11:54 | 10:57 | 10:59 | 10:32 |
| 11:44 | 10:49 | 11:01 | 10:52 |
| 11:17 | 11:05 | 11:18 | 10:24 |
| 11:45 | 12:36 | 10:48 | 12:54 |
| 11:35 | 10:08 | 10:55 | 9:37 |
| 11:38 | 10:03 | 10:44 | 9:37 |
| 11:31 | 10:03 | 10:09 | 9:35 |
| 10:25 | 10:02 | 9:48 | 9:39 |
| 10:25 | 10:02 | 9:50 | 9:38 |
This PR could be potentially combined with https://github.com/The-OpenROAD-Project/OpenSTA/pull/211, both affect neighboring parts of code.