あんまり書いてなかったループ構文(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
イベントカレンダー

カレンダー
10 | 2017/11 | 12
- - - 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 - -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数