HDLBits (163) — case语句
2022-06-14 02:49 作者:僚机Wingplane | 我要投稿
本题链接:
https://hdlbits.01xz.net/wiki/Bugs_case
这个组合电路应该能够识别键 0 到 9 的 8 位键盘扫描码。如果识别到了就会检测是哪个键,并且应该能够识别到(有效的) 所有的10 种情况。 修复存在的错误。

题目

答案

输出波形


case 语句是一种多路条件分支的形式,可以解决 if 语句中有多个条件选项时使用不方便的问题。case 语句支持嵌套使用。case 语句中的条件选项表单式不必都是常量,也可以是 x 值或 z 值。当多个条件选项下需要执行相同的语句时,多个条件选项可以用逗号分开,放在同一个语句块的候选项中。但是 case 语句中的 x 或 z 的比较逻辑是不可综合的,所以一般不建议在 case 语句中使用 x 或 z 作为比较值。
参考内容:
4.6 Verilog 多路分支语句 | 菜鸟教程:
https://www.runoob.com/w3cnote/verilog-case.html