Languages

CommunityCategory: GLISTERDumping XMODEL waveforms in FSDB format

XMODEL GLISTER

Dumping XMODEL waveforms in FSDB format

SA Support Team Staff 2019-04-15

The $xmodel_dumpfile() and $xmodel_dumpvars() commands of XMODEL store the simulated waveforms in JEZ format, which is currently supported only by XWAVE. Can I store the waveforms in FSDB format so that I can open them using other waveform viewers that I am more familiar with?

1 Answers
Best Answer
SA Support Team Staff 2019-04-15

Yes, you can. All you need to do is to specify a filename with a ".fsdb" extension to the $xmodel_dumpfile() command. For instance, the following statements instruct XMODEL to store the waveforms in FSDB format to a file named "xmodel.fsdb".

initial begin
    $xmodel_dumpfile("xmodel.fsdb");
    $xmodel_dumpvars();
end

For the 'dump' primitive in GLISTER, you can simply change the extension of the filename to ".fsdb" or select "fsdb" as the format, as shown below.

When you are dumping the waveforms in FSDB format, you can use the following options with the $xmodel_dumpfile() and $xmodel_dumpvars() commands, in addition to those described in Chapter 4. Recording Waveforms in XMODEL in the XMODEL User Guide.

1. Automatic file switching based on user-specified size limit

When you specify the size limit in MB by adding a "sizelimit=" option to the $xmodel_dumpfile() command, XMODEL will store the waveforms to a series of files, rather than to a single file. For instance, the command

$xmodel_dumpfile("xmodel.fsdb", "sizelimit=", 20);

will generate a series of files named

xmodel_000.fsdb
xmodel_001.fsdb
xmodel_002.fsdb
…

where each file size is limited approximately to 20MB.

2. Specifying absolute and relative tolerances of waveforms

Unlike JEZ format, FSDB format uses a set of points to describe a time-domain waveform of a signal. While using more points can improve the accuracy of the waveform, it may increase the file size. The $xmodel_dumpvars() command tries to use the minimum number of points to express the waveform while meeting the absolute and relative tolerances. And the "abstol=" and "reltol=" options let you specify these error tolerances, respectively. For instance, the command

$xmodel_dumpvars("abstol=", 1e-6, "reltol=",  1e-3);

specifies the absolute and relative tolerances to be 1e-6 and 1e-3, respectively. The default values are 1e-4 and 1e-2, respectively.

3. Recording the contents of multi-dimensional arrays (MDAs)

In case your models use multi-dimensional arrays (MDAs), you can record their contents by supplying the "mda=1" option to the $xmodel_dumpvars() command. Some waveform viewers such as nWave provide features to display their contents.

$xmodel_dumpvars("mda=", 1);

If you want to use these additional options with the GLISTER's 'dump' primitive, you can list them in the "Extra Options" field delimited by ":" as shown below.