UPGRADE YOUR BROWSER

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?

Description

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?

Solution

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:

Windows:

Veriuser=$LMC_HOME/lib/pcnt.lib/swiftpli_mti.dll

Linux:

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

Linux64:

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:

Windows:

libsm = $MODEL_TECH/libsm.dll
libswift=$LMC_HOME/lib/pcnt.lib/libswift.dll

Linux:

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

Linux64:

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

Step 5:

DO NOT SKIP THIS STEP

Windows:

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

Linux:

setenv LD_LIBRARY_PATH $LMC_HOME/lib/linux.lib:$LD_LIBRARY_PATH

Linux 64:

setenv LD_LIBRARY_PATH $LMC_HOME/lib/amd64.lib:$LD_LIBRARY_PATH

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 Created 09/04/2007
Last Updated 03/30/2015
Status Active
Type General Article
Tools
  • 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