case语句也是条件语句之一。它的格式如下:

![]()
case语句的执行,首先计算表达式的值,判断表达式的值是与哪一个分支项的值相符,再执行相符的分支项其后的执行语句。一定要有缺省分支项default。
例6.33:

上面这个例子,读者自己去分析。给读者留1个问题:弘历周几会去娴妃那?
再看一例。
例6.34:假设我们有如下一个真值表:
表6.9 示例的真值表

续 表


4'b0000的符号',是键盘中间紧贴着回车的左边那个键。在word文本输入、ise文本输入,这个符号'可能会不一样,编译的时候会导致出错。多尝试几次就好。
case语句结构很清晰明了,多适用于编码器、译码器、数据选择器、有限状态机、CPU指令译码器。
例6.35:用case语句设计一个4选1数据选择器。
(https://www.xing528.com)
该模块的示意图如下图所示。

图6.2 4选1数据选择器的模块示意图
还有另外两种形式的case语句,一种是casex,另一种是casez。
这三种语句的写法格式完全相同。区别在于:
casez语句考虑到了高阻态z。如果在casez语句里,哪个分支表达式的某些位的值为高阻态z,则不需要考虑这些位的比较,只需要考虑别的位的比较。
casex语句则进一步考虑到了高阻态z和未知态x。如果在casex语句里,哪个分支表达式的某些位的值为高阻态z或者未知态x,则不需要考虑这些位的比较,只需要考虑别的位的比较。
所以有时候我们可以把casez和casex语句叫作接受无关值的case语句。
还有一种方法表示这个无关值,那就是使用标识问号“?”。
例6.36:


上面这个例子,问号“?”就是用来代替字符z的,表示无关位。
看另外一个case例子。
例6.37:

该例子的x被当作无关值,语句2和语句4都匹配,搜索执行到语句2,跳出casex语句,语句4不被执行。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
