Download ModelSim User's Manual

Transcript
Chapter 11
Signal Spy
The Verilog language allows access to any signal from any other hierarchical block without
having to route it via the interface. This means you can use hierarchical notation to either assign
or determine the value of a signal in the design hierarchy from a testbench. This capability fails
when a Verilog testbench attempts to reference a signal in a VHDL block or reference a signal
in a Verilog block through a VHDL level of hierarchy.
This limitation exists because VHDL does not allow hierarchical notation. In order to reference
internal hierarchical signals, you have to resort to defining signals in a global package and then
utilize those signals in the hierarchical blocks in question. But, this requires that you keep
making changes depending on the signals that you want to reference.
The Signal Spy procedures and system tasks overcome the aforementioned limitations. They
allow you to monitor (spy), drive, force, or release hierarchical objects in a VHDL or mixed
design.
The VHDL procedures are provided via the Util Package within the modelsim_lib library. To
access the procedures you would add lines like the following to your VHDL code:
library modelsim_lib;
use modelsim_lib.util.all;
The Verilog tasks and SystemC functions are available as built-in System Tasks and Functions.
Table 11-1. Signal Spy Reference Comparison
Refer to:
VHDL procedures
Verilog system tasks
SystemC function
disable_signal_spy
disable_signal_spy()
$disable_signal_spy()
disable_signal_spy()
enable_signal_spy
enable_signal_spy()
$enable_signal_spy()
enable_signal_spy()
init_signal_driver
init_signal_driver()
$init_signal_driver()
init_signal_driver()
init_signal_spy
init_signal_spy()
$init_signal_spy()
init_signal_spy()
signal_force
signal_force()
$signal_force()
signal_force()
signal_release
signal_release()
$signal_release()
signal_release()
Designed for Testbenches
Signal Spy limits the portability of your code. HDL code with Signal Spy procedures or tasks
works only in Questa and Modelsim. We therefore recommend using Signal Spy only in
ModelSim User’s Manual, v6.3g
May 2008
293