verilog 中casex的问题

fym0121 发布于 2011/10/11 12:00
阅读 850
收藏 0

module tcx;
reg [3:0] X;
wire [3:0] Y;

cx instan(X,Y);

initial
begin
    #1 X = 4'b1110;
    $display("x=%b,y=%b",X,Y);
    #2 X = 4'b1100;
    $display("x=%b,y=%b",X,Y);
end


endmodule

module cx(X,Y);

input  [3:0] X; 
output reg [3:0] Y; 

always @(X) 
begin 
    casex(X) 
        4'b1x10: Y=4'b0111; 
        4'b1xx0: Y=4'b0010; 
    endcase 
end 

endmodule 

输出结果为

# x=1110,y=xxxx
# x=1100,y=0010

这和我预想的可不一样,当x=1100时,y不应该是0010吗?

加载中
返回顶部
顶部