あんまり書いてなかったループ構文(repeat,forever)

Verilog-HDLにて「repeat」とか「forever」などのループ構文の記述が可能です。
特に「forever」とかあんまり書いたことがなかったので書いてみました。

○サンプルコード
記述自体はちょこちょことSystemVerilog構文が入ってますのでご了承を。
 1|module testbench;
 2|
 3|  int i = 0;
 4|
 5|  initial begin
 6|    // repeat
 7|    repeat(5)  $display("--- i = %2d", i++);
 8|    // forever
 9|    forever begin
10|      if(i>10) break;
11|      else     $display("--- i = %2d", i++);
12|    end
13|    $finish(1);
14|  end
15|
16|endmodule:testbench

○実行結果
# vsim -L work -do {run -all; quit} -c testbench 
# Loading sv_std.std
# Loading work.testbench
# run -all
# --- i = 0
# --- i = 1
# --- i = 2
# --- i = 3
# --- i = 4
# --- i = 5
# --- i = 6
# --- i = 7
# --- i = 8
# --- i = 9
# --- i = 10
# ** Note: $finish : sample.sv(13)
というような感じです。
「always」があったので、「forever」をあまり使ってなかったのですが
一般的にはどうなんでしょうね!?
関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

Author:Kocha
なんでもチャレンジ!(^o^)/
E-mail
github:Kocha
イベントカレンダー

カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数