SimSwapper also allows you to mix options from several different simulators on a single command line. This functionality is primarily useful if you want to pass some arguments to the destination simulator in it's native format while letting SimSwapper translate the remaining arguments.
By default, SimSwapper will assume that the simulator command line options are in the format required by the source (from) simulator. You can change this behavior by adding one or more of the options --simx_options, --mti_options, and --nc_options to the simulator command line inside your simulation script. After SimSwaper encounters one of these options, it will expect any subsequent options to be in the format of the specified simulator. These particular options should not be used in the environment variable SYNCAD_SIMSWAPPER_ARGS as described in the previous section, because this would cause all of the options to be interpreted as destination (to) simulator options.
Example of using the Translation Modes:
Suppose SimSwapper is translating arguments from mti to ncsim, and you want to also pass the ncsim-native option "-cdslib" (which has no corresponding mti option):
•Original mti simulation script: vlog +define+FOO -nologo test.v |
• Modify the script line as below to pass the ncsim-native option: vlog +define+FOO -nologo --nc_options -cdslib ..\cds.lib test.v |
•When the above line is run, SimSwapper will translated it to be: ncvlog -define FOO -nocopyright -cdslib ..\cds.lib test.v |
Your modified simulation script can now be used to launch either modelsim or ncsim, depending on whether the simswapper path is set for translating to ncsim or to modelsim. The -cdslib option will be skipped during translation when the target simulator is modelsim since there's no equivalent option for modelsim.
You can switch option parser modes several times in one command line if needed. For example:
vlog --mti_options +define+FOO --nc_options -cdslib ..\cds.lib --simx_options -l log.txt test.v