Verilog中 case,casez,casex的区别

发布时间:2018-06-29 01:02:34

Verilog casecasezcasex的区别

case语句中,敏感表达式与各项值之间的比较,是一种全等比较。每一位都必须相同才认为匹配。

casezcasex语句是case语句的两种变体, 在写testbench时用到,属于不可综合的语句

1casez语句中,如果分支表达式某些位的值为高阻z,那么对这些位的比较就会忽略,不予考虑,而只关注其他位的比较结果。

2 casex语句中,则把这种处理方式进一步扩展到对x的处理,即如果比较双方有一方的某些位的值是zx,那么这些位的比较就不予考虑。

比如: casez (sel)

3’b001: y=a+b;

3b010: y=a-b;

3b011: y=a&b;

3b100: y=a^b;

Default: y=3b000;

sel=01z的时候,由于最低位出现z,那么在比较判别时不考虑最低位,只与源比较前两位,那么出现与010,011均匹配的情况,此时由于case语句是按顺序检查的,所以先认为与010匹配,输出y=a-b

Verilog中 case,casez,casex的区别

相关推荐