一图看懂
z表示高阻态,x表示不定状态,因此在casex中对于x和z的位置不关注,只关注0-低电平和1-高电平的位置是否相同。
举例
在下面的代码中,如果对于给出的inst_i的高电平1以及低电平0和casex中相同,则将ALUop赋予对应的信号,相当于我们仅关心高低电平的位置信号是否一致
// Instruction Decode
always @ (*) begin
if (rst)
ALUop <= 5'b0;
else begin
casex (inst_i) // inst_i is a 32 bit input wire
32'bxxxxxxxxxxxxxxxxxxxxxxxxx1101111: ALUop <= 5'b10000; // jal
32'bxxxxxxxxxxxxxxxxx000xxxxx1100011: ALUop <= 5'b10001; // beq
32'bxxxxxxxxxxxxxxxxx100xxxxx1100011: ALUop <= 5'b10010; // blt
32'bxxxxxxxxxxxxxxxxx010xxxxx0000011: ALUop <