User`s manual

Virtual Objects (User-defined buses, and more)
ModelSim Xilinx Users Manual Multiple logfiles, datasets and virtuals 6-101
Virtual signals
Virtual signals are aliases for combinations or subelements of signals written to
the logfile by the simulation kernel. They may be displayed in the Signals, List or
Wave window, accessed by the examine command, and set using the force
command. Virtual signals may be created by menu selections in the Signals, Wave
or List windows, or with the virtual signal command described below. Virtual
signals can also be dragged and dropped from the Signals window to the Wave or
List window.
Virtual signals are automatically attached to the design region in the hierarchy that
corresponds to the nearest common ancestor of all the elements of the virtual
signal. The virtual signal command has an -install <region> option to specify
where the virtual should be installed. This may be used to install the virtual signal
in a user-defined region in order to reconstruct the original RTL hierarchy when
simulating and driving a post-synthesis, gate-level implementation.
A virtual signal can be used to reconstruct RTL-level design buses that were
broken down during synthesis. The virtual hide command can be used to hide the
display of the broken-down bits if you dont want them cluttering up the Signals
window (see below).
If the virtual signal has elements from more than one logfile, it will be
automatically installed in the virtual region "virtuals:/Signals."
Virtual signals are not hierarchical if two virtual signals are concatenated to
become a third virtual signal, the resulting virtual signal will be a concatenation
of all the subelements of the first two virtual signals.
The definitions of virtuals can be saved to a macro file using the virtual save
command (see below). By default, when quitting, ModelSim will append any
newly-created virtuals (that have not been saved) to the virtuals.do file in the local
directory.
If you have virtual signals displayed in the Wave or List window when you save
the Wave or List format, you will need to execute the virtuals.do file (or some
other equivalent) to restore the virtual signal definitions before you re-load the
Wave or List format during a later run.
Implicit and explicit virtuals
There is one exception: "implicit virtuals" are automatically saved with the Wave
or List format. An implicit virtual is a virtual signal that was automatically created
by ModelSim without your knowledge and without you providing a name for it.
An example would be if you expand a bus in the Wave window, then drag one bit
out of the bus to display it separately. That action creates a one-bit virtual signal