Deepashree Sengupta
ef0b69091f
PrimaDelayCalc: handle degenerate parasitic networks (fixes STA-1752 "G matrix is singular") ( #476 )
...
* support for filter in get_scene/mode
Signed-off-by: dsengupta0628 <[email protected] >
* fix singular G matrix issue for degenerate nets
Signed-off-by: dsengupta0628 <[email protected] >
* fix the mistake on existing regression- was accidentally modified
Signed-off-by: dsengupta0628 <[email protected] >
* make changes accounting for future SI support and address reviews
Signed-off-by: dsengupta0628 <[email protected] >
* simplify comment
Signed-off-by: dsengupta0628 <[email protected] >
* address feedbacks
Signed-off-by: dsengupta0628 <[email protected] >
---------
Signed-off-by: dsengupta0628 <[email protected] >
2026-07-27 08:48:57 -07:00
James Cherry
29b6a1039b
PrimaDelayCalc no not copy node_index_map_ pr 458
...
Signed-off-by: James Cherry <[email protected] >
2026-07-16 16:41:19 -07:00
James Cherry
03786a7035
rm redundant stmt
...
Signed-off-by: James Cherry <[email protected] >
2026-07-14 15:30:19 -07:00
James Cherry
affd539b3f
GraphDelayCalc::findVertexDelay incr
...
Signed-off-by: James Cherry <[email protected] >
2026-07-14 15:30:19 -07:00
James Cherry
dbb19a2687
rm GraphDelayCalc::incremental_
...
Signed-off-by: James Cherry <[email protected] >
2026-07-14 15:30:19 -07:00
James Cherry
dd657bf250
GraphDelayCalc::findVertexDelay bidir load->driver
...
Signed-off-by: James Cherry <[email protected] >
2026-07-14 15:30:19 -07:00
James Cherry
8648521ece
GraphDelayCalc::findVertexDelay bidir driver
...
Signed-off-by: James Cherry <[email protected] >
2026-07-10 17:05:56 -07:00
James Cherry
3dfeabd864
GraphDelayCalc::findVertexDelay rm bidir enqueue
...
Signed-off-by: James Cherry <[email protected] >
2026-07-10 09:38:24 -07:00
James Cherry
2c866d5f2d
bfs update kahns prep
...
commit 4075953c9798444b9d5275f8fa0320f74b9bf1ef
Author: James Cherry <[email protected] >
Date: Sat Jul 4 09:00:48 2026 -0700
bfs resort hasNext
Signed-off-by: James Cherry <[email protected] >
commit 4fb0dd19e479f507935129fe940bcd1cf93b29d0
Author: James Cherry <[email protected] >
Date: Thu Jul 2 12:23:54 2026 -0700
ApiChanges
Signed-off-by: James Cherry <[email protected] >
commit 510afbc1403c9fd2b764b4f3a71dddabd696f052
Author: James Cherry <[email protected] >
Date: Thu Jul 2 11:07:44 2026 -0700
bfs enqueueFanin/out
Signed-off-by: James Cherry <[email protected] >
commit 9a5aa570e910c289b276a519bdf532dfa2e28c5f
Author: James Cherry <[email protected] >
Date: Thu Jul 2 10:41:27 2026 -0700
Revert "bfs continueFrom/enqueueFanin/out"
This reverts commit d18498c947a7df2b615fafda38fbdbe8033eca9d.
commit 02a253ab252f6637cfea29bdd788cb25da16813d
Author: James Cherry <[email protected] >
Date: Thu Jul 2 08:21:49 2026 -0700
Revert "Bfs rm search_pred"
This reverts commit d858b3380b5e1d81ff6162b6378672a6099a246f.
commit 0adf03613d91c5774545d12cba1dc52052ca732a
Author: James Cherry <[email protected] >
Date: Thu Jul 2 08:08:04 2026 -0700
Genclks::ensureMaster
Signed-off-by: James Cherry <[email protected] >
commit 089b373c548b77f9189a2617c3168867de620dfe
Author: James Cherry <[email protected] >
Date: Wed Jul 1 17:50:43 2026 -0700
Search::ensureDownstreamClkPins() use dfs
Signed-off-by: James Cherry <[email protected] >
commit 000ca16adb9bdcb92266e5f242629bc3e8612658
Author: James Cherry <[email protected] >
Date: Wed Jul 1 10:03:57 2026 -0700
ApiChangeLog
Signed-off-by: James Cherry <[email protected] >
commit d858b3380b5e1d81ff6162b6378672a6099a246f
Author: James Cherry <[email protected] >
Date: Wed Jul 1 09:56:53 2026 -0700
Bfs rm search_pred
Signed-off-by: James Cherry <[email protected] >
commit d18498c947a7df2b615fafda38fbdbe8033eca9d
Author: James Cherry <[email protected] >
Date: Wed Jul 1 08:07:15 2026 -0700
bfs continueFrom/enqueueFanin/out
Signed-off-by: James Cherry <[email protected] >
commit a8c55b12b3ad7a1041766775727ad758ae8c6d18
Author: James Cherry <[email protected] >
Date: Tue Jun 30 10:07:46 2026 -0700
bfs continue
Signed-off-by: James Cherry <[email protected] >
commit 8530dcd86b7ee736f1858143c3b2cee57cdbc991
Author: James Cherry <[email protected] >
Date: Tue Jun 30 07:15:28 2026 -0700
Graph::visitFanin/out uninline edge iter
Signed-off-by: James Cherry <[email protected] >
commit 1ba1f4576f4b72c64db742369a63dcf8726ba002
Author: James Cherry <[email protected] >
Date: Mon Jun 29 21:09:17 2026 -0700
BfsIterator rm Iterator<Vector> subclass
Signed-off-by: James Cherry <[email protected] >
commit b3ddd2580298958ad6da8225ecac0d255315504c
Author: James Cherry <[email protected] >
Date: Mon Jun 29 20:15:23 2026 -0700
ClkNetwork::findClkPins use VertexQueue instead of bfs
Signed-off-by: James Cherry <[email protected] >
commit 9e73154db48a7301be4039a25aec1fef589ef18a
Author: James Cherry <[email protected] >
Date: Mon Jun 29 18:39:39 2026 -0700
Search::ensureDownstreamClkPins use VertexQueue
Signed-off-by: James Cherry <[email protected] >
commit 9cd1b160e126ccacc47375ef508fdbb580bfa162
Author: James Cherry <[email protected] >
Date: Mon Jun 29 11:18:03 2026 -0700
comment
Signed-off-by: James Cherry <[email protected] >
commit 0baf3838e2b8faa5fea560b0c95431b277631fea
Author: James Cherry <[email protected] >
Date: Mon Jun 29 10:57:39 2026 -0700
findClkArrivals use invalid for clk fringe
Signed-off-by: James Cherry <[email protected] >
commit e82ccd10a5e4bd69e41ce889685d7a130ae79ed6
Author: James Cherry <[email protected] >
Date: Sun Jun 28 20:36:48 2026 -0700
Search::findClkArrivals
Signed-off-by: James Cherry <[email protected] >
commit cb66a72686c8728141c72ceb593b8a4b895ff696
Author: James Cherry <[email protected] >
Date: Sun Jun 28 10:11:55 2026 -0700
rm Search::postponeClkFanouts
Signed-off-by: James Cherry <[email protected] >
Signed-off-by: James Cherry <[email protected] >
2026-07-04 09:04:31 -07:00
James Cherry
c81f0c169d
cleanup
...
Signed-off-by: James Cherry <[email protected] >
2026-06-22 16:54:27 -07:00
James Cherry
0e79e35d17
indent
...
Signed-off-by: James Cherry <[email protected] >
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
James Cherry
0fe167a80d
sta_internal_bidirect_instance_paths_enabled use load->driver edges
...
Signed-off-by: James Cherry <[email protected] >
2026-06-15 17:02:58 -07:00
James Cherry
9065d915db
copy() use copy constructors
...
Signed-off-by: James Cherry <[email protected] >
2026-05-05 17:25:09 -07:00
James Cherry
801d621d6b
Dmp delay calc inline algs
...
Signed-off-by: James Cherry <[email protected] >
2026-05-05 17:08:16 -07:00
James Cherry
7fca318611
copy() use copy constructors
...
Signed-off-by: James Cherry <[email protected] >
2026-05-05 16:58:59 -07:00
James Cherry
afa2286edc
copy() use copy constructors
...
Signed-off-by: James Cherry <[email protected] >
2026-05-05 16:35:40 -07:00
James Cherry
1eb2e9b11d
untabify
...
Signed-off-by: James Cherry <[email protected] >
2026-04-25 14:45:49 -07:00
James Cherry
a1c3077139
message ids
...
Signed-off-by: James Cherry <[email protected] >
2026-04-23 18:12:40 -07:00
James Cherry
c8b9ffb22d
tidy
...
Signed-off-by: James Cherry <[email protected] >
2026-04-21 17:30:35 -07:00
James Cherry
6e7ec45bc8
rm extra swig module dcls
...
Signed-off-by: James Cherry <[email protected] >
2026-04-16 15:46:32 -07:00
James Cherry
12c59878ee
prima non-ccs report dcalc resolves #418
...
Signed-off-by: James Cherry <[email protected] >
2026-04-16 15:13:28 -07:00
James Cherry
21848bcdd2
clang tidy
...
Signed-off-by: James Cherry <[email protected] >
2026-04-15 09:38:10 -07:00
James Cherry
63efee64bf
tidy round1
2026-04-13 14:59:05 -07:00
James Cherry
b136ba309a
PrimaDelayCalc::reportGateDelay resolves #418
...
Signed-off-by: James Cherry <[email protected] >
2026-04-09 15:13:40 -07:00
James Cherry
645f2669c9
report_dcalc prima resolves #418
...
Signed-off-by: James Cherry <[email protected] >
2026-04-07 10:45:04 -07:00
James Cherry
84150e925b
prima ceff
...
Signed-off-by: James Cherry <[email protected] >
2026-04-04 09:21:34 -07:00
James Cherry
aedddcecd8
DMP use std::array
...
Signed-off-by: James Cherry <[email protected] >
2026-04-04 09:21:01 -07:00
James Cherry
2f85fdfee3
Dmp cleanup
...
Signed-off-by: James Cherry <[email protected] >
2026-04-03 16:46:05 -07:00
James Cherry
e04f36b541
GraphDelayCalc::findInputArcDelay rm Slew
...
Signed-off-by: James Cherry <[email protected] >
2026-04-03 11:22:38 -07:00
James Cherry
5d40134239
ArnoldiDelayCalc rcmodel
...
Signed-off-by: James Cherry <[email protected] >
2026-04-03 11:22:38 -07:00
James Cherry
638ffa57d4
cleanup
...
Signed-off-by: James Cherry <[email protected] >
2026-03-31 16:45:47 -07:00
James Cherry
8c1ebce695
GraphDelayCalc::findInputDriverDelay rm finishDrvrPin
...
Signed-off-by: James Cherry <[email protected] >
2026-03-31 16:37:38 -07:00
James Cherry
1d4b516239
GraphDelayCalc::findInputArcDelay thread issue
...
Signed-off-by: James Cherry <[email protected] >
2026-03-31 13:59:59 -07:00
James Cherry
6742692876
string squash
...
Signed-off-by: James Cherry <[email protected] >
2026-03-28 19:13:35 -07:00
James Cherry
b9e439f41c
delay calc clip delay to 0.0 resolves #405
...
Signed-off-by: James Cherry <[email protected] >
2026-03-24 18:42:47 -07:00
James Cherry
04f4528c2c
ccs ceff pocv
...
Signed-off-by: James Cherry <[email protected] >
2026-03-22 19:34:59 -07:00
James Cherry
73c2cca24c
delayAsString
...
Signed-off-by: James Cherry <[email protected] >
2026-03-18 16:33:15 -07:00
James Cherry
61b2a4b2c3
indent
...
Signed-off-by: James Cherry <[email protected] >
2026-03-16 16:29:10 -07:00
James Cherry
134b547501
use std::format squash
2026-03-16 15:01:38 -07:00
James Cherry
5fbd2a18b5
Graph::slew/arcDelay rm static
...
Signed-off-by: James Cherry <[email protected] >
2026-03-16 14:53:02 -07:00
James Cherry
d6e7b4256c
lvf squish
...
Signed-off-by: James Cherry <[email protected] >
2026-03-13 14:06:35 -07:00
James Cherry
0a5b95a523
CcsCeffDelayCalc::loadDelaySlew
...
Signed-off-by: James Cherry <[email protected] >
2026-03-13 10:19:07 -07:00
James Cherry
818596f25a
LumpedCapDelayCalc::makeResult resolves #403
...
Signed-off-by: James Cherry <[email protected] >
2026-03-12 15:53:10 -07:00
James Cherry
981f44db68
update copyright
...
Signed-off-by: James Cherry <[email protected] >
2026-03-10 14:57:45 -07:00
James Cherry
129d007f76
override
...
Signed-off-by: James Cherry <[email protected] >
2026-03-09 17:43:03 -07:00
James Cherry
28b9401e31
const
...
Signed-off-by: James Cherry <[email protected] >
2026-03-08 16:15:24 -07:00
James Cherry
859982bdc7
StdStringSeq -> StringSeq
...
Signed-off-by: James Cherry <[email protected] >
2026-03-08 15:51:50 -07:00
James Cherry
d7905a3886
delay_calcs use std::string
...
Signed-off-by: James Cherry <[email protected] >
2026-03-08 14:41:22 -07:00
James Cherry
c2c40f76b1
DmpAlg
...
Signed-off-by: James Cherry <[email protected] >
2026-03-08 14:03:53 -07:00