添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

HDLBits (33) — 多路分支语句

专栏 / HDLBits (33) — 多路分支语句

HDLBits (33) — 多路分支语句

2022年02月08日 00:52 --阅读 · --喜欢 · 僚机Wingplane
粉丝: 3405 文章: 240

本题链接:

https://hdlbits.01xz.net/wiki/Always_case

Verilog中的case语句几乎等同于多个if-elseif-else,它将一个表达式与其他表达式的列表进行比较。它的语法和功能于C中的switch语句

  • case语句以case开头,每个“case项”以冒号结尾而不是“ switch ”。

  • 每个case项只能执行一条语句,这使得C中使用的“ break ”变得不必要。但这意味着,如果在一个case项中执行多个语句,则必须使用 begin ... end

  • 允许重复(部分重叠)case项,此时使用第一个匹配的。然而C不允许重复的case项。

题目

如果有大量的cases,case语句比if语句更方便。在本练习中你需要创建一个当sel在0和5之间时选择相应的数据输入的6:1多路复用器。如果sel不在0和5之间则输出0。数据输入和输出均为4位宽。注意可能会导致的锁存(请参阅 always_if2

答案

输出波形

case 语句是一种多路条件分支的形式,可以解决 if 语句中有多个条件选项时使用不方便的问题。

case 语句格式如下:

case 语句执行时,如果 condition1 为真,则执行 true_statement1 ; 如果 condition1 为假,condition2 为真,则执行 true_statement2;依次类推。如果各个 condition 都不为真,则执行 default_statement 语句。

default 语句是可选的,且在一个 case 语句中不能有多个 default 语句。

条件选项可以有多个,不仅限于 condition1、condition2 等,而且这些条件选项不要求互斥。虽然这些条件选项是并发比较的,但执行效果是谁在前且条件为真谁被执行。

ture_statement1 等执行语句可以是一条语句,也可以是多条。如果是多条执行语句,则需要用 begin 与 end 关键字进行说明。case 语句支持嵌套使用。

参考资料:

4.6 Verilog 条件语句 | 菜鸟教程:

https://www.runoob.com/w3cnote/verilog-case.html


投诉或建议
8.14 脑科学日报| 明明已饱,为什么还吃得下甜品?有另一个胃吗
第1823期 脑科学日报2023年8月14日科 学 时 讯1,Nature:新研究发现驱动学习的多巴胺-乙酰胆碱“潮起潮落”大脑机制来源:Bioon细胞长期以来,科学家们一直认为,食物或金钱等奖励会促使大脑释放“感觉良好”的激素多巴胺,从而促进学习。如今,在一项在啮齿动物身上进行的新研究中,来自美国纽约大学格罗斯曼医学院等研究机构的研究人员描述了在没有直接奖励的情况下学习是如何发生的。研究人员探讨了多巴胺与大脑化学物质乙酰胆碱之间的关系。过去的研究表明,奖励是通过同时引发多巴胺的增加和
猎股奇谈早报:2023.8.14星期一
► 经济日报:我国个人投资者数量已超过2亿,这是我国资本市场最大的市情。因此,尽快提升投资者获得感,已成为当前活跃资本市场的现实需要。投资者之所以在资本市场投资,看中的是其财富管理功能,就是能赚到钱,这是投资者提升获得感的重中之重。► 澎湃新闻:8月11日,极氪001直接降价3-3.7万元,起售价降至26.9万元,该售价将持续至年末。3月,燃油车价格战席卷车市。目前,新能源车降价潮又有苗头。8月以来,已有极氪、蔚来、哪吒等10个品牌官宣了促销活动。预计,车市促销将持续存在,不排除部分车企逆周期加码促销。►