使用 Verilog HDL 描述语言设计一数据选择器 MUX,其系统模块图和功能表如下图一所示。要求分别 用 case 语句和 if 语句实现。
时间: 2024-03-25 15:41:01 浏览: 103
下面是Verilog HDL描述语言实现MUX的代码,包括用case语句和if语句两种实现方式:
```
//MUX的系统模块图和功能表
//输入信号A、B和C控制MUX的输出
//当A=0、B=0时,输出S0;当A=0、B=1时,输出S1;当A=1、C=0时,输出S2;当A=1、C=1时,输出S3
//S0 = D0, S1 = D1, S2 = D2, S3 = D3
module MUX(
input A,
input B,
input C,
input D0,
input D1,
input D2,
input D3,
output reg S
);
//case语句实现
always @ (A or B or C) begin
case ({A, B, C})
3'b000: S = D0;
3'b001: S = D1;
3'b100: S = D2;
3'b101: S = D3;
default: S = 1'bx;
endcase
end
//if语句实现
always @ (A or B or C) begin
if (A == 0 && B == 0) begin
S = D0;
end else if (A == 0 && B == 1) begin
S = D1;
end else if (A == 1 && C == 0) begin
S = D2;
end else if (A == 1 && C == 1) begin
S = D3;
end else begin
S = 1'bx;
end
end
endmodule
```
阅读全文