OpenSTA/parasitics/Parasitics.tcl

127 lines
4.2 KiB
Tcl
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
namespace eval sta {
2019-01-17 00:37:31 +01:00
define_cmd_args "read_spef" \
2021-05-16 01:55:10 +02:00
{[-corner corner]\
[-min]\
2018-11-26 18:15:52 +01:00
[-max]\
[-path path]\
[-pin_cap_included]\
[-keep_capacitive_coupling]\
[-coupling_reduction_factor factor]\
[-reduce]\
2018-11-26 18:15:52 +01:00
[-delete_after_reduce]\
filename}
2018-09-28 17:54:21 +02:00
2019-01-17 00:37:31 +01:00
proc_redirect read_spef {
parse_key_args "read_spef" args \
keys {-path -coupling_reduction_factor -corner -name} \
flags {-min -max -increment -pin_cap_included -keep_capacitive_coupling -reduce}
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
check_argc_eq1 "read_spef" $args
set reduce [info exists flags(-reduce)]
2018-09-28 17:54:21 +02:00
set instance [top_instance]
if [info exists keys(-path)] {
set path $keys(-path)
set instance [find_instance $path]
if { $instance == "NULL" } {
sta_error 276 "path instance '$path' not found."
2018-09-28 17:54:21 +02:00
}
}
2021-05-16 01:55:10 +02:00
set corner [parse_corner_or_all keys]
2018-09-28 17:54:21 +02:00
set min_max [parse_min_max_all_flags flags]
set coupling_reduction_factor 1.0
if [info exists keys(-coupling_reduction_factor)] {
set coupling_reduction_factor $keys(-coupling_reduction_factor)
check_positive_float "-coupling_reduction_factor" $coupling_reduction_factor
}
set keep_coupling_caps [info exists flags(-keep_capacitive_coupling)]
2018-11-26 18:15:52 +01:00
set pin_cap_included [info exists flags(-pin_cap_included)]
2020-12-23 17:02:56 +01:00
set filename [file nativename [lindex $args 0]]
return [read_spef_cmd $filename $instance $corner $min_max \
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
$pin_cap_included $keep_coupling_caps \
$coupling_reduction_factor $reduce]
2018-09-28 17:54:21 +02:00
}
read_vcd, report_activity_annotation resolves #162 resolves $158 commit 02be8357f8ba158292faab0e8d8b8d220e69c842 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:59:20 2025 -0700 sort regressions Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b0e1d863d34853b70d342c6bb0baa400a08db207 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:44:07 2025 -0700 PowerResult::incf* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 23ed0ed05d8bbf83cc5b6fa7598f1253cbe2b222 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:49:24 2025 -0700 gzip vcd/saif Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5a1a7b80e00b2deb51505b2e60312e3c29284fe Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:12:09 2025 -0700 report_activity_annotation sort pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c149cc6d66addda4eee5f56dbe4731876f1efa9 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 16:47:02 2025 -0700 vcd/saif do not annotate internal pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fe8c7c7fc7b2878cb16c7d2a57e1161555f9a36f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 11 17:09:22 2025 -0700 report_activity_annotation Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a8f87ba05c6c6f31017288d573c23e92cac4f9e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 11:57:22 2025 -0700 ReadVcdActivies factor VcdCountReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa70ae987c4a749e53ae2f93c8ff04a3c28b0b08 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 09:06:09 2025 -0700 vcd high time Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 242493e992949ee72493f4f15a0fe92630ad2f03 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:14:02 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8621a83d7abf5efcf54c24a1a16bba0c8eb5e441 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:11:22 2025 -0700 ReadVcdActivities rm sta_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fc0327c39c5aef6d09580795f6a13abf9b9f8266 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 09:36:30 2025 -0700 var name Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5b6e2ac66cef9355a9a87edcc185b483f5781ce Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 08:23:50 2025 -0700 vcd passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0f6d268542b3dd431882cfa4e3d131d6d2fb933 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 20:19:27 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8181e206ee39e4c3fdd69ef1d3463092763c3d2b Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:41:59 2025 -0700 vcd debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 652736654b853d1f7fb64545c6a48500e1e3b83f Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:17:06 2025 -0700 vcd bus support Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03c877512d92b0148fd62cbc636da58ef6fb25ff Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:11:21 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53bbd97a28d619ca87a546f34a3643c227b9df78 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 16:02:47 2025 -0700 rm Vcd structs, ReadVcdActivities -> VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 745efff41221c3b06ba19931e4f8a58e5b0758ae Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:46:49 2025 -0700 vcd skip hpins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9a6177e8b671f0619809611984ed16f2d1a5b7a Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:39:41 2025 -0700 ReadVcdActivies rm vcd_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b51b13b02c257d10385312d246e0da1f11b72f2 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:28:31 2025 -0700 power_vcd1 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 744669797d1a4189c417d9d2f359cbd1f5bc7113 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 10:16:35 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f0aeac1cd8349302b758ce4b79fd753063565f2 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 6 16:20:13 2025 -0800 vcd reader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 01d296ce9b3ad8ac7e6dddf28a41a718b4138869 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:08:41 2025 -0800 vcd rm max_var_width Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9ffdb19074e5c38464b88ead0ec751ae7d3c506c Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:03:06 2025 -0800 vcd rm max_var_name_length_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c577143d4a166bd133a9d97d1761b52b8e122dd Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 15:58:29 2025 -0800 ReadVcdActivities isa VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6914405d0799b967a92634fe1aa251aaea4cdfbc Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 17:24:57 2025 -0800 vcd parse rm StaState dependence Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a0bd7aa5eee2e87c883776bf4840d117335e4a8b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 16:41:55 2025 -0800 vcd headers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4842d19d7a5c47d6ee46f297cb9404ab77fe2662 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 15:59:46 2025 -0800 refactor vcd parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-16 00:20:21 +01:00
define_cmd_args "report_parasitic_annotation" {[-report_unannotated]}
proc_redirect report_parasitic_annotation {
parse_key_args "report_parasitic_annotation" args \
keys {} flags {-report_unannotated}
check_argc_eq0 "report_parasitic_annotation" $args
set report_unannotated [info exists flags(-report_unannotated)]
report_parasitic_annotation_cmd $report_unannotated [sta::cmd_corner]
}
2018-09-28 17:54:21 +02:00
# set_pi_model [-min] [-max] drvr_pin c2 rpi c1
proc set_pi_model { args } {
parse_key_args "set_pi_model" args keys {} flags {-max -min}
check_argc_eq4 "set_pi_model" $args
set drvr_pin_name [lindex $args 0]
set c2 [lindex $args 1]
check_positive_float "c2" $c2
set c2 [capacitance_ui_sta $c2]
set rpi [lindex $args 2]
check_positive_float "Rpi" $rpi
set rpi [resistance_ui_sta $rpi]
set c1 [lindex $args 3]
check_positive_float "c1" $c1
set c1 [capacitance_ui_sta $c1]
set min_max [parse_min_max_all_check_flags flags]
set drvr_pin [get_port_pin_error "drvr_pin" $drvr_pin_name]
set_pi_model_cmd $drvr_pin "rise" $min_max $c2 $rpi $c1
set_pi_model_cmd $drvr_pin "fall" $min_max $c2 $rpi $c1
}
# set_elmore [-min] [-max] drvr_pin_name load_pin_name elmore
proc set_elmore { args } {
parse_key_args "set_elmore" args keys {} flags {-min -max}
check_argc_eq3 "set_elmore" $args
set drvr_pin_arg [lindex $args 0]
set drvr_pin [get_port_pin_error "drvr_pin" $drvr_pin_arg]
set load_pin_arg [lindex $args 1]
set load_pin [get_port_pin_error "load_pin" $load_pin_arg]
set elmore [lindex $args 2]
check_positive_float "elmore delay" $elmore
set elmore [time_ui_sta $elmore]
set min_max [parse_min_max_all_check_flags flags]
set_elmore_cmd $drvr_pin $load_pin "rise" $min_max $elmore
set_elmore_cmd $drvr_pin $load_pin "fall" $min_max $elmore
}
# sta namespace end
}