“什么是?”&引用;在Verilog casez?
我有以下模块:“什么是?”&引用;在Verilog casez?,verilog,synthesis,Verilog,Synthesis,我有以下模块: 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;
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???
发生时?(什么是?
?)?是一个不在乎的值-即它将匹配0、1或z。那么3'b1??无论其他两位是什么,只要第一位是1,就会出现case
该电路基本上是一个4:1多路复用器,选择b0、b1、b2、b3中的一个,在
a
上添加一个选择位,强制输出为0,无论其他两个选择位是什么。我不知道如何为a创建x值。例如,a=3'b1x0