write_path_spice

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2026-03-21 12:32:10 -07:00
parent bacb61feaa
commit 420519c5d9
4 changed files with 1747 additions and 1732 deletions

View File

@ -4,6 +4,13 @@ OpenSTA Timing Analyzer Release Notes
This file summarizes user visible changes for each release. This file summarizes user visible changes for each release.
See ApiChangeLog.txt for changes to the STA api. See ApiChangeLog.txt for changes to the STA api.
2026/03/23
----------
The write_path_spice command -spice_directory has been changed to
-spice_file, which is a prefix for the spice filenames. Successive
paths are written in files name <spice_file>_<path_number>.sp.
Release 3.0.1 2026/03/12 Release 3.0.1 2026/03/12
------------------------ ------------------------

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -25,7 +25,7 @@
namespace eval sta { namespace eval sta {
define_cmd_args "write_path_spice" { -path_args path_args\ define_cmd_args "write_path_spice" { -path_args path_args\
-spice_directory spice_directory\ -spice_file spice_file\
-lib_subckt_file lib_subckts_file\ -lib_subckt_file lib_subckts_file\
-model_file model_file\ -model_file model_file\
-power power\ -power power\
@ -34,12 +34,13 @@ define_cmd_args "write_path_spice" { -path_args path_args\
proc write_path_spice { args } { proc write_path_spice { args } {
parse_key_args "write_path_spice" args \ parse_key_args "write_path_spice" args \
keys {-spice_directory -lib_subckt_file -model_file \ keys {-spice_file -lib_subckt_file -model_file \
-power -ground -path_args -simulator} \ -power -ground -path_args -simulator} \
flags {} flags {}
if { [info exists keys(-spice_directory)] } { if { [info exists keys(-spice_file)] } {
set spice_dir [file nativename $keys(-spice_directory)] set spice_file [file nativename $keys(-spice_file)]
set spice_dir [file dirname $spice_file]
if { ![file exists $spice_dir] } { if { ![file exists $spice_dir] } {
sta_error 1920 "Directory $spice_dir not found." sta_error 1920 "Directory $spice_dir not found."
} }
@ -50,7 +51,7 @@ proc write_path_spice { args } {
sta_error 1922 "Cannot write in $spice_dir." sta_error 1922 "Cannot write in $spice_dir."
} }
} else { } else {
sta_error 1923 "No -spice_directory specified." sta_error 1923 "No -spice_file specified."
} }
if { [info exists keys(-lib_subckt_file)] } { if { [info exists keys(-lib_subckt_file)] } {
@ -96,10 +97,10 @@ proc write_path_spice { args } {
set path_index 1 set path_index 1
foreach path_end $path_ends { foreach path_end $path_ends {
set path [$path_end path] set path [$path_end path]
set path_name "path_$path_index" set path_file "${spice_file}_$path_index"
set spice_file [file join $spice_dir "$path_name.sp"] set spice_file1 ${path_file}.sp
set subckt_file [file join $spice_dir "$path_name.subckt"] set subckt_file ${path_file}.subckt
write_path_spice_cmd $path $spice_file $subckt_file \ write_path_spice_cmd $path $spice_file1 $subckt_file \
$lib_subckt_file $model_file $power $ground $ckt_sim $lib_subckt_file $model_file $power $ground $ckt_sim
incr path_index incr path_index
} }