Menu
CoddyTech

使用 case 语句

本课属于 Coddy Verilog 学习旅程的“基础知识”单元。第 66 课,共 90 课。

challenge icon

挑战

使用 case 语句而不是 if-else 构建一个 4 选 1 多路复用器。

真值表

selout
00out = in0
01out = in1
10out = in2
11out = in3

要做什么:

  1. 创建一个名为 mux4to1_case 的模块
  2. 添加输入 in0、in1、in2、in3(每个 1 位)
  3. 添加输入 sel(2 位)
  4. 添加输出 out(1 位,类型为 reg)
  5. 添加一个 always @(*) 块
  6. 在其中添加一个 case (sel) 语句
  7. 为 2'b00、2'b01、2'b10、2'b11 添加分支
  8. 添加一个 default 分支
  9. 用 endcase 和 endmodule 结束

亲手试试

// TODO: 创建名为 mux4to1_case 的模块

// TODO: 添加输入:in0、in1、in2、in3(每个 1 位)

// TODO: 添加输入 sel(2 位)

// TODO: 添加输出 out(reg 类型)

// TODO: 添加 always @(*) 块

// TODO: 添加 case (sel)

// TODO: 添加分支 2'b00: out = in0;

// TODO: 添加分支 2'b01: out = in1;

// TODO: 添加分支 2'b10: out = in2;

// TODO: 添加分支 2'b11: out = in3;

// TODO: 添加默认分支 default: out = in0;

// TODO: 添加 endcase

// TODO: 添加 endmodule

基础知识中的所有课

自己练习: Verilog 在线编译器