User`s manual

Simulation
5-66 Verilog Simulation ModelSim Xilinx Users Manual
The time precision should not be unnecessarily small because it will limit the
maximum simulation time limit, and it will degrade performance in some cases.
If the design contains no timescale directives, then the resolution limit defaults to
the "resolution" value specified in the modelsim.ini file (default is 1 ns). In any
case, you may override the default resolution limit by specifying the -t option on
the command line.
For example, to explicitly choose 100 ps resolution:
vsim -t 100ps top
This forces 100 ps resolution even if the design has finer time precision. As a
result, time values with finer precision are rounded to the nearest 100 ps.
Event order issues
The Verilog language is defined such that the simulator is not required to execute
simultaneous events in any particular order. Unfortunately, some models are
inadvertently written to rely on a particular event order, and these models may
behave differently when ported to another Verilog simulator. A model with event
order dependencies is ambiguous and should be corrected. For example, the
following code is ambiguous:
module top;
reg r;
initial r = 0;
initial r = 1;
initial #10 $display(r);
endmodule
The value displayed for "r" depends on the order that the simulator executes the
initial constructs that assign to "r". Conceptually, the initial constructs run
concurrently and the simulator is allowed to execute them in any order. ModelSim
Verilog executes the initial constructs in the order they appear in the module, and
the value displayed for "r" is "1". Verilog-XL produces the same result, but a
simulator that displays "0" is not incorrect because the code is ambiguous.
Since many models have been developed on Verilog-XL, ModelSim Verilog
duplicates Verilog-XL event ordering as much as possible to ease the porting of
those models to ModelSim Verilog. However, ModelSim Verilog does not match
Verilog-XL event ordering in all cases, and if a model ported to ModelSim Verilog
does not behave as expected, then you should suspect that there are event order
dependencies.