We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 24800

ModelSim (SE, PE) SmartModel, SWIFT Interface - How do I use the MGT and PPC SmartModels in ModelSim for ISE 9.1x and above?


The Xilinx Hard IP simulation flow uses Synopsys VMC models to simulate the IBM PowerPC microprocessor and RocketIO multi-gigabit transceiver. 

Since VMC models are simulator-independent models derived from the actual design, they are accurate evaluation models. 

To simulate these models, you must use a simulator that supports the SWIFT Interface.

How are these models used in ModelSim?


Starting in ISE 11.1, SmartModels are obsoleted and replaced with SecureIP. 

Please see (Xilinx Answer 33275) to use SecureIP.

For 64-bit OS, see (Xilinx Answer 24153) in conjunction with the resolution below.

You must make the following changes to the "modelsim.ini" file located in the "%MODEL_TECH%" directory. 

The "-smartmodel_setup" switch in CompXlib does not edit the environment variables, so please follow the instructions below to make sure all settings are set correctly.

Step 1:

After the lines:

; Simulator resolution
; Set to fs, ps, ns, us, ms, or sec with optional prefix of 1, 10, or 100.

edit the statement that follows, from "Resolution = ns" to "Resolution = ps."

Step 2:

After the lines:

; Specify whether paths in simulator commands should be described

; in VHDL or Verilog format. For VHDL, PathSeparator = /

; for Verilog, PathSeparator = .

comment out the following statement by adding a semicolon (;) at the beginning of the line:

PathSeparator = /

Step 3:

After the line:

; List of dynamically loaded objects for Verilog PLI applications

add the following statement:




Veriuser = $LMC_HOME/lib/linux.lib/swiftpli_mti.so


Veriuser = $LMC_HOME/lib/amd64.lib/swiftpli_mti.so

Step 4:

After the line:

; Logic Modeling's SmartModel SWIFT software (Windows NT)

add the following statements:


libsm = $MODEL_TECH/libsm.dll


libsm = $MODEL_TECH/libsm.sl
libswift = $LMC_HOME/lib/linux.lib/libswift.so


libsm = $MODEL_TECH/libsm.sl
libswift = $LMC_HOME/lib/amd64.lib/libswift.so

Step 5:



Make sure that %LMC_HOME%\lib\pcnt.lib is in the Path under System variables.



Linux 64:


Note: It is important that you do not change the order in which the commands appear in the "modelsim.ini" file. 

The simulation might not work if you do not follow the order recommended above.

Running a Simulation

Once the simulator is set up, you must compile the SmartModel wrapper files into the UniSim and SimPrim libraries by running CompXlib (command line library-compiling utility) with the "-arch virtex5" option. 

Enter "compxlib -help" on the command line for details on the specific command line needed for your system.

To verify that the SmartModels have been set up correctly, enter the following in the ModelSim command window:

VSIM>vsim unisim.ppc405

If there are no errors upon loading, the simulator is set up correctly.

NOTE: If you are running ModelSim Standalone with a ".mpf" file, make sure that these changes are made in that file too.

AR# 24800
Date 03/30/2015
Status Active
Type General Article
  • ISE - 10.1
  • ISE Design Suite - 11.1
  • ISE Design Suite - 11.2
  • More
  • ISE Design Suite - 11.3
  • ISE Design Suite - 11.4
  • ISE Design Suite - 11.5
  • ISE Design Suite - 12.1
  • ISE Design Suite - 12.2
  • ISE Design Suite - 12.3
  • ISE Design Suite - 12.4
  • Less
Page Bookmarked