A statement which does not perform
The null statement does not
perform any action and its only function is to pass on to the next
statement. It can be used to indicate that when some conditions are
met no action is to be performed. Such an application is useful in
particular in conjunction with case statements to exclude some
conditions (see example).
case OPCODE is
"001" => TmpData := RegA and RegB;
"010" => TmpData := RegA or RegB;
"100" => TmpData := not RegA;
The example shows an operand detection of a processor, restricted to
some simple logical operations performed on registers. All other
operations are blocked ("if the OPCODE is other than the
explicitly listed, do nothing").
The keyword null is used not
only for "no operation" statements. It has a special
meaning for variables of access types ("pointing at no
object", which is the default value for such variables - see access
type and allocator).
There is also a null transaction in waveforms. These three
applications of the keyword null should
not be confused.