10.10.1 Wait Statement (Text page 421) wait_statement ::= [label:] wait [sensitivity_clause] [condition_clause] [timeout_clause] ; sensitivity_clause ::= on sensitivity_list sensitivity_list ::= signal _name { , signal _name } condition_clause ::= until condition condition ::= boolean _expression timeout_clause ::= for time _expression Examples--> WAIT UNTIL rising_edge(iclk); wait until ((high="0000")AND(low="0000")) for 6000 ns ; wait for 200 ns ; 10.10.2 Assertion and Report Statements (Text page 423) assertion_statement ::= [label:] assert boolean _expression [ report expression] [ severity expression] ; report_statement ::= [label:] report expression [ severity expression] ; The default severity is "error" which halts the simulation as does "failure". A severity of "warning" does not halt the simulation. The phrase in parenthesis after "report" is printed. Printing occurs if the assertion condition is "FALSE". Examples--> ASSERT ((high=b_var)AND(low=b_var)) REPORT "Decoder or Load failure." SEVERITY failure; -- Check count output IF (high=high_temp) AND (low=low_temp) THEN ASSERT false REPORT "Count suspended correctly" SEVERITY note; ELSE ASSERT false REPORT "Count did not suspend" SEVERITY warning; END IF;