This is usually caused by an error in the original VHDL that results in an
infinite loop which consumes zero simulation time. Raising the maximum delta
limit is fairly pointless, since you probably have an infinite loop...
The usual error is a process with neither a sensitivity list nor a wait
statement eg:
process
begin
if (Reset = '1') then
sig <= '0';
elsif (Rising_edge(Clk)) then
sig <= D;
end if;
end process;
Processes with feedback can cause errors. Try this concurrent statement and
see what happens!:
sig <= not sig;
Alternatively, you may have a process with wait statments inside a while
loop/if statement etc that means the wait is bypassed for some reason eg:
process
begin
if (Ready = '1') then
-- do something
wait for 10 ns;
end if;
end process;
What happens to this process if Ready /= '1' ???
Also test bench processes which are supposed to run only once and terminate,
but have a missing wait; at the end. This particular example won't give a
delta limit error, but illustrates what I mean:
stim
rocess
begin
A <= "000";
wait for 10 ns;
A <= "010";
wait for 10 ns;
A <= "100";
-- wait; -- this effectively stops this process
end process;
HTH
Ian