VHDL Sequential Statements
Assignments executed sequentially in processes
Sequential statements
- {Signal, variable} assignments
- Flow control
- IF <condition> THEN <statements> [ELSIF <statements] [ELSE <statements>] END IF;
- FOR <range> LOOP <statements> END LOOP;
- WHILE <condition> LOOP <statements> END LOOP;
- CASE <condition> IS WHEN <value> => <statements>
{WHEN <value> => <statements>}
[WHEN others => <statements>]
END CASE;
- WAIT [ON <signal>] [UNTIL <expression>] [FOR <time>] ;
- ASSERT <condition> [REPORT <string>] [SEVERITY <level>] ;
Notes:
Sequential statements are used within processes and are executed in a top-down fashion. The illustrative (but incomplete) list shown on this page includes many of the commonly used forms. The VHDL Language Reference Manual provides a complete list.
Many of these statement types will be explained in further sections of this module. Some of you may note that these control structures operate almost exactly like their counterparts in Ada except for the assert and sequential signal assignment statements.