2

我在下面有一个模块:

module bai1c(a, b0, b1, b2, b3, c);
    input [2:0] a;
    input [3:0] b0, b1, b2, b3;
    output reg[3:0] c;

    always @(a or b0 or b1 or b2 or b3) begin
        casez(a)
            3'b000: c = b0;
            3'b001: c = b1;
            3'b010: c = b2;
            3'b011: c = b3;
            3'b1??: c = 4'b0000;
        endcase
    end
endmodule

会合成什么样的电路?什么时候3'b1??出现这种情况?(是什么???)

4

1 回答 1

3

? 是一个无关值 - 即它将匹配 0、1 或 z。那么3'b1?? 无论其他两位是什么,只要第一位是 1,就会发生这种情况。

该电路基本上是一个 4:1 多路复用器,选择 b0、b1、b2、b3 之一,加上一个选择位a,强制输出为 0,无论其他两个选择位是什么。

于 2012-12-30T16:42:51.660 回答