User`s manual

VHDL VITAL SDF
ModelSim Xilinx Users Manual Standard Delay Format (SDF) Timing Annotation 8-221
Resolving errors
If the simulator finds the cell instance but not the generic then an error message is
issued. For example,
ERROR: myasic.sdf(18):
Instance /testbench/dut/u1 does not have a generic named
tpd_a_y
In this case, make sure that the design is using the appropriate VITAL library cells.
If it is, then there is probably a mismatch between the SDF and the VITAL cells.
You need to find the cell instance and compare its generic names to those expected
by the annotator. Look in the VHDL source files directly or use the simulators
user interface to locate the information:
Open the Structure window
(7-158) and navigate to the instance named in the
error message (you could try the Edit > Find menu option). Alternatively, use
the environment command
(CR-50) to select the instance. For example:
env /testbench/dut/u1
Open the Process window (7-142) and select the "In Region" mode (the default
mode is "Active").
Select a process in the Process window (usually the process named
"vitalbehavior").
Open the Variables window
(7-161) to see all of the generics and their current
values.
If none of the generic names look like VITAL timing generic names, then perhaps
the VITAL library cells are not being used. If the generic names do look like
VITAL timing generic names but dont match the names expected by the
annotator, then there are several possibilities:
The vendors tools are not conforming to the VITAL specification.
The SDF file was accidentally applied to the wrong instance. In this case, the
simulator also issues other error messages indicating that cell instances in the
SDF could not be located in the design.
The vendors library and SDF were developed for the older VITAL 2.2b
specification. This version uses different name mapping rules. In this case,
invoke vsim
(CR-148) with the -vital2.2b option:
(WIDTH (COND (reset==1b0) clk) (5)) tpw_clk_reset_eq_0
SDF construct Matching VHDL generic name