priority encoder
-
在case语句中,敏感表达式中与各项值之间的比较是一种全等比较,每一位都相同才认为匹配。
Note: casez与casex语句是case语句的两种变体, 在写testbench时用到,属于不可综合的语句。 -
在casez语句中,如果分支表达式某些位的值为高阻z,那么对这些位的比较就会忽略,不予考虑,而只关注其他位的比较结果。
-
在casex语句中,则把这种处理方式进一步扩展到对x的处理,即如果比较双方有一方的某些位的值是z或x,那么这些位的比较就不予考虑。
module top_module (
input [3:0] in,
output reg [1:0] pos );
always @(*)
casex(in)
4'bzzz1: pos = 2'b00;
4'bzz10: pos = 2'b01;
4'bz100: pos = 2'b10;
4'b1000: pos = 2'b11;
default: pos = 2'b00;
endcase
endmodule