case\casez\casex的使用
时间:10-02
整理:3721RD
点击:
在case语句中,敏感表达式与各项值之间的比较,是一种全等比较。
casez与casex语句是case语句的两种变体,三者的表示形式中唯一的区别是三个关键词case、casez、casex的不同。
在casez语句中,如果分支表达式某些位的值为高阻z,那么对这些位的比较就会忽略,不予考虑,而只关注其他位的比较结果。
在casex语句中,则把这种处理方式进一步扩展到对x的处理,即如果比较双方有一方的某些位的值是z或x,那么这些位的比较就不予考虑。
虽然很少使用casez和casex语句,但是在此普及一下知识点,防止以后使用。
给大家举个例子更明白一些吧
casex(state)
4'b1xxx: next=3;
4'bx1xx: next=2;
4'bxx1x: next=1;
4'bxxx1: next=0;
default : next=0;
encase
如果输入的state为4‘b10xz的话,执行的是next=3
非常好的例子,谢谢