dsengupta0628
0c96ee9a22
upstream changes plus resolved conflict in ci.yml
...
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-06-29 15:38:16 +00:00
James Cherry
c81f0c169d
cleanup
...
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-22 16:54:27 -07:00
James Cherry
0e79e35d17
indent
...
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-18 13:52:33 -07:00
Drew Lewis
832c62b579
Refactor DMP solver to use Eigen and implement Determinant Guarded solver ( #450 )
...
This commit refactors the Dartu-Menezes-Pileggi (DMP) effective capacitance
algorithm solver to use the Eigen library, and implements a Determinant Guarded
solver to handle singular and near-singular Jacobians safely and efficiently.
Key changes:
1. Refactored the DMP solver to use Eigen stack-based data structures,
replacing the custom Crout LU decomposition and solver.
2. Extracted the linear solver logic into a dedicated helper function
DmpAlg::solveNewtonStep.
3. Implemented a "Determinant Guarded" solver:
- Manually checks the determinant of the Jacobian (safety guard).
- Throws a DmpError if the determinant is dangerously close to zero (|det| < 1e-12),
safely triggering the lumped capacitance fallback.
- Otherwise, solves using Eigen's highly optimized analytical inverse (fast path).
4. Added documentation in the comments on how to easily swap back to LU
decomposition with partial pivoting (PartialPivLU) if any numerical
precision issues arise in the future.
Benchmark Results (Optimized Release Build, 5,288 DMP calls):
| Test Case | Calls | 1. Original (Crout LU) | 2. Eigen (PartialPivLU) | 3. Eigen (Determinant Guarded) | Speedup (3 vs 1) | Speedup (3 vs 2) |
| :--- | :---: | :---: | :---: | :---: | :---: | :---: |
| power | 2,608 | 1.8822 ms | 1.6791 ms | 1.2702 ms | +32.5% | +24.4% |
| power_vcd | 2,608 | 1.8729 ms | 1.6704 ms | 1.2768 ms | +31.8% | +23.6% |
| spef_parasitics | 24 | 0.0193 ms | 0.0187 ms | 0.0140 ms | +27.5% | +25.1% |
| mcmm3 | 48 | 0.0728 ms | 0.0756 ms | 0.0817 ms | -12.2% | -8.1% |
| Total DMP Time | 5,288 | 3.8472 ms | 3.4438 ms | 2.6427 ms | +31.3% | +23.3% |
2026-06-18 13:52:14 -07:00
dsengupta0628
5dae3933dc
Merge remote-tracking branch 'upstream/master' into sta_latest_0618
2026-06-18 17:45:09 +00:00
James Cherry
0fe167a80d
sta_internal_bidirect_instance_paths_enabled use load->driver edges
...
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-15 17:02:58 -07:00
dsengupta0628
ac7dfe5fc2
Merge remote-tracking branch 'parallax_sta/master' into sta_update_latest_0505
2026-05-06 13:37:38 +00:00
James Cherry
9065d915db
copy() use copy constructors
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-05-05 17:25:09 -07:00
James Cherry
801d621d6b
Dmp delay calc inline algs
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-05-05 17:08:16 -07:00
James Cherry
7fca318611
copy() use copy constructors
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-05-05 16:58:59 -07:00
James Cherry
afa2286edc
copy() use copy constructors
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-05-05 16:35:40 -07:00
dsengupta0628
ae37dc6238
pickup changes from upstream, latest on 4/27
...
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-27 18:45:35 +00:00
James Cherry
1eb2e9b11d
untabify
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-25 14:45:49 -07:00
James Cherry
a1c3077139
message ids
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-23 18:12:40 -07:00
James Cherry
c8b9ffb22d
tidy
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-21 17:30:35 -07:00
dsengupta0628
c2b629d751
test codes updated to compile succesfully with new changes in upstream
...
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-20 14:47:52 +00:00
dsengupta0628
05b4e3a1d9
Latest pulled in changes on 4/20 from upstream to push all together with latest from 4/16
...
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-20 14:21:16 +00:00
James Cherry
6e7ec45bc8
rm extra swig module dcls
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-16 15:46:32 -07:00
James Cherry
12c59878ee
prima non-ccs report dcalc resolves #418
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-16 15:13:28 -07:00
dsengupta0628
9fbfcc4fcb
picked changes from upstream master, resolved conflict for levelized driververtices, parseBus for weird defs
...
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-16 21:37:37 +00:00
James Cherry
21848bcdd2
clang tidy
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-15 09:38:10 -07:00
dsengupta0628
92f23e1b6d
regoldened regressions as now it correctly fallsback tableCalc and not PrimaDcalc
...
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-13 22:28:04 +00:00
dsengupta0628
5f698bf596
fix the path of checkArgs fail and no-ccs in liberty that causes garbage RC vals in report_dcalc
...
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-13 22:03:24 +00:00
James Cherry
63efee64bf
tidy round1
2026-04-13 14:59:05 -07:00
dsengupta0628
d5925fcdcc
changes from upstream 4/13 with prima delaycalc checkArgs refactor, some coverity fix but still problematic
...
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-13 21:26:42 +00:00
dsengupta0628
7da56adedd
undo my changes to avoid prima dcalc crash to pick implementation from upstream
...
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-13 21:18:34 +00:00
James Cherry
b136ba309a
PrimaDelayCalc::reportGateDelay resolves #418
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-09 15:13:40 -07:00
dsengupta0628
3b8e81393d
Merge branch 'master' into sta_latest_from_parallaxsw_0407
2026-04-07 21:53:36 +00:00
dsengupta0628
371b85cd20
latest STA plus changes to fix prima dcalc and read_spef issues, TCL regression added
...
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-07 20:48:15 +00:00
James Cherry
645f2669c9
report_dcalc prima resolves #418
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-07 10:45:04 -07:00
dsengupta0628
3eec04f4e8
update STA to Parallaxsw version on 4/7 with fix for issue 416 and some unrelated stuff
...
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-07 12:59:25 +00:00
Jaehyun Kim
0c15e18f94
build: Add -Werror by default
...
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-04-05 23:55:35 +09:00
dsengupta0628
fc7ac6c16c
test/cpp changes
...
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-05 00:18:45 +00:00
James Cherry
84150e925b
prima ceff
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-04 09:21:34 -07:00
James Cherry
aedddcecd8
DMP use std::array
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-04 09:21:01 -07:00
James Cherry
2f85fdfee3
Dmp cleanup
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-03 16:46:05 -07:00
James Cherry
e04f36b541
GraphDelayCalc::findInputArcDelay rm Slew
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-03 11:22:38 -07:00
James Cherry
5d40134239
ArnoldiDelayCalc rcmodel
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-03 11:22:38 -07:00
Jaehyun Kim
ea22794652
Merge remote-tracking branch 'opensta/master' into secure-sta-test-by-opus
...
# Conflicts:
# liberty/TableModel.cc
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-04-02 12:21:14 +09:00
James Cherry
638ffa57d4
cleanup
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-31 16:45:47 -07:00
James Cherry
8c1ebce695
GraphDelayCalc::findInputDriverDelay rm finishDrvrPin
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-31 16:37:38 -07:00
James Cherry
1d4b516239
GraphDelayCalc::findInputArcDelay thread issue
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-31 13:59:59 -07:00
Jaehyun Kim
3ca78b11c8
Adapt test files to upstream API changes (string_view migration)
...
Update 16 test files to match upstream OpenSTA API refactoring:
- const char* → std::string/std::string_view across all test APIs
- EXPECT_STREQ → EXPECT_EQ for std::string/string_view returns
- nullptr → "" for string_view parameters (makeClock, makeClockGroups, etc.)
- PropertyValue("literal") → PropertyValue(std::string("literal")) to avoid
bool constructor overload resolution
- Method renames: relatedGroundPin→relatedGroundPort,
relatedPowerPin→relatedPowerPort, firstName→firstParam,
secondName→secondParam
- Constructor changes: OperatingConditions (5-arg → 1-arg + setters),
ModeDef::defineValue (3-arg → 1-arg + setSdfCond)
- LibertyAttrValue::floatValue returns std::pair<float,bool> now
- Filter API: separate args → single expression string + bool_props_as_int
- SDF version golden files: 3.0.1 → 3.1.0
All 6104 tests pass.
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-31 16:34:40 +09:00
Jaehyun Kim
069de0498c
Merge branch 'master' of https://github.com/The-OpenROAD-Project-private/OpenSTA into secure-sta-test-by-opus
...
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-31 15:27:01 +09:00
dsengupta0628
5f46ad3dfb
Merge remote-tracking branch 'upstream/master' into sta_latest_merge_strings
2026-03-30 16:22:27 +00:00
Jaehyun Kim
422f774b64
Merge branch 'master' of https://github.com/The-OpenROAD-Project-private/OpenSTA into secure-sta-test-by-opus
...
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-29 22:33:08 +09:00
James Cherry
6742692876
string squash
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-28 19:13:35 -07:00
dsengupta0628
4238a057dd
combined latest osta
...
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-03-25 20:03:03 +00:00
James Cherry
b9e439f41c
delay calc clip delay to 0.0 resolves #405
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-24 18:42:47 -07:00
James Cherry
04f4528c2c
ccs ceff pocv
...
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-22 19:34:59 -07:00