Case文の使用
CoddyのVerilogジャーニー「基礎」セクションの一部。レッスン 66/90。
チャレンジ
if-else の代わりに case 文を使用して、4-to-1 マルチプレクサを構築してください。
真理値表
| sel | out |
|---|---|
| 00 | out = in0 |
| 01 | out = in1 |
| 10 | out = in2 |
| 11 | out = in3 |
行うこと:
- 名前が
mux4to1_caseの module を作成する - 入力
in0、in1、in2、in3(各 1 bit)を Add する - 入力
sel(2 bits)を Add する - 出力
out(1 bit、typereg)を Add する always @(*)block を Add する- その中に
case (sel)文を Add する 2'b00、2'b01、2'b10、2'b11の case を Add するdefaultcase を Add するendcaseとendmoduleで閉じる
自分で試してみよう
// TODO: mux4to1_case という名前のモジュールを作成する
// TODO: 入力を追加: in0, in1, in2, in3 (各1ビット)
// TODO: 入力 sel を追加 (2ビット)
// TODO: 出力 out を追加 (reg 型)
// TODO: always @(*) ブロックを追加
// TODO: case (sel) を追加
// TODO: case 2'b00: out = in0; を追加
// TODO: case 2'b01: out = in1; を追加
// TODO: case 2'b10: out = in2; を追加
// TODO: case 2'b11: out = in3; を追加
// TODO: default: out = in0; を追加
// TODO: endcase を追加
// TODO: endmodule を追加基礎のすべてのレッスン
自分で練習してみよう: Verilogオンラインコンパイラ