Vivado 合成および SystemVerilog では、数種のループ文がサポートされます。最もよく使用されるのは for ループ文です。構文は次のとおりです。
for (initialization; expression; step) statement;
for
文では、まず初期化が実行されてから、条件式が評価されます。式の結果が 0 の場合は停止して実行し、1 の場合は文が続行されます。文の実行が終了したら、ステップ関数が実行されます。
- repeat ループ文では、指定した回数分だけ関数が繰り返し実行されます。構文は次のとおりです。
repeat (expression) statement;
この構文は、statement を expression で指定した数値の回数だけ繰り返し実行します。
-
for-each
ループ文では、配列内の各エレメントに対して文が実行されます。 -
while
ループ文では、演算式がfalse
になるまでその文が実行されます。 -
do-while
ループ文は while ループ文と同じですが、文の後に条件式が評価される点が異なります。 -
forever
ループはずっと実行され続けます。無限ループにならないようにするため、ループを脱出するための break 文と共に使用してください。