Languages
Is there a simple way to display the current progress of the XMODEL simulation?
Yes, there is. The easiest way is to insert the following line to your top-level testbench file:
initial $xmodel_progress();
Then, a message line indicating the current progress will be displayed every 20 seconds as shown below:
# _ ____ _______ ___ ______ # | |/_/ |/ / __ \/ _ \/ __/ / (TM) # _| |/ /|_/ / /_/ / // / _// /__ # /_/|_/_/ /_/\____/____/___/____/ ANALOG/MIXED-SIGNAL SIMULATOR # # XMODEL Release 2019.03 # Copyright (c) 2012-2019 Scientific Analog, Inc. # All rights reserved and patents pending. # # |PROGRESS|2019-03-01 19:02:03|* | 0s| # |PROGRESS|2019-03-01 19:02:23|* | 59.014ns| # |PROGRESS|2019-03-01 19:02:43|.* | 66.674ns| # |PROGRESS|2019-03-01 19:03:03|..* | 75.729ns| # |PROGRESS|2019-03-01 19:03:23|...* | 82.655ns| # |PROGRESS|2019-03-01 19:03:43|.....* | 91.227ns| # |PROGRESS|2019-03-01 19:04:03|.......* | 98.273ns| # |PROGRESS|2019-03-01 19:04:15|.........* |100.000ns| # exit #
For your information, $xmodel_progress()
supports various options as listed below. One can also combine more than one options.
$xmodel_progress("interval=", 100);
: defines the time interval of displaying progress messages in seconds (default: 20 seconds).
$xmodel_progress("stat=", 1);
: flags whether to show the runtime statistics at the end of simulation.
$xmodel_progress("start=", 10e-9, "stop=", 100e-9);
: defines start/stop times of displaying messages.
$xmodel_progress("dumpflush=", 0);
: flags whether to flush the internal buffer data to the waveform file when displaying each message (default: 1).
For your information, when you enable the "Show Simulation Progress" option of a dump
primitive as shown below, the GLISTER netlister will insert the $xmodel_progress()
command in the netlist so that the progress is displayed during the simulation. If you are a GLISTER user, this is probably a handier way.
Please login or Register to submit your answer