Sta update 0725 - #393
Conversation
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
…le (#460) * Use more reliable mirrors for Bison and TCL in CentOS 7 Dockerfile. ftp.gnu.org and SourceForge prdownloads are flaky in CI; switch to dotsrc and OSUOSL mirrors. Co-authored-by: Cursor <cursoragent@cursor.com> * Use GNU ftpmirror and SourceForge project URLs. Switch CentOS 7 Dockerfile downloads to the reviewer-suggested ftpmirror.gnu.org redirector for Bison and the SourceForge project download URL for TCL. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
|
James Cherry seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
There was a problem hiding this comment.
Code Review
This pull request refactors the delay calculation logic by replacing the incremental_ flag with delays_exist_ and optimizing fanout propagation in GraphDelayCalc. It also introduces a Vertex::isLoad helper, adds a verbose path reporting function for debugging, and cleans up CRPR arrival pruning. Feedback was provided regarding a potential bug in loadSlewChanged where using operator[] on load_pin_index_map could unsafely insert dummy entries if a pin is not found.
| if (load_slews_prev.empty()) | ||
| return true; | ||
| size_t index = load_pin_index_map[load_vertex->pin()]; | ||
| SlewSeq &slews_prev = load_slews_prev[index];; |
There was a problem hiding this comment.
Using operator[] on load_pin_index_map directly with load_vertex->pin() is unsafe because load_vertex might be visited via non-wire edges (such as isBidirectInstPath internal timing arcs) which are not populated in load_pin_index_map. If the pin is not present in the map, operator[] will insert a dummy entry with a default value of 0, causing incorrect comparisons with the first load pin's previous slew and corrupting the map.
Instead, use find() to safely check if the pin exists in the map before retrieving its index.
auto ip = load_pin_index_map.find(load_vertex->pin());
if (ip == load_pin_index_map.end())
return true;
size_t index = ip->second;
SlewSeq &slews_prev = load_slews_prev[index];Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
This reverts commit a7d2b22. Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
There was a problem hiding this comment.
macOS default filesystem is case-insensitive, so top-level file BUILD collides with CMake build/ dir - mkdir build fails / build dir creation clashes. BUILD.bazel is Bazel's equally-valid canonical name, so Bazel keeps working while build/ becomes creatable.
Update latest OpenSTA 7/25