Syntax:
looping_statement::==
while
(conditional)
statement
The while loop executes while the conditional is true, the conditional can consist of any logical expression. Statements in the loop can be grouped using the keywords begin ... end. The example below illustrates a while loop.
/* How many cups of volume 33 ml does it
take to fill a jug of volume 1 litre */
`define JUGVOL 1000
`define CUPVOL 33
module cup_and_jugs;
integer cup, jug;
initial begin
cup = 0; jug = 0;
while (jug < `JUGVOL) begin
jug = jug + `CUPVOL;
cup = cup + 1;
end // while (jug < JUG_VOL)
$display("It takes %d cups", cup);
end // initial begin
endmodule // cup_and_jugs
Notice the use of the "define" statement.
EXERCISE
How many times does the folowing while loop say hello?
initial begin
a = 5;
c = 0;
while (a != c) begin
$display("Hello");
c = c + 1;
end
end