24.03.2013 Views

ModelSim SE User's Manual - Electrical and Computer Engineering

ModelSim SE User's Manual - Electrical and Computer Engineering

ModelSim SE User's Manual - Electrical and Computer Engineering

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

UM-452 18 - St<strong>and</strong>ard Delay Format (SDF) Timing Annotation<br />

Troubleshooting<br />

Specifying the wrong instance<br />

<strong>ModelSim</strong> <strong>SE</strong> User’s <strong>Manual</strong><br />

By far, the most common mistake in SDF annotation is to specify the wrong instance to the<br />

simulator’s SDF options. The most common case is to leave off the instance altogether,<br />

which is the same as selecting the top-level design unit. This is generally wrong because<br />

the instance paths in the SDF are relative to the ASIC or FPGA model, which is usually<br />

instantiated under a top-level testbench. See "Instance specification" (UM-440) for an<br />

example.<br />

A common example for both VHDL <strong>and</strong> Verilog testbenches is provided below. For<br />

simplicity, the test benches do nothing more than instantiate a model that has no ports.<br />

VHDL testbench<br />

entity testbench is end;<br />

architecture only of testbench is<br />

component myasic<br />

end component;<br />

begin<br />

dut : myasic;<br />

end;<br />

Verilog testbench<br />

module testbench;<br />

myasic dut();<br />

endmodule<br />

The name of the model is myasic <strong>and</strong> the instance label is dut. For either testbench, an<br />

appropriate simulator invocation might be:<br />

vsim -sdfmax /testbench/dut=myasic.sdf testbench<br />

Optionally, you can leave off the name of the top-level:<br />

vsim -sdfmax /dut=myasic.sdf testbench<br />

The important thing is to select the instance for which the SDF is intended. If the model is<br />

deep within the design hierarchy, an easy way to find the instance name is to first invoke<br />

the simulator without SDF options, view the structure pane, navigate to the model instance,<br />

select it, <strong>and</strong> enter the environment comm<strong>and</strong> (CR-161). This comm<strong>and</strong> displays the<br />

instance name that should be used in the SDF comm<strong>and</strong>-line option.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!