イベント制御タイミング制御文 [@] を使用した組み合わせロジックの記述は、次のようなものです。
- 組み合わせ always ブロックには、
always@
の後にかっこで囲まれたセンシティビティ リストがあります。 - センシティビティ リストにある信号のいずれかにイベント (値の変化またはエッジ) が発生すると、always ブロックが実行されます。
- センシティビティ リストには、次を含めることができます。
- if や case などの条件で使用する信号。
- 代入文の右辺の信号。
- 信号のリストの代わりにかっこに入れたアスタリスク (*) を使用すると、説明したように、
always
ブロックの信号のいずれかにイベントが発生した場合に、always
ブロックが実行されます。 - 組み合わせプロセスでは、if 文または case 文のすべての分岐で信号が明示的に代入されていない場合、Vivado 合成で最後の値を保持するラッチが生成されます。
- プロセスには、次の文が使用されます。
- 変数代入文および信号代入文
- if-else 文
- case 文
- for-while ループ文
- 関数およびタスク呼び出し