User`s manual
Verilog SDF
ModelSim Xilinx User’s Manual Standard Delay Format (SDF) Timing Annotation 8-223
"tool_control". The "tool_control" argument means to use the delay specified on the
command line by +mindelays, +typdelays, or +maxdelays (defaults to +typdelays).
"<scale_factor>"
String that specifies delay scaling factors. Optional. The format is
"<min_mult>:<typ_mult>:<max_mult>". Each multiplier is a real number that is used to
scale the corresponding delay in the SDF file.
"<scale_type>"
String that overrides the <mtm_spec> delay selection. Optional. The <mtm_spec> delay
selection is always used to select the delay scaling factor, but if a <scale_type> is specified,
then it will determine the min/typ/max selection from the SDF file. The allowed strings are
"from_min", "from_minimum", "from_typ", "from_typical", "from_max",
"from_maximum", and "from_mtm". Case is ignored, and the default is "from_mtm",
which means to use the <mtm_spec> value.
Examples
Optional arguments may be omitted by using commas or by leaving them out if
they are at the end of the argument list. For example, to specify only the SDF file
and the instance it applies to:
$sdf_annotate("myasic.sdf", testbench.u1);
To also specify maximum delay values:
$sdf_annotate("myasic.sdf", testbench.u1, , , "maximum");
SDF to Verilog construct matching
The annotator matches SDF constructs to corresponding Verilog constructs in the
cells. Usually, the cells contain path delays and timing checks within specify
blocks. For each SDF construct, the annotator locates the cell instance and updates
each specify path delay or timing check that matches. An SDF construct may have
multiple matches, in which case each matching specify statement is updated with
the SDF timing value. SDF constructs are matched to Verilog constructs as
follows:
IOPATH is matched to specify path delays or primitives:
SDF Verilog
(IOPATH (posedge clk) q (3) (4)) (posedge clk => q) = 0;
(IOPATH a y (3) (4)) buf u1 (y, a);