Null Statement

Sequential Statement ---- used in ----> Process
Function
Procedure


Syntax

null;

See LRM section 8.12


Rules and Examples

The null statement performs no action. It is usualls used with the case statement, to indicate that under certain conditions, no action is required.
case ENCRYPTION is
  when "00" => 
    CPU_DATA_TMP := (B & A) - OPERAND;
  when "01" => 
    CPU_DATA_TMP := (B & A) + OPERAND;
  when "10" => 
    CPU_DATA_TMP := (A & B) - OPERAND; 
  when "11" => 
    CPU_DATA_TMP := (A & B) + OPERAND;
  when others =>
    null;
end case;


Synthesis Issues

The null statement is supported by synthesis tools.

Note: using a null statement in a "combinational process" can result in latches being inferred, unless all signals driven by the process are given unconditional default assignments.


Whats New in '93

In VHDL-93, the null may have an optional label:

labelnull;