vhdl Wait Wait until condition


It is possible to omit the on <sensitivity_list> and the for <timeout> clauses, like in:

    wait until CONDITION;

which is equivalent to:

    wait on LIST until CONDITION;

where LIST is the list of all signals that appear in CONDITION. It is also equivalent to:

      wait on LIST;
      exit when CONDITION;
    end loop;

An important consequence is that if the CONDITION contains no signals, then:

    wait until CONDITION;

is equivalent to:


A classical example of this is the famous:

    wait until now = 1 sec;

that does not do what one could think: as now is a function, not a signal, executing this statement suspends the process forever.