Reviewing the Log File
The Spectre FX log file provides important information about the simulation. Therefore, it is recommended to review the log file after starting the simulation.
The output log file displays the following information:
- Warning/Info/Error messages related to netlist parsing, and models
- Circuit inventory details
- Output statistics for probe/save/IC and measurement
- Simulation mode and important parameters/options
- Run time and memory consumption information
- Status of transient simulation
- Backannotation statistics for the post-layout simulation (for more information, refer to the EMIR Analysis and Post-Layout Simulations chapter)
The following topics discuss some of the important information stored in the log file and the options to control the log file in detail.
File Reading and Parsing Related Information
The Spectre FX log file provides information on the files read during a simulation run, as shown below.
Reading file: /projects/p1/simulation/Spectre/FX_run/top.sp
Reading file: /projects/p1/simulation/Spectre/FX_run/netlist.cdl
Reading file: /projects/p1/simulation/Spectre/FX_run/PDK/Spectre/vl.l/16nm_model.scs
Spectre FX provides an option, print_section, with possible values of no and yes, that enables you to print the information about the library files read during the simulation. When this option is set to no, only the library file information is printed in the log file. When this option is set to yes, detailed sections of the library files read during the simulation are printed in the log file.
For example, if you specify print_section=yes, the log file displays the following information for the same example:
Reading file: /projects/pl00/simulation/Spectre/FX_run/top.sp
Reading file: /projects/p100/simulation/Spectre/FX_run/netlist.cdl
Loading section: SS from file: /projects/pl00/simulation/Spectre/FX_run//PDK/Spectre/ v1.1/16nm model.scs
Loading section: TT BIP DIO from file: /projects/pl00/simulation/Spectre/FX_run//PDK/Spectre/vl.1/16nm_model.scs
Loading section:TT RES DISRES from file: /projects/pl00/simulation/Spectre/FX_run//PDK/Spectre/v1.1/16nm_model.scs
Options from the Configuration File and Netlist
You can use the command-line option +echooptions to dump the options specified in the netlist and configuration files, as shown in the following example:
%> spectrefx -64 -f fsdb +echooptions +config acc_tuning.cfg -outdir SpectreFX_results/ +mt=8 top_ba.sp
The options set in the netlist and configuration files are displayed in the log file. Spectre FX dumps all the valid options grouped by global and scoped (local) options.
Echo all options:
/case_path/top_ba.sp
sfx_ba_dspf_net = test.dspf
sfx_ba_dspf_instance = test.dspf
sfx_ba_remove_prefix = m
/case_path/acc_tuning.cfg
sfx_optimize = mx
sfx_preset = ax subckt=vco
Global user options:
temp = 30
sfx_ba_remove_prefix = m
sfx_optimize = mx
sfx_ba_dspf_net = test.dspf
sfx_ba_dspf_instance = test.dspf
Scoped user options:
sfx_preset = ax subckt=vco
Partition Information
The Spectre FX log file displays the information related to the biggest partition. It includes the number of nodes and elements including MOSFETs, resistors, and capacitors, as shown below.
Partition Information:
The biggest SimUnit: nodes=101586 elements=471861 (M=30664 R=90902 C=350295)
Output and IC/Nodeset Related Information
The Spectre FX simulator provides useful information in the log file for the signals probed, measured, or set with IC/nodeset, especially with wildcards.
An example of the log file and the messages is shown below.
Output statements:
.probe 4
.measure 1
save 0
Design checks inventory:
dyn_dcpath 2
dyn_exi 1
Wildcard match summary:
probe v(*) depth= 5: 1723
probe i(vv*) depth=1: 18
ic ncored* 32768
ic *.bl 254
ic *.nbl 254
Output and IC/nodeset summary:
probe 3288
measure 1
ic 6438
Transient Simulation Information
The status of the transient simulation is updated in the log file and screen output. You can use the sfx_progress_percentage option to control the frequency at which the information is updated in the log file.
.option sfx_progress_percentage=10
The above statement states that the log file should be updated after every 10 percent of the transient simulation is completed.
The following is printed in the log file:
Opening the FSDB file out/sram16k_status.raw/../result1.fsdb ...
500.00 ns / 5.00 us (10.00%) # of steps: 13158 time spent: 00:00:07 time left: 00:01:10 CPU: 799.44% mem: 370.777 MB
1.00 us / 5.00 us (20.05%) # of steps: 26394 time spent: 00:00:15 time left: 00:01:02 CPU: 798.56% mem: 373.973 MB
1.51 us / 5.00 us (30.15%) # of steps: 39678 time spent: 00:00:23 time left: 00:00:55 CPU: 798.59% mem: 376.562 MB
2.01 us / 5.00 us (40.10%) # of steps: 52738 time spent: 00:00:31 time left: 00:00:47 CPU: 798.59% mem: 376.562 MB
2.50 us / 5.00 us (50.05%) # of steps: 65841 time spent: 00:00:39 time left: 00:00:39 CPU: 799.60% mem: 376.562 MB
3.00 us / 5.00 us (60.03%) # of steps: 78965 time spent: 00:00:47 time left: 00:00:31 CPU: 799.62% mem: 376.562 MB
3.50 us / 5.00 us (70.00%) # of steps: 92058 time spent: 00:00:55 time left: 00:00:23 CPU: 799.62% mem: 376.562 MB
4.00 us / 5.00 us (80.02%) # of steps: 105246 time spent: 00:01:03 time left: 00:00:15 CPU: 799.63% mem: 376.562 MB
4.50 us / 5.00 us (90.05%) # of steps: 118440 time spent: 00:01:11 time left: 00:00:07 CPU: 799.63% mem: 376.562 MB
Tran completed
Number of steps = 131507
The log file contains the following information related to the transient simulation:
- The waveform file opened at the beginning
- The current elapsed time
- The estimated time required to complete the rest of the transient simulation
- The current memory usage
- The number of steps taken to complete the transient simulation
If environment variable SPECTRE_COMPATIBLE_FX is set, the transient simulation progress format for Spectre FX is same as the format for Spectre, as shown below.
tran: time = 125 ns (2.5 %), step = 8 ps (160 u%)
tran: time = 375 ns (7.5 %), step = 8 ps (160 u%)
tran: time = 625 ns (12.5 %), step = 1 ps (20 u%)
tran: time = 875 ns (17.5 %), step = 8 ps (160 u%)
tran: time = 1.125 us (22.5 %), step = 8 ps (160 u%)
……
Return to top