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# 16182

5.1isp2 ModelSim, NGD2VER - Errors: "Failed to open SDF.../Fatal: (vsim-SDF-3445) Failed to parse SDF file..."

Description

Keywords: ModelSim, MTI, MXE, NGD2VER, simulation, failed, open, SDF, Fatal, vsim, 3445, parse

Urgency: Standard

General Description:
When I run a timing simulation on a Verilog design with ModelSim or MXE, the following error occurs:

"# ** Error: (vsim-7) Failed to open SDF file "C:XilinxISEexampleswatchverstopwatch_timesim.sdf" in read mode.
# No such file or directory. (errno = ENOENT)
# ** Fatal: (vsim-SDF-3445) Failed to parse SDF file "C:XilinxiISEexampleswatchverstopwatch_timesim.sdf".
# Time: 0 ps Iteration: 0 Instance: /testbench/UUT"

Solution

1

These errors occur because NGD2VER inserted backslashes instead of forward slashes for the path to the SDF file. In Verilog, backslashes are used as escape characters, so the backslash is ignored. For example, in the above example error, the path to the SDF in the timesim.v file is:
initial $sdf_annotate("C:\Xilinx_51i\ISEexamples\watchver\stopwatch_timesim.sdf");

The backslashes are ignored and MTI attempts to find the SDF at:
C:XilinxISEexampleswatchverstopwatch_timesim.sdf

Obviously, this path does not exist, and an error occurs.

This problem is fixed in the latest 5.1i Service Pack, available at:
http://support.xilinx.com/support/techsup/sw_updates
The first service pack containing the fix is 5.1i Service Pack 3.

After Service Pack 3 is installed, NGD2VER will change all backslashes to forward slashes in the path to the SDF file.

2

For the 5.1i software prior to Service Pack 3 - Project Navigator

In ISE Project Navigator, this error will not occur if the default options are used. It only occurs when the path to the SDF file is specified by the user. This is done by doing the following:

1. Right-click on "Simulate Post-Place and Route Verilog Model" in the Processes window.
2. Click on "Properties".
3. Click on the Simulation Model Properties tab.
4. Enter a path in the field that states "Path Used in $SDF_annotate".

This must only be done if the SDF file is going to be placed into a different directory than the simulation netlist. By default, Project Navigator will place the SDF and the timesim.v file in the same directory. If you are not moving the SDF file to a different directory, leave this field blank. When the field is left blank, the path to the SDF in the timesim.v will appear as follows:

initial $sdf_annotate("timesim.sdf");

This instructs ModelSim to look in the same directory for the SDF file.

If the SDF file is to be moved, you must manually modify the path to the SDF file, changing all backslashes to forward slashes.

3

For the 5.1i software prior to Service Pack 3 - Command Line

If you are using the command line, this error will not occur if the default options are used. This error only occurs when the path to the SDF file is specified by the user. (This is done by using the "-sdf_path" option in the NGD2VER command line.)

This must only be done if the SDF file is going to be placed into a different directory than the simulation netlist. By default, NGD2VER will place the SDF and the timesim.v file in the same directory. If you are not moving the SDF file to a different directory, do not use the -sdf_path option. Without this option, the path to the SDF in the timesim.v will appear as follows:

initial $sdf_annotate("timesim.sdf");

This tells ModelSim to look in the same directory for the SDF file.

If the SDF file is to be moved, you must manually modify the path to the SDF file, changing all backslashes to forward slashes.
AR# 16182
Date Created 11/18/2002
Last Updated 08/11/2005
Status Archive
Type General Article