SCL Reference: while Statement

TheSCL while loop is a variation on the Loop statement where the boolean exit condition is given at the start of the loop.

while booleanExpression loop   scl statements   exit when booleanExpression     // optionalend loop;

The boolean expression is what you would expect it to be. Here are a few examples

//infinite loopwhile true loop   RD1 <= '0';   wait on RD1;end loop;//loop until PC > 0x2000while PC <= #16#2000# loop   PIR3.ADIF <= 1;   wait 200 us;end loop;

Note that even though the while statement has it's own boolean expression, the loop can still contain exit when statements.

//loop until PIR2.EEIF is clearedwhile PIR2.EEIF == 1 loop   RD1 <= '1';   wait on RD0;   exit when PC == 0;   // device resetend loop;