Running SIwave in Non-Graphical Batch Mode
In batch mode, the SIwave GUI never opens.
To run SIwave in non-graphical batchmode, use the following syntax:
siwave_ng <path to .siw> <path to .exec file> -formatOutput -useSubdir
This command, in addition to executing a requested simulation type, creates an appropriate directory hierarchy so that results can be post-processed in the UI. The arguments do the following:
- formatOutput – instructs SIwave to generate information/error/warning messages in a verbose format that is intended for consumption by the SIwave user interface.
- useSubdir – instructs siwave_ng not to create a separate .siwaveresults working directory for simulation setup and execution. Processing is performed in the directory containing the SIwave project (or AEDB) passed as the first argument.
An .aedb directory file (e.g., Ansys Electronics Database) or .siwz archive file may be substituted for an .siw file.
Running Batch Mode Simulations Remotely
To run a simulation on a remote server, use the following syntax:
-rs <server_name> <TCP/IP port number on server> <remote_project_name>
Example:
siwave_ng pcb.siw syz.exec -rs remotesrv01 31000 pcb
The remote server must be preconfigured as described in Running a Remote Solve for Windows or Linux.
Exec File Strings
The .exec file should contain one at least one of the following strings (which specify the type of analysis to execute):
| String | Result |
| AddSwp <fstart> <fstop> <numpts> <Decade|Linear> [linear frequency step size] |
Adds additional sweep points, allowing for changes in the number of points used and sweep type. Used in conjunction with SetSwp. Example: SetSwp 0 1000 10 Decade AddSwp 1000 5e9 500 Linear 5 |
| AutoIdPgNets | Auto identification of signal & power/ground nets. |
| ClearDiffNetClassification | Clears differential net classification on the attached project. |
| Compute DcL <boolean> | Determines whether to perform DCL calculation during DC IR simulation. |
| ComputeExactDcPt <boolean> | Run an SYZ simulation with the exact DC point computation enabled. |
| CpaSimulationFidelity | Arguments are optimal or exhaustive. When optimal is used as an argument, you can see partial inductance in RLGC matrix. If exhaustive is used as an argument, you will see loop inductance. |
| CpaUseQ3D <boolean> | Determines whether to use Q3D solver during CPA RLGC solve. |
| CpaChannelSetup <boolean> | For a CPA simulation, 1 selects CPA channel setup. 0 selects individual source/sink setup. |
| CpaEsdrModel <boolean> | For a CPA simulation, 1 selects ESD R Model. 0 selects RLCG model. |
| CrosstalkScanConfigFile <path> |
Specifies the path to a Crosstalk Scan configuration file. See Crosstalk Scan Automation. Example: CrosstalkScanConfigFile "C:/Folder/xtalk_config.xml" |
| CrosstalkThreshold | Corresponds to the coupling threshold set in SI/PI Advanced Options. |
| DiffNetDifferentiators |
Used to classify nets as differential based on the specified net name suffix pair; two strings separated by a semicolon should be provided on each DiffNetDifferentiators line in the EXEC file Example: DiffNetDifferentiators _P;_N DiffNetDifferentiators +;- |
| DistributeCpa HpcHostName <machine_name|IP address> <CPUs_to_use> <%Memory> |
Configures CPA-Q3D simulations for distribution. Example: DistributeCpa HpcHostName \\cdcebudevw10 8 80 HpcHostName \\cdcebudevw14 8 90 |
| DistributePsiSyz HpcHostName <machine_name|IP address> <CPUs_to_use> <%Memory> |
Configures PSI SYZ simulations for distribution. Example: DistributePsiSyz HpcHostName \\cdcebudevw10 8 80 HpcHostName \\cdcebudevw14 8 90 |
| DistributeSIwaveSyz HpcHostName <machine_name|IP address> <CPUs_to_use> <%Memory> |
Configures SIwave SYZ simulations for distribution. Example: DistributeSIwaveSyz HpcHostName \\pitansoft10 6 80 HpcHostName \\pitansoft11 6 80 HpcHostName \\pitansoft12 6 80 |
| EmiScanRulesFile <path> |
Sets the EMI Scanner rules file. A rules file can be generated using the Export Rules File button in EMI Scanner. Example: EmiScanRulesFile "E:/Ansys/Scripting/EMI_scanner_rules.xml" |
| EmiScanTagsFile <path> |
Sets the EMI Scanner tags file. A tags file can be generated using the Export Tags File button in EMI Scanner. Example: EmiScanTagsFile "E:/Ansys/Scripting/EMI_scanner_tags.tgs" |
| EnableQ3dDomains <boolean> | Enables 3D DDM during SIwave SYZ sweep. |
| ExecAcSim | Computes a Frequency Sweep. |
| ExecCrosstalkSim | Computes a frequency domain Crosstalk Scan. |
| ExecDcSim | Computes a DC IR Drop simulation. |
| ExecEmiScanSim | Computes an EMI Scan. |
| ExecFfSim | Computes a Far Fields simulation. |
| ExecFwsSim | Computes full wave SPICE subcircuits. |
| ExecHfssPiSyzSim | Pulls HFSS solve license and computes SYZ parameters using HFSS-PI. |
| ExecIcepakSim | Computes an Icepak simulation. |
| ExecInducedVoltageSim | Computes an Induced Voltage simulation. |
| ExecMTTFSim | Computes an EM MTTF simulation. |
| ExecNfSim | Computes a Near Fields simulation. |
| ExecPdnSim | Computes a PDN Channel Builder simulation. |
| ExecPiOptSim | Computes a PI Advisor simulation. |
| ExecPsiPdnSim | Computes a PDN Channel Builder simulation using PSI. |
| ExecResModeSim | Computes a Resonant Modes simulation. |
| ExecSentinelCpaSim | Computes a CPA simulation. |
| ExecSentinelPsiAcSim | Computes AC currents using the PSI solver. |
| ExecSentinelPsiSyzSim | Computes SYZ parameters using the PSI solver. |
| ExecSyzSim | Computes SYZ parameters using SIwave. |
| ExecTimeDomainCrosstalkSim | Computes a time domain Crosstalk scan. |
| ExecZ0Sim | Computes an Impedance scan. |
| ExportIBIS <path> |
Specifies the path to an IBIS file to export after S-parameter simulation (either SIwave or PSI) completes. Example: ExportIBIS "C:/Simulation Results/SIwave/IBIS/package_design_rev1.ibs" |
| ExportDcThermalData <boolean> | Determines whether to export DC thermal data during DC IR simulation. |
| ExportNearField | Exports Near Field data to the project directory. |
| ExportTouchstone <path> |
Exports Touchstone data to the specified directory. Example: ExportTouchstone "C:/Test" |
| HpcHostName |
Specifies the name of a machine to use for distributed solves; the machine name can be provided as an IP address or in UNC format. Two additional parameters after the machine name specify the number of cores to use on the machine and the fraction (as a percentage) of total memory available for simulation on that machine. Example: HpcHostName \\cdcebudevw10 8 80 HpcHostName 10.3.27111 8 80 |
| IBISExportFrequency |
Specifies the frequency at which the IBIS export (specified by the ExportIBIS directive) is to be performed. Example: IBISExportFrequency "500MHz" |
| IcepakThermalDataDir | Specifies the location of the dcthermal power files for use in an Icepak simulation. This takes priority over the dcthermal location for the DC simulation on which the Icepak simulation is based. |
| IncludeInfGnd |
Specifies the elevation of an infinite ground plane below the bottom-most metal layer. Such infinite ground planes only impact SIwave AC (resonant mode, frequency sweep, SYZ and impedance/crosstalk scans) simulations. Example: IncludeInfGnd 100mil |
| InterpSwpCvg <Relative error for S> | Specifies the relative error for S during an interpolating sweep. |
| MinCutoutArea |
Specifies an area threshold for small cutout/void defeaturing in planes. All voids under this threshold are considered as filled in metal during SIwave AC (resonant mode, frequency sweep, SYZ, impedance/crosstalk) simulations. Example: MinCutoutArea 3mm2 |
| MpiVendor <Intel|Microsoft> |
Specifies the MPI vendor (either Intel or Microsoft) to use during distributed simulations. Example: MpiVendor Intel |
| MpiVersion <2018|2021> |
Specifies the MPI version to use during distributed simulations. Example: MpiVersion 2021 |
| MTTFSimConfigFile <path> |
Specifies the path to an EM MTTF configuration file. See EM MTTF Simulation Automation. Example: MTTFSimConfigFile "C:/Folder/mttf_config.xml" |
| NetsToSimulate .* |
The token following "NetsToSimulate" is interpreted as a Perl regular expression, so you can filter out/include nets. Example: ExecSyzSim NetsToSimulate VCC.* NetsToSimulate GND.* NetsToSimulate ^A-MII.* NetsToSimulate ^RAM.* ExecZ0Sim NetsToSimulate ".*" SetNumCpus 30 ExecCrosstalkSim NetsToSimulate ".*" SetNumCpus 30 |
| NumInterpPts <int> | Specifies the number of points for the interpolating sweep. |
| NumProcsPerPsiEngine <int> |
Used in PSI SYZ distribution. Example: ExecSentinelPsiSyzSim DistributePsiSyz NumProcsPerPsiEngine 6 HpcHostName \\cdcebudevw10 8 80 HpcHostName \\cdcebudevw14 8 90 |
| PerformErc <true|false> | Determines whether to perform ERC during simulation setup. |
| ProjectDir <path> |
Specifies the project directory. |
| PsiSyzEnforceDcPtAndCausality | Checks for the presence of DC points in the Results folder *.sNp file. |
| PsiSyzSetAdaptiveSampling |
Checks for the presence of DC points in the Results folder *.sNp file. Adds frequency points near changes in response. A larger number of frequency points will be outputted in the *.SBin and Touchstone files. |
| PsiSyzSetFastSwp | Checks for the presence of "Fastsweep has been selected" in the _PSI.log file. The number of frequencies required to simulate should be smaller at the expense of more memory. |
| PsiSyzSetInterpSwp | Use Interpolating sweep. |
| PsiWorkingDir |
Specifies a temporary working directory for the PSI solver to use during simulation. This directory must be writable. Example: PsiWorkingDir "C:/Temp" |
| PsiSharedDir |
Specifies a shared directory that all machines specified in the distributed solve setup for PSI SYZ simulations must be able to access and write into. Example: PsiSharedDir "\\cdcebudevw10\users\john\psi_shared_dir" |
| RemoveCutoutsByArea <yes|no> |
Specifies whether voids whose areas fall under the threshold indicated by the MinCutoutArea directive are to be removed during SIwave AC simulations. Example: RemoveCutoutsByArea yes |
| SaveArchive <*.siwz path> | Saves the SIwave archive. |
| SaveEdb <*.aedb path> | Saves the Ansys Electronics Database file. |
| SaveSiw <*.siw path> | Saves the SIwave project. |
| SaveSiwWithModels <*.siw path> | Saves SIwave project and all associated vendor capacitor and inductor S-parameter models into a single *.siw file that can be simulated on a different system without loss of model assignments. |
| SetDCSimName - <name> | Sets the name of a DC IR simulation. |
| SetDiscreteSwp | Tells the simulation to use a discrete sweep. |
| SetEmiScanSimName - <name> | Sets the name of an EMI scan. |
| SetFdXtalkScanSimName - <name> | Sets the name of a Frequency Domain Crosstalk scan. |
| SetMTTFSimName - <name> | Sets the name of an EM MTTF simulation. |
| SetIcepakSimName - <name> | Sets the name of an Icepak simulation. |
| SetInterpSwp | Tells the simulation to use an interpolating sweep. |
| SetNumCpus <int> | Sets the number of CPUs. |
| SetSIwaveSyzSimName - <name> | Sets the name of an SIwave SYZ simulation. |
| SetSwp <freq_start> <freq_end> <num_pts> <linear|decade> [linear frequency step size] |
Used to specify Frequency Sweep parameters. Examples: SetSwp 0 1000 10 Decade SetSwp 0 5e9 100 Linear SetSwp 5e9 10e9 100 Linear 10e6 (Sweep from 5GHz to 10GHz with a frequency step size of 10MHz) |
| SetTdXtalkScanSimName - <name> | Sets the name of a Time Domain Crosstalk scan. |
| SetZ0ScanSimName - <name> | Sets the name of an Impedance scan. |
| SIwaveSyzEnforceCausality <boolean> | Enforces causality for a discrete or interpolating SYZ sweep. |
| SIwaveSyzEnforcePassivity <boolean> | Enforces passivity for a discrete or interpolating SYZ sweep. |
| SolverMemLimit <%Memory> |
Sets the maximum percentage of memory to be used by the solver on a machine when using a HPC License. Used in conjunction with UseHpcLicenses. Example: UseHpcLicenses pack SolverMemLimit 80 |
| TraceReturnCurrentDist <1|0> |
Specifies whether to activate trace return current calculation during SIwave AC simulations. 1 = activate. 0 = deactivate. Example: TraceReturnCurrentDist 1 |
| UniformTemperature <int> |
Sets the uniform design temperature, in Celcius. Example: UniformTemperature 100 |
| UseElectronicsPPE <bool> | Forces the use of Pro, Premium, Enterprise product licensing if it isn't selected in the SIwave UI. 1 = activate. 0 = deactivate. |
| UseHpcLicenses <pack|pool> | Specifies HPC license type. |
| UseHpcLicenseVendor <ansys|electronics> | Specifies the HPC license vendor. |
| WaitForLicense <boolean> | Specifies whether to wait for a solve license if one is unavailable. |