... | ... | @@ -12,10 +12,10 @@ Verilogでの基本構成は以下のようになります: |
|
|
- `wire` / `reg`:信号を表現する変数(信号線やレジスタ)
|
|
|
- `wire` は常に接続されている線、と考えるとよいと思います、モジュール間の接続、ピンの入出力など、の用途に使います
|
|
|
- `reg` は、主にフリップフロップ、状態変数など、クロックなどに応じて値が変化するような用途に使います。alwaysなどのブロックの中で代入します
|
|
|
- `assign`:**組み合わせ回路の論理式を記述するための代入文**。`wire` 型の信号に対して使用され、いつでも右辺の論理式に応じて出力が変化します。
|
|
|
- `always`:**条件に基づく処理(順序回路や条件に基づいた組み合わせ回路)を記述するブロック**。
|
|
|
- `assign`:**組み合わせ回路の論理式を記述するための代入文**。`wire` 型の変数に対して使用され、いつでも右辺の論理式に応じて出力が変化します。
|
|
|
- `always`:**条件に基づく処理(順序回路や条件に基づいた組み合わせ回路)を記述するブロック**。この中では、`reg` 型の変数に代入します。
|
|
|
- `always @(posedge clk)` などクロックを指定して、**順序回路**の動作を記述することができます。
|
|
|
- `always @(*)` のようにセンシティビティリストに `*` を使って、**条件に基づいた組み合わせ回路**を記述することができます。その際、出力の変数としてはregを利用します。
|
|
|
- `always @(*)` のようにセンシティビティリストに `*` を使って、**条件に基づいた組み合わせ回路**を記述することができます。その際、組み合わせ回路ですが、出力の変数としてはregを利用します。
|
|
|
|
|
|
```verilog
|
|
|
wire a, b, y;
|
... | ... | |