工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> VHDL

VHDL で For ループを使用する方法

前のチュートリアルでは、loop を使用して無限ループを作成する方法を学びました。 声明。また、exit を使用してループから抜け出す方法も学びました。 声明。しかし、ループを特定の回数反復させたい場合はどうすればよいでしょうか? For ループは、これを実現する最も簡単な方法です。

For ループを使用すると、固定範囲の整数または列挙項目を反復処理できます。現在の反復に属するアイテムは、暗黙的に宣言された定数を介してループ内で使用できます。

このブログ投稿は、基本的な VHDL チュートリアル シリーズの一部です。

For ループの構文は次のとおりです。

for <c> in <r> loop
end loop;

<c> ループ内で使用できる定数の任意の名前です。 <r> ループが反復する整数または列挙値の範囲です。整数範囲は、増分または減分のいずれかです。

0 から 9 までの 10 個の数字すべてを含む増分範囲の VHDL コード:

0 to 9

9 から 0 までの 10 個の数字すべてを含む減少範囲の VHDL コード:

9 downto 0

数値 0 のみを含む範囲の VHDL コード:

0 to 0

数値をまったく持たない空の範囲の VHDL コード:

0 to -1

エクササイズ

このチュートリアルで作成した最終的なコード:

entity T04_ForLoopTb is
end entity;

architecture sim of T04_ForLoopTb is
begin

    process is
    begin

        for i in 1 to 10 loop
            report "i=" & integer'image(i);
        end loop;
        wait;
        
    end process;

end architecture;

ModelSim で実行ボタンを押したときのシミュレータ コンソールへの出力:

VSIM 2> run
# ** Note: i=1
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=2
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=3
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=4
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=5
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=6
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=7
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=8
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=9
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=10
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb

分析

まったく予想外ではありませんが、For ループは終了するまでに 10 回繰り返しました。 i の値 シミュレーション時間 0 で、シミュレータ コンソールに 10 回出力されます。ループ内に待機ステートメントがないため、ループが完了するまでの時間はゼロです。最後に、プログラムは wait; で無限に一時停止します .

integer'image() を使用して整数を文字列に変換する方法を学びました 、そして & を使用しました 2 つの文字列を結合する文字。

テイクアウト

次のチュートリアルに進む »


VHDL

  1. モリブデンはどのように使用しますか?
  2. VHDL で文字列のリストを作成する方法
  3. VHDL テストベンチでシミュレーションを停止する方法
  4. VHDL で PWM コントローラーを作成する方法
  5. VHDL で乱数を生成する方法
  6. VHDL のプロセスでプロシージャを使用する方法
  7. VHDL で不純な関数を使用する方法
  8. VHDL で関数を使用する方法
  9. VHDL で有限ステート マシンを作成する方法
  10. VHDL でプロシージャを使用する方法
  11. カッターグラインダーの使い方