[ process_label : ] PROCESS
END PROCESS [ process_label ] ;
The use of process_label at the beginning and end of a process is optional but recommended to enhance code readability.
The sensitivity_list is optional in that a process may have either a sensitivity_list, or it must include WAIT statements. However, a process cannot include both a sensitivity_list and WAIT statements. WAIT statements will be covered in a subsequent section.
The process_declaration includes declarations for variables, constants, aliases, files, and a number of other VHDL constructs.
The process_statements include variable assignment statements, signal assignment statements, procedure calls, wait statements, if statements, while loops, assertion statements, etc.