使用 case 语句
本课属于 Coddy Verilog 学习旅程的“基础知识”单元。第 66 课,共 90 课。
挑战
使用 case 语句而不是 if-else 构建一个 4 选 1 多路复用器。
真值表
| sel | out |
|---|---|
| 00 | out = in0 |
| 01 | out = in1 |
| 10 | out = in2 |
| 11 | out = in3 |
要做什么:
- 创建一个名为
mux4to1_case的模块 - 添加输入
in0、in1、in2、in3(每个 1 位) - 添加输入
sel(2 位) - 添加输出
out(1 位,类型为reg) - 添加一个
always @(*)块 - 在其中添加一个
case (sel)语句 - 为
2'b00、2'b01、2'b10、2'b11添加分支 - 添加一个
default分支 - 用
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 在线编译器