OpenSTA/dcalc/DmpDelayCalc.cc

429 lines
15 KiB
C++
Raw Normal View History

2018-09-28 17:54:21 +02:00
// OpenSTA, Static Timing Analyzer
// Copyright (c) 2025, Parallax Software, Inc.
2018-09-28 17:54:21 +02:00
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2018-09-28 17:54:21 +02:00
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
//
// The origin of this software must not be misrepresented; you must not
// claim that you wrote the original software.
//
// Altered source versions must be plainly marked as such, and must not be
// misrepresented as being the original software.
//
// This notice may not be removed or altered from any source distribution.
2018-09-28 17:54:21 +02:00
#include "DmpDelayCalc.hh"
2020-04-05 23:53:44 +02:00
#include "TableModel.hh"
#include "TimingArc.hh"
#include "Liberty.hh"
parasitics api update commit 5eb41d9304fe43d22dcf32b5346a6c9705c0d0b3 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Feb 8 11:49:16 2024 -0700 tcl endpoint_count Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ffb0e0a083edbbdc3753b829641ba26730d3d882 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Feb 8 10:51:36 2024 -0700 ArcDelayCalc::reduceParasitic Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ed167b218ed026b0b7427301ace67c3d22cc969a Author: James Cherry <cherry@parallaxsw.com> Date: Wed Feb 7 22:46:40 2024 -0700 parasitics makeResistor/capacitor rm network arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 41244abfcfdee20ddc9aa8ac80cac2e3e7f68146 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Feb 7 17:08:04 2024 -0700 arnoldi coupling caps Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a14d6880be0dc22bf008cae63ec93880c8347ccf Author: James Cherry <cherry@parallaxsw.com> Date: Wed Feb 7 07:28:31 2024 -0700 parasiticLoad Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1cacbd7da71c7f8c5ac311caabd03bb74b66e675 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Feb 7 07:21:49 2024 -0700 parasitic resistor/capacitor index -> id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c749158cc94e5a91376721a8ccb71a8a4d020d5 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 21:42:03 2024 -0700 arnoldi Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4ffa6002224d76321287f64448929e5ef0ec6edd Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 18:27:33 2024 -0700 arnoldi parasitic leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9666dd7c44126b262c7bd1170db69fafa5ef327 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 17:05:24 2024 -0700 arnoldi parasitic leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit eca0e8b5ea3b4dbb22a1a2ed11018e6e40229b3f Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 14:40:38 2024 -0700 comment Signed-Off-by: James Cherry <cherry@parallaxsw.com> commit 0263245b5e2412ebefbedc67babf23e1ac047c7b Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 14:24:51 2024 -0700 CouplingCap -> Capacitor Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f9da059814fb09c44cc3529a9a787c3c2192a4e9 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 09:31:00 2024 -0700 rm parasitic network array if empty Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 28c2728e5f2859839818ef228aac51fd0100ae65 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 08:13:03 2024 -0700 parasitic resistor name -> id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 045fd7efa3ae8b1cf07c5aa421f3119022e3895a Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 21:09:39 2024 -0700 Map -> map Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8f7d18eed14a8173d91fd98a4e345a16d168b0ee Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 21:04:35 2024 -0700 ParasiticResistor, ParasiticCapacitor Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e2df87a10febc573c77b51a22e82d2d1f6f52af9 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 17:06:34 2024 -0700 rm ParasticNode::devices Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 07133b72b73d204d16f964472c38907c18f9758d Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 16:52:43 2024 -0700 Parsitic network nodes instead of nodeIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 48c08673b11d0c328ed7d70606b6c7a979d9d0b8 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 16:34:31 2024 -0700 mv otherNode to Parasitics Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 99fccc76937c25c68454d8db667306bff2a142ae Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 16:29:23 2024 -0700 ParasiticNetwork resistor/capacitor array Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9de49992ad403d7bc3468c53201d50825d7b961c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 09:42:01 2024 -0700 SpefNameMap Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f296850201debeb2cfe1fd0b9c61c3c196f00d65 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 09:11:17 2024 -0700 comments Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 86ca29b9bdeb732c1a596c196e0c4bf91de3ee37 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 08:29:53 2024 -0700 rm Parasitics::reduceTo Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 880bf458d473004ee5d3dc33baa62c9e643ddaec Author: James Cherry <cherry@parallaxsw.com> Date: Sun Feb 4 20:15:05 2024 -0700 loadCap Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 67322e686f4703a2a5d9cdd1dd66534814662fe4 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Feb 4 09:39:21 2024 -0700 report_parasitic_annotation Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8ef4e9841bca62a5879e74da83cacee70fa50b2f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Feb 3 19:13:27 2024 -0700 ParasiticAnalysisPt use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 109a85ab37b5a869a72738ac6a6cd84e4a1d1ac4 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Feb 3 18:59:02 2024 -0700 rm ParasiticAnalysisPt::min_max_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit bb7874537d20a1fe905779fe46d783dba14e2db6 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Feb 3 12:21:28 2024 -0700 parasitics rm pole_residue pointer Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9e1e2c484e5cd088a08afc278f25b9fcf2cc5dd9 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Feb 3 11:54:22 2024 -0700 parasitics rm loads pointer Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cb4a7f870b2371a2ac6b3ce1d340bb5d3c24791a Author: James Cherry <cherry@parallaxsw.com> Date: Sat Feb 3 08:05:55 2024 -0700 parasitics use override Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8e0f84c4fec0411ad3626c836710545531ef219d Author: James Cherry <cherry@parallaxsw.com> Date: Sat Feb 3 07:53:59 2024 -0700 Parasitics::unannotatedLoads Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6b45e369e7be158616219258e6e9a675e87fd8ca Author: James Cherry <cherry@parallaxsw.com> Date: Fri Feb 2 12:27:23 2024 -0700 format Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 27e820b36caf7867d20307c7045e86486819db6b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Feb 1 18:01:51 2024 -0700 rm op_cond args Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 351ed53925c7cc9815f75c34a0320b0dc50445d4 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 31 17:35:15 2024 -0700 rm GraphDelayCalc::loadPins() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3341c7caff595dab0b7519ab5103958aadfe1510 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 31 17:31:56 2024 -0700 read_spef arg check Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7d0c1e78b42e33d5298efefa87a982f28f51bc57 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 31 10:53:35 2024 -0700 arnoldi use parasitics api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 86b39ac10e5c6556a9b0b5b7bce016884cd935ee Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 31 10:30:47 2024 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 469fad36af69cc8b76e4dfc88a085962795d7c46 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 30 16:43:46 2024 -0700 read_spef -reduce Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2b88aa471f083ae895f6277c2c844e308451fff9 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 29 20:31:47 2024 -0700 Paraasitics::connectionPin() -> pin() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b9ff7e228b215b3121b7e7189d9c0c18ced3ef3 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 29 17:12:32 2024 -0700 ParasiticNode::isExternal() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 889c27af846ed1cdf76295da5262836378ab9162 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 29 11:17:59 2024 -0700 rm redundant op_cond arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7d7ce5e7809bc80f36dd81cb05615a87433ed315 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 29 11:03:42 2024 -0700 mv estimatePiElmore to Parasitics Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 04e1757b3c8b4e9f5cffbe3b03214fc065fb1c2c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 29 09:09:28 2024 -0700 ParasiticNode un-virtual Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 016ce50f82cbb68f9536d3ed5fd511b2f82f4439 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 17:26:04 2024 -0700 parasitics coupling cap api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1748629fb462b24b43002ecd3fe1679d367752f4 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 11:12:46 2024 -0700 Parasitics::value rm ap arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1272cb86bcae5960c9af7d589f99f1488aa0b322 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 11:10:57 2024 -0700 read_spef rm -quiet arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3d86a9d86115dde5f20eb4bb8ca15f0c85de5810 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 11:01:24 2024 -0700 reduce min_max arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f7abfd5e72e0f74b9ffabf6306bbf809b62d4e98 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 10:59:29 2024 -0700 rm spef_reader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e3550523b1964b2137419240f748a0b44c3322b6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 10:58:24 2024 -0700 reducers rm op_cond arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cec793accb3db5c41cdb51f85c8530ffc1e085db Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 10:08:45 2024 -0700 rm NullParastics Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6596d35f6da51cbacb2c21588715773d3b5edb64 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 10:03:29 2024 -0700 ArcDelayCalc::reduceParasitic Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-02-08 21:54:52 +01:00
#include "PortDirection.hh"
#include "Network.hh"
2020-04-05 23:53:44 +02:00
#include "Sdc.hh"
#include "Parasitics.hh"
#include "DcalcAnalysisPt.hh"
#include "GraphDelayCalc.hh"
#include "DmpCeff.hh"
2020-04-05 20:35:51 +02:00
2018-09-28 17:54:21 +02:00
namespace sta {
// PiElmore parasitic delay calculator using Dartu/Menezes/Pileggi
// effective capacitance and elmore delay.
class DmpCeffElmoreDelayCalc : public DmpCeffDelayCalc
{
public:
DmpCeffElmoreDelayCalc(StaState *sta);
ArcDelayCalc *copy() override;
const char *name() const override { return "dmp_ceff_elmore"; }
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
ArcDcalcResult inputPortDelay(const Pin *port_pin,
float in_slew,
const RiseFall *rf,
const Parasitic *parasitic,
const LoadPinIndexMap &load_pin_index_map,
const DcalcAnalysisPt *dcalc_ap) override;
protected:
void loadDelaySlew(const Pin *load_pin,
double drvr_slew,
const RiseFall *rf,
const LibertyLibrary *drvr_library,
const Parasitic *parasitic,
// Return values.
ArcDelay &wire_delay,
Slew &load_slew) override;
2018-09-28 17:54:21 +02:00
};
ArcDelayCalc *
makeDmpCeffElmoreDelayCalc(StaState *sta)
{
return new DmpCeffElmoreDelayCalc(sta);
}
DmpCeffElmoreDelayCalc::DmpCeffElmoreDelayCalc(StaState *sta) :
DmpCeffDelayCalc(sta)
{
}
ArcDelayCalc *
DmpCeffElmoreDelayCalc::copy()
{
return new DmpCeffElmoreDelayCalc(this);
}
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
ArcDcalcResult
DmpCeffElmoreDelayCalc::inputPortDelay(const Pin *,
float in_slew,
const RiseFall *rf,
const Parasitic *parasitic,
const LoadPinIndexMap &load_pin_index_map,
const DcalcAnalysisPt *)
{
ArcDcalcResult dcalc_result(load_pin_index_map.size());
LibertyLibrary *drvr_library = network_->defaultLibertyLibrary();
for (auto [load_pin, load_idx] : load_pin_index_map) {
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
ArcDelay wire_delay = 0.0;
Slew load_slew = in_slew;
bool elmore_exists = false;
float elmore = 0.0;
if (parasitic)
parasitics_->findElmore(parasitic, load_pin, elmore, elmore_exists);
if (elmore_exists)
// Input port with no external driver.
dspfWireDelaySlew(load_pin, rf, in_slew, elmore, wire_delay, load_slew);
thresholdAdjust(load_pin, drvr_library, rf, wire_delay, load_slew);
dcalc_result.setWireDelay(load_idx, wire_delay);
dcalc_result.setLoadSlew(load_idx, load_slew);
}
return dcalc_result;
}
2018-09-28 17:54:21 +02:00
void
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
DmpCeffElmoreDelayCalc::loadDelaySlew(const Pin *load_pin,
double drvr_slew,
const RiseFall *rf,
const LibertyLibrary *drvr_library,
const Parasitic *parasitic,
// Return values.
ArcDelay &wire_delay,
Slew &load_slew)
2018-09-28 17:54:21 +02:00
{
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
wire_delay = 0.0;
load_slew = drvr_slew;
2018-09-28 17:54:21 +02:00
bool elmore_exists = false;
float elmore = 0.0;
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
if (parasitic)
parasitics_->findElmore(parasitic, load_pin, elmore, elmore_exists);
if (elmore_exists)
loadDelaySlewElmore(load_pin, elmore, wire_delay, load_slew);
thresholdAdjust(load_pin, drvr_library, rf, wire_delay, load_slew);
2018-09-28 17:54:21 +02:00
}
////////////////////////////////////////////////////////////////
// PiPoleResidue parasitic delay calculator using Dartu/Menezes/Pileggi
// effective capacitance and two poles/residues.
class DmpCeffTwoPoleDelayCalc : public DmpCeffDelayCalc
{
public:
DmpCeffTwoPoleDelayCalc(StaState *sta);
ArcDelayCalc *copy() override;
const char *name() const override { return "dmp_ceff_two_pole"; }
Parasitic *findParasitic(const Pin *drvr_pin,
const RiseFall *rf,
const DcalcAnalysisPt *dcalc_ap) override;
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
ArcDcalcResult inputPortDelay(const Pin *port_pin,
float in_slew,
const RiseFall *rf,
const Parasitic *parasitic,
const LoadPinIndexMap &load_pin_index_map,
const DcalcAnalysisPt *dcalc_ap) override;
ArcDcalcResult gateDelay(const Pin *drvr_pin,
const TimingArc *arc,
const Slew &in_slew,
float load_cap,
const Parasitic *parasitic,
const LoadPinIndexMap &load_pin_index_map,
const DcalcAnalysisPt *dcalc_ap) override;
2018-09-28 17:54:21 +02:00
private:
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
void loadDelaySlew(const Pin *load_pin,
double drvr_slew,
const RiseFall *rf,
const LibertyLibrary *drvr_library,
const Parasitic *parasitic,
// Return values.
ArcDelay &wire_delay,
Slew &load_slew) override;
void loadDelay(double drvr_slew,
Parasitic *pole_residue,
2018-09-28 17:54:21 +02:00
double p1,
double k1,
ArcDelay &wire_delay,
Slew &load_slew);
float loadDelay(double vth,
double p1,
double p2,
double k1,
double k2,
double B,
double k1_p1_2,
double k2_p2_2,
double tt,
double y_tt);
bool parasitic_is_pole_residue_;
float vth_;
float vl_;
float vh_;
float slew_derate_;
};
ArcDelayCalc *
makeDmpCeffTwoPoleDelayCalc(StaState *sta)
{
return new DmpCeffTwoPoleDelayCalc(sta);
}
DmpCeffTwoPoleDelayCalc::DmpCeffTwoPoleDelayCalc(StaState *sta) :
DmpCeffDelayCalc(sta),
parasitic_is_pole_residue_(false),
vth_(0.0),
vl_(0.0),
vh_(0.0),
slew_derate_(0.0)
{
}
ArcDelayCalc *
DmpCeffTwoPoleDelayCalc::copy()
{
return new DmpCeffTwoPoleDelayCalc(this);
}
Parasitic *
2018-09-28 17:54:21 +02:00
DmpCeffTwoPoleDelayCalc::findParasitic(const Pin *drvr_pin,
2019-11-11 23:30:19 +01:00
const RiseFall *rf,
const DcalcAnalysisPt *dcalc_ap)
2018-09-28 17:54:21 +02:00
{
Parasitic *parasitic = nullptr;
Network::id for maps/sets commit be70d30ae05665021254b0d7e69fb8d2f0a82890 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 17:04:49 2023 -0700 cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4d4ef96948afe3d6a00c4521aeb5bc74274f5737 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 16:08:50 2023 -0700 rvo, const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit bb584e4264af2bea867b17d07e8d38c0e9eb0025 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 15:05:00 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a08fe558bca6b769b2728882258bd85aed990a27 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:57:33 2023 -0700 LibertyPortPair no ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4d3bd60c109d1ce9d0589d746f4968fa7bebd90d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:13:07 2023 -0700 cleanup Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dc25ff77771cfbe26f9318bad2b3c45879614783 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:06:13 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 06e81586ce11a0cc06948ed78fef99353077d69e Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:01:10 2023 -0700 sortByName Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9d8592aff5b246f83e47e1b94490e3cef8d8e119 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 11:57:17 2023 -0700 sort pred Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 462a8e14df8b561ddfc842addc62c4b8435b6347 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 11:09:57 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 69f71505b684e88b22d395510429497e87bf1015 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 10:45:14 2023 -0700 flush ConstPortSeq Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6429d578b78eac3fe7e99fcd67a120789932b2eb Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 09:19:15 2023 -0700 rm ConstNetSet Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f247930b16e40560b957a36af68947249ed1ef04 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 08:50:50 2023 -0700 sortPathNames Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4ca2b0e0af7252c7bcbc65cf141d0ce40634d329 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 10:14:05 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3d18640d2ebc4aae3098c7e7242a554fcb64fd42 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 09:41:27 2023 -0700 set_input/ouput_delay -reference_pin Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d4a0854dd2102f46f96a94fb9eb8749f1593a85f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 09:13:46 2023 -0700 PinPairSet no malloc Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a6f1583fc6a856c5ecc0dcb15a1d8b1f61e30718 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 08:53:33 2023 -0700 no malloc for EdgePins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c8e4b92e8b619109d6aa3c141c720646067ccb4b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 06:31:08 2023 +0000 leak commit abab99e0fc3e466d914f6c1705aa08cdc204df51 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 06:07:36 2023 +0000 leaks commit d1913b554bb6e98b89673d80d2295f552eb4ffca Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 19:48:39 2023 -0700 LibertyCell::checkCornerCell Signed-off-by: James Cherry <cherry@parallaxsw.com> commit bcc172237d48deed647374f9592bac70bd2d5425 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 18:19:47 2023 -0700 rvo Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8ef9800b87f5e5548055a13afc21397f28a6bcf7 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 18:07:46 2023 -0700 sdc net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d7235abed04ced4e2d84e91bf9968e621268567d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 16:00:27 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a22f91a3c54c644574339d1126821d9bc8045bd6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 15:52:50 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 762615ce3de91d950eeaaa4680549a45b13e0e0a Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 15:42:19 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7e0c531613d343d23f064c24873bf5a498f6f4ce Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 12:26:49 2023 -0700 rm removeLoadCaps, removeNetLoadCaps Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f2e88c6082e2d4605e9849348008bf4065401fc8 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 12:21:03 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b5939666188c0b94dfe957e22bbd8a92f4786125 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 11:36:16 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a435081bafe10260743319f53a59cbe2ed0388b7 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 08:43:37 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit acfb247559db7b726d47f203613488df0f7add53 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 08:38:07 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7541b71da92ea15085615988a1e6ea1d4d53d8d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 08:00:55 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d033210132656ea68fa834228575b9def1d02d90 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 07:52:03 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ca6e9ecb7821b83ab024c4fee6df8f7fc8fc2ce2 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 07:38:12 2023 -0700 instance_pvt_maps_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 631e4209b596386f5818045d521784db5239f58d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 07:26:42 2023 -0700 rm GroupPathIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 059c32afa87617fff530c9afa1ef8005a136739d Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 14 20:07:44 2023 -0700 rm ClockIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c65fe873a6a6696220bbb44c4ecac87d5ca978ac Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 14 19:45:58 2023 -0700 rvo Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ce15c9a0cc78915acddc2f03749573d989ae96d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 01:04:03 2023 +0000 leaks commit f97955a0c7e70b65ceb3f697ff47c0524a9b3cd4 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 14 01:17:58 2023 +0000 leaks commit 7cdd65684adeb14e02827f5d93e7fab3b19af5dd Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 16:07:47 2023 -0700 leaks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ee97c7e50394a3927458e7ef09c5dbeb27719d15 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 11:52:48 2023 -0700 swig rm Tmp collections Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c49935da8704e41459280971b7645fccd97e3d13 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 11:18:36 2023 -0700 swig rm Tmp types Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4320b00ce700914843006f592126cd8cc1c4657a Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 10:55:10 2023 -0700 swig rm TmpPinSet, TmpPinSeq Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ff6004910980c9b09b41f63a553a4481404cc539 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 10:45:06 2023 -0700 swig rm Tmp collections Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9a5bf5c1a3e5a6d2996b3ab327fa2f3015f2ff20 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 10:15:29 2023 -0700 swig rm one TmpPinSet Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f441116b56e23849485b2393b30e7086c33165a8 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 09:16:56 2023 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 050b08df8618340b568d9cd41fd3d5f052e2c680 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 09:10:53 2023 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be8c17f3a715ab53140748dc1d94698209965cf9 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 08:59:06 2023 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e43b82f8fb52eaeda90e3c7e76cf350ae6735ebd Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 18:57:49 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8db56209de7805ac2574fd2f76170bf68afd156d Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 18:08:54 2023 -0700 GroupPathSet net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cb7917f9827c2ea3afebd735cd4508405a0d77d4 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 12:00:15 2023 -0700 DataCheckLess net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d9da3c62d7a76699c6ad62cebb1f5c39f89722fa Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 11:42:27 2023 -0700 rm hashPtr uses Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5bbea162bb1e023aba813598c7992c740ddf9d0b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 11:30:12 2023 -0700 EdgePins has use net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df38405e2ebaabdd7bbf99f3b19d78b25bd95720 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 09:51:38 2023 -0700 ExceptionPath hash use net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9a6dcfa54c54c9f50b14248a2449c70c20a0d977 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 08:56:49 2023 -0700 ClockInsertion, ClockLatency net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dbb6dc0b8c93812458df31e93f08e0dbd74e8105 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 08:34:03 2023 -0700 ExceptionStateSet obj id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 70b8721c48ec0816289ee09b664c332ee095875f Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 08:14:37 2023 -0700 ClockGroups cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4c6c4ca191a99cd8541e106fec3202ee14968f39 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 07:38:17 2023 -0700 ClockGroup typedef to ClockSet Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 66f425315e16deee5f00b05c0a505766e7afbf01 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 20:32:38 2023 -0700 set cmps Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a94866c7828af5b6714e3e4fffc13bdaf5155c0e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 19:08:09 2023 -0700 net use id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6348320908f42ebb5262117182e13d0024f65537 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 11:52:13 2023 -0700 exception id cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0edfca41b6d6408ac17f8dfe10e697c55146c1ef Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 10:47:02 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 44ad77985da9f0b9e7f4780e3f233c8d94fa7db7 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 08:27:58 2023 -0700 non-ptr set cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 36de7d88c3fa683465604a9e16b2fc1f6bc5fdd0 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 08:00:54 2023 -0700 range iteration Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4a31a2c8d9bdae58b09af8c05a64702ea3ac6c15 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 10 16:43:54 2023 -0700 tcl types Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 056a7447b494a4c8ecc9764650d78a5bed3d87e8 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 10 16:10:36 2023 -0700 tcl types Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 97239554c7625ba50ee729260f08eda7dec02365 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 10 13:10:42 2023 -0700 use RVO Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c3247d8937d483102e3e1f2b69d7ac1d331ba9d4 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 22:41:20 2023 -0700 swig template seq's Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5431c06feb256adb46858819fcf5d513cfa6b5ec Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 20:50:24 2023 -0700 swig set in template Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 592ad641bf01d3beb862314a0d8986f66e258642 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 17:27:25 2023 -0700 network return containers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c95f8b77e0d6bd5ffa5ba8102413c70883c756e1 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 12:15:37 2023 -0700 PinSeq const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 702e7f9ba2f901066a38f32e67b35602b6c7bbdf Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 12:02:29 2023 -0700 InstanceSeq const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 44fc25ba4a15e4ae570d74af27c9435872a126e0 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 12:01:45 2023 -0700 NetSeq const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03b2725c81f5d52c33c875b55056c11d482144f1 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 11:33:18 2023 -0700 rm PortPair Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3fb82a7344dc053171c9883a113764ba691ab827 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 11:20:53 2023 -0700 PinSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3dd31f027e15d40d62a11d0a88ef2a115f01fb73 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 15:03:33 2023 -0700 InstanceSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a91dea5cc0af3bede36b3faed13adb05239ff907 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 11:40:15 2023 -0700 NetSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b91e4b6410134eccae7969ddcfb0b27933b2e746 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 10:44:47 2023 -0700 CellSet, PortSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6f891f77fae5a6b19c1454a1a4b4e3dfae0b5c50 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 10:29:25 2023 -0700 network object sets Signed-off-by: James Cherry <cherry@parallaxsw.com> commit eb8c627a57ecc6e7c5846a01d62b090ff91c08bf Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 10:09:00 2023 -0700 PinSet1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8e864ecbdf87000fbb3c3097c39f06173c941e35 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 7 17:13:03 2023 -0700 concrete network object id Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2023-01-19 19:23:45 +01:00
const Corner *corner = dcalc_ap->corner();
// set_load net has precedence over parasitics.
parasitics api update commit 5eb41d9304fe43d22dcf32b5346a6c9705c0d0b3 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Feb 8 11:49:16 2024 -0700 tcl endpoint_count Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ffb0e0a083edbbdc3753b829641ba26730d3d882 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Feb 8 10:51:36 2024 -0700 ArcDelayCalc::reduceParasitic Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ed167b218ed026b0b7427301ace67c3d22cc969a Author: James Cherry <cherry@parallaxsw.com> Date: Wed Feb 7 22:46:40 2024 -0700 parasitics makeResistor/capacitor rm network arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 41244abfcfdee20ddc9aa8ac80cac2e3e7f68146 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Feb 7 17:08:04 2024 -0700 arnoldi coupling caps Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a14d6880be0dc22bf008cae63ec93880c8347ccf Author: James Cherry <cherry@parallaxsw.com> Date: Wed Feb 7 07:28:31 2024 -0700 parasiticLoad Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1cacbd7da71c7f8c5ac311caabd03bb74b66e675 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Feb 7 07:21:49 2024 -0700 parasitic resistor/capacitor index -> id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c749158cc94e5a91376721a8ccb71a8a4d020d5 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 21:42:03 2024 -0700 arnoldi Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4ffa6002224d76321287f64448929e5ef0ec6edd Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 18:27:33 2024 -0700 arnoldi parasitic leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9666dd7c44126b262c7bd1170db69fafa5ef327 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 17:05:24 2024 -0700 arnoldi parasitic leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit eca0e8b5ea3b4dbb22a1a2ed11018e6e40229b3f Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 14:40:38 2024 -0700 comment Signed-Off-by: James Cherry <cherry@parallaxsw.com> commit 0263245b5e2412ebefbedc67babf23e1ac047c7b Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 14:24:51 2024 -0700 CouplingCap -> Capacitor Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f9da059814fb09c44cc3529a9a787c3c2192a4e9 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 09:31:00 2024 -0700 rm parasitic network array if empty Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 28c2728e5f2859839818ef228aac51fd0100ae65 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Feb 6 08:13:03 2024 -0700 parasitic resistor name -> id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 045fd7efa3ae8b1cf07c5aa421f3119022e3895a Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 21:09:39 2024 -0700 Map -> map Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8f7d18eed14a8173d91fd98a4e345a16d168b0ee Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 21:04:35 2024 -0700 ParasiticResistor, ParasiticCapacitor Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e2df87a10febc573c77b51a22e82d2d1f6f52af9 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 17:06:34 2024 -0700 rm ParasticNode::devices Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 07133b72b73d204d16f964472c38907c18f9758d Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 16:52:43 2024 -0700 Parsitic network nodes instead of nodeIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 48c08673b11d0c328ed7d70606b6c7a979d9d0b8 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 16:34:31 2024 -0700 mv otherNode to Parasitics Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 99fccc76937c25c68454d8db667306bff2a142ae Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 16:29:23 2024 -0700 ParasiticNetwork resistor/capacitor array Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9de49992ad403d7bc3468c53201d50825d7b961c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 09:42:01 2024 -0700 SpefNameMap Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f296850201debeb2cfe1fd0b9c61c3c196f00d65 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 09:11:17 2024 -0700 comments Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 86ca29b9bdeb732c1a596c196e0c4bf91de3ee37 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Feb 5 08:29:53 2024 -0700 rm Parasitics::reduceTo Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 880bf458d473004ee5d3dc33baa62c9e643ddaec Author: James Cherry <cherry@parallaxsw.com> Date: Sun Feb 4 20:15:05 2024 -0700 loadCap Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 67322e686f4703a2a5d9cdd1dd66534814662fe4 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Feb 4 09:39:21 2024 -0700 report_parasitic_annotation Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8ef4e9841bca62a5879e74da83cacee70fa50b2f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Feb 3 19:13:27 2024 -0700 ParasiticAnalysisPt use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 109a85ab37b5a869a72738ac6a6cd84e4a1d1ac4 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Feb 3 18:59:02 2024 -0700 rm ParasiticAnalysisPt::min_max_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit bb7874537d20a1fe905779fe46d783dba14e2db6 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Feb 3 12:21:28 2024 -0700 parasitics rm pole_residue pointer Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9e1e2c484e5cd088a08afc278f25b9fcf2cc5dd9 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Feb 3 11:54:22 2024 -0700 parasitics rm loads pointer Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cb4a7f870b2371a2ac6b3ce1d340bb5d3c24791a Author: James Cherry <cherry@parallaxsw.com> Date: Sat Feb 3 08:05:55 2024 -0700 parasitics use override Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8e0f84c4fec0411ad3626c836710545531ef219d Author: James Cherry <cherry@parallaxsw.com> Date: Sat Feb 3 07:53:59 2024 -0700 Parasitics::unannotatedLoads Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6b45e369e7be158616219258e6e9a675e87fd8ca Author: James Cherry <cherry@parallaxsw.com> Date: Fri Feb 2 12:27:23 2024 -0700 format Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 27e820b36caf7867d20307c7045e86486819db6b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Feb 1 18:01:51 2024 -0700 rm op_cond args Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 351ed53925c7cc9815f75c34a0320b0dc50445d4 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 31 17:35:15 2024 -0700 rm GraphDelayCalc::loadPins() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3341c7caff595dab0b7519ab5103958aadfe1510 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 31 17:31:56 2024 -0700 read_spef arg check Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7d0c1e78b42e33d5298efefa87a982f28f51bc57 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 31 10:53:35 2024 -0700 arnoldi use parasitics api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 86b39ac10e5c6556a9b0b5b7bce016884cd935ee Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 31 10:30:47 2024 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 469fad36af69cc8b76e4dfc88a085962795d7c46 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 30 16:43:46 2024 -0700 read_spef -reduce Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2b88aa471f083ae895f6277c2c844e308451fff9 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 29 20:31:47 2024 -0700 Paraasitics::connectionPin() -> pin() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b9ff7e228b215b3121b7e7189d9c0c18ced3ef3 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 29 17:12:32 2024 -0700 ParasiticNode::isExternal() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 889c27af846ed1cdf76295da5262836378ab9162 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 29 11:17:59 2024 -0700 rm redundant op_cond arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7d7ce5e7809bc80f36dd81cb05615a87433ed315 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 29 11:03:42 2024 -0700 mv estimatePiElmore to Parasitics Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 04e1757b3c8b4e9f5cffbe3b03214fc065fb1c2c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 29 09:09:28 2024 -0700 ParasiticNode un-virtual Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 016ce50f82cbb68f9536d3ed5fd511b2f82f4439 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 17:26:04 2024 -0700 parasitics coupling cap api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1748629fb462b24b43002ecd3fe1679d367752f4 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 11:12:46 2024 -0700 Parasitics::value rm ap arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1272cb86bcae5960c9af7d589f99f1488aa0b322 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 11:10:57 2024 -0700 read_spef rm -quiet arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3d86a9d86115dde5f20eb4bb8ca15f0c85de5810 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 11:01:24 2024 -0700 reduce min_max arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f7abfd5e72e0f74b9ffabf6306bbf809b62d4e98 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 10:59:29 2024 -0700 rm spef_reader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e3550523b1964b2137419240f748a0b44c3322b6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 10:58:24 2024 -0700 reducers rm op_cond arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cec793accb3db5c41cdb51f85c8530ffc1e085db Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 10:08:45 2024 -0700 rm NullParastics Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6596d35f6da51cbacb2c21588715773d3b5edb64 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 28 10:03:29 2024 -0700 ArcDelayCalc::reduceParasitic Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-02-08 21:54:52 +01:00
if (sdc_->drvrPinHasWireCap(drvr_pin, corner)
|| network_->direction(drvr_pin)->isInternal())
return nullptr;
const ParasiticAnalysisPt *parasitic_ap = dcalc_ap->parasiticAnalysisPt();
// Prefer PiPoleResidue.
parasitic = parasitics_->findPiPoleResidue(drvr_pin, rf, parasitic_ap);
if (parasitic)
return parasitic;
parasitic = parasitics_->findPiElmore(drvr_pin, rf, parasitic_ap);
if (parasitic)
return parasitic;
Parasitic *parasitic_network =
parasitics_->findParasiticNetwork(drvr_pin, parasitic_ap);
if (parasitic_network) {
parasitic = parasitics_->reduceToPiPoleResidue2(parasitic_network, drvr_pin, rf,
corner,
dcalc_ap->constraintMinMax(),
parasitic_ap);
if (parasitic)
return parasitic;
}
const MinMax *cnst_min_max = dcalc_ap->constraintMinMax();
Wireload *wireload = sdc_->wireload(cnst_min_max);
if (wireload) {
float pin_cap, wire_cap, fanout;
bool has_wire_cap;
graph_delay_calc_->netCaps(drvr_pin, rf, dcalc_ap, pin_cap, wire_cap,
fanout, has_wire_cap);
parasitic = parasitics_->estimatePiElmore(drvr_pin, rf, wireload,
fanout, pin_cap, corner,
cnst_min_max);
2018-09-28 17:54:21 +02:00
}
return parasitic;
2018-09-28 17:54:21 +02:00
}
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
ArcDcalcResult
DmpCeffTwoPoleDelayCalc::inputPortDelay(const Pin *,
float in_slew,
const RiseFall *rf,
const Parasitic *parasitic,
const LoadPinIndexMap &load_pin_index_map,
const DcalcAnalysisPt *)
2018-09-28 17:54:21 +02:00
{
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
ArcDcalcResult dcalc_result(load_pin_index_map.size());
ArcDelay wire_delay = 0.0;
Slew load_slew = in_slew;
LibertyLibrary *drvr_library = network_->defaultLibertyLibrary();
for (const auto [load_pin, load_idx] : load_pin_index_map) {
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
if (parasitics_->isPiPoleResidue(parasitic)) {
const Parasitic *pole_residue = parasitics_->findPoleResidue(parasitic, load_pin);
if (pole_residue) {
size_t pole_count = parasitics_->poleResidueCount(pole_residue);
if (pole_count >= 1) {
ComplexFloat pole1, residue1;
// Find the 1st (elmore) pole.
parasitics_->poleResidue(pole_residue, 0, pole1, residue1);
if (pole1.imag() == 0.0
&& residue1.imag() == 0.0) {
float p1 = pole1.real();
float elmore = 1.0F / p1;
dspfWireDelaySlew(load_pin, rf, in_slew, elmore, wire_delay, load_slew);
thresholdAdjust(load_pin, drvr_library, rf, wire_delay, load_slew);
}
}
}
}
dcalc_result.setWireDelay(load_idx, wire_delay);
dcalc_result.setLoadSlew(load_idx, load_slew);
}
return dcalc_result;
2018-09-28 17:54:21 +02:00
}
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
ArcDcalcResult
DmpCeffTwoPoleDelayCalc::gateDelay(const Pin *drvr_pin,
const TimingArc *arc,
const Slew &in_slew,
float load_cap,
const Parasitic *parasitic,
const LoadPinIndexMap &load_pin_index_map,
const DcalcAnalysisPt *dcalc_ap)
2018-09-28 17:54:21 +02:00
{
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
const LibertyLibrary *drvr_library = arc->to()->libertyLibrary();
const RiseFall *rf = arc->toEdge()->asRiseFall();
vth_ = drvr_library->outputThreshold(rf);
vl_ = drvr_library->slewLowerThreshold(rf);
vh_ = drvr_library->slewUpperThreshold(rf);
slew_derate_ = drvr_library->slewDerateFromLibrary();
return DmpCeffDelayCalc::gateDelay(drvr_pin, arc, in_slew, load_cap, parasitic,
load_pin_index_map, dcalc_ap) ;
2018-09-28 17:54:21 +02:00
}
void
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
DmpCeffTwoPoleDelayCalc::loadDelaySlew(const Pin *load_pin,
double drvr_slew,
const RiseFall *rf,
const LibertyLibrary *drvr_library,
const Parasitic *parasitic,
// Return values.
ArcDelay &wire_delay,
Slew &load_slew)
2018-09-28 17:54:21 +02:00
{
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
parasitic_is_pole_residue_ = parasitics_->isPiPoleResidue(parasitic);
// Should handle PiElmore parasitic.
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
wire_delay = 0.0;
load_slew = drvr_slew;
2018-09-28 17:54:21 +02:00
Parasitic *pole_residue = 0;
if (parasitic_is_pole_residue_)
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
pole_residue = parasitics_->findPoleResidue(parasitic, load_pin);
2018-09-28 17:54:21 +02:00
if (pole_residue) {
size_t pole_count = parasitics_->poleResidueCount(pole_residue);
if (pole_count >= 1) {
ComplexFloat pole1, residue1;
// Find the 1st (elmore) pole.
parasitics_->poleResidue(pole_residue, 0, pole1, residue1);
if (pole1.imag() == 0.0
&& residue1.imag() == 0.0) {
float p1 = pole1.real();
float k1 = residue1.real();
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
if (pole_count >= 2)
loadDelay(drvr_slew, pole_residue, p1, k1, wire_delay, load_slew);
else {
float elmore = 1.0F / p1;
wire_delay = elmore;
load_slew = drvr_slew;
}
2018-09-28 17:54:21 +02:00
}
}
}
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
thresholdAdjust(load_pin, drvr_library, rf, wire_delay, load_slew);
2018-09-28 17:54:21 +02:00
}
void
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
DmpCeffTwoPoleDelayCalc::loadDelay(double drvr_slew,
Parasitic *pole_residue,
double p1,
double k1,
// Return values.
ArcDelay &wire_delay,
2018-09-28 17:54:21 +02:00
Slew &load_slew)
{
ComplexFloat pole2, residue2;
parasitics_->poleResidue(pole_residue, 1, pole2, residue2);
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
if (!delayZero(drvr_slew)
2018-09-28 17:54:21 +02:00
&& pole2.imag() == 0.0
&& residue2.imag() == 0.0) {
double p2 = pole2.real();
double k2 = residue2.real();
double k1_p1_2 = k1 / (p1 * p1);
double k2_p2_2 = k2 / (p2 * p2);
double B = k1_p1_2 + k2_p2_2;
// Convert tt to 0:1 range.
ArcDelayCalc api update for multiple drivers commit a78442d7d6672bfcbea5f5007803ab27891b9eab Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 7 13:40:02 2024 -0700 rm OutputWaveforms::currentVoltage Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 074e1c93d4957425c0f2a3afdfce8f0e06ff98a1 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:49:08 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f6deec2ffcbe85a1c473525b93f6a6514692181 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 13 16:43:24 2023 -0700 MultiDrvrNet remove instead of update Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f5f48fe09bacd101d1e909f45e087ba8c620561 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 11 09:24:54 2023 -0700 compile errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8fc4292e325f7ac10bd8e5d57b5a8111abb05ed Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 18:25:04 2023 -0700 ArcDcalcWaveforms Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be114b10adca194d80ac9529e8635c11ed9c1c32 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 11:34:59 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7b71e137b088c1293e628e594dde6a8223927ee8 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Dec 9 10:39:30 2023 -0700 GraphDelayCalc::findDriverArcDelays Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b13a791cd57c5b9f9b454b3cf22959fbe3b9667e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:14:09 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit abf90ca7c08fd349cfb68554bdeae5a9c3b91a23 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:12:52 2023 -0700 unused arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6bda70448ef133586594503d78b8838421f7a52d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 13:10:04 2023 -0700 gateDelay rm pvt arg Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2f51ed07fa14f039a048c3a146ca1b017fb45f16 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 8 10:24:57 2023 -0700 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 362950b9d9aa52f3c331c1007a6ee6a34140812e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Dec 6 17:00:45 2023 -0700 ArcDcalcResult gateDelay Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 91f1307ac04752e00dfde42b34e84f66fdb60a57 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 4 17:22:40 2023 -0700 ArcDcalcArg/Result Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74d289e450edf54b1a9215b92c85b1d6a011820d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 17:45:04 2023 -0700 multi drvr init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c956838aba74c2f27280253f0452e0350bb05c33 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Dec 1 12:10:23 2023 -0800 arc dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5aa2c42833e5f68e901d4ac61d8bef426252e5ab Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 15:42:43 2023 -0800 dcalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 434327b7d80fdf8fe3410390c88b299b46e9139b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Nov 30 11:36:21 2023 -0800 arc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 263e1dee49d7133653fbe0bad9b8243ba5259548 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Nov 29 18:48:32 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9f05513c09564d75cb377a5a89399a250ab5d6b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Nov 27 10:48:59 2023 -0800 ArcDelayCalc api Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-01-07 21:44:04 +01:00
float tt = delayAsFloat(drvr_slew) * slew_derate_ / (vh_ - vl_);
2018-09-28 17:54:21 +02:00
double y_tt = (tt - B + k1_p1_2 * exp(-p1 * tt)
+ k2_p2_2 * exp(-p2 * tt)) / tt;
wire_delay = loadDelay(vth_, p1, p2, k1, k2, B, k1_p1_2, k2_p2_2, tt, y_tt)
- tt * vth_;
float tl = loadDelay(vl_, p1, p2, k1, k2, B, k1_p1_2, k2_p2_2, tt, y_tt);
float th = loadDelay(vh_, p1, p2, k1, k2, B, k1_p1_2, k2_p2_2, tt, y_tt);
load_slew = (th - tl) / slew_derate_;
}
}
float
DmpCeffTwoPoleDelayCalc::loadDelay(double vth,
double p1,
double p2,
double k1,
double k2,
double B,
double k1_p1_2,
double k2_p2_2,
double tt,
double y_tt)
{
if (y_tt < vth) {
// t1 > tt
// Initial guess.
double t1 = log(k1 * (exp(p1 * tt) - 1.0) / ((1.0 - vth) * p1 * p1 * tt))/p1;
// Take one newton-raphson step.
double exp_p1_t1 = exp(-p1 * t1);
double exp_p2_t1 = exp(-p2 * t1);
double exp_p1_t1_tt = exp(-p1 * (t1 - tt));
double exp_p2_t1_tt = exp(-p2 * (t1 - tt));
double y_t1 = (tt - k1_p1_2 * (exp_p1_t1_tt - exp_p1_t1)
- k2_p2_2 * (exp_p2_t1_tt - exp_p2_t1)) / tt;
double yp_t1 = (k1 / p1 * (exp_p1_t1_tt - exp_p1_t1)
- k2 / p2 * (exp_p2_t1_tt - exp_p2_t1)) / tt;
double delay = t1 - (y_t1 - vth) / yp_t1;
return static_cast<float>(delay);
}
else {
// t1 < tt
// Initial guess based on y(tt).
double t1 = vth * tt / y_tt;
// Take one newton-raphson step.
double exp_p1_t1 = exp(-p1 * t1);
double exp_p2_t1 = exp(-p2 * t1);
double y_t1 = (t1 - B + k1_p1_2 * exp_p1_t1
+ k2_p2_2 * exp_p1_t1) / tt;
double yp_t1 = (1 - k1 / p1 * exp_p1_t1
- k2 / p2 * exp_p2_t1) / tt;
double delay = t1 - (y_t1 - vth) / yp_t1;
return static_cast<float>(delay);
}
}
} // namespace