VHDL中“or”和“|”区别

2020-02-06 12:42发布

or是或,经常用。今天写了段代码,定义了一个枚举类型的信号state={s0,s1,s2},在case 语句后面写
when s0 or s1 编译不能通过,写成when s0|s1可以通过。求大牛讲解“|”的用法。书上没找到。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
xdh1009
1楼-- · 2020-02-06 16:04
本帖最后由 xdh1009 于 2015-9-2 14:30 编辑

1
liyusnoopy
2楼-- · 2020-02-06 18:06
翻书看了下,首先你的“when s1 or s2” 的意图应该是对多个可能出现的值进行判断。假设你的枚举类型s0,s1,s2的值为“00”,“01”,“10”, s1 or s2 的值实际上是  "11",然而“11”并不在你的枚举列表中,所以case这里就应该有问题了。而when s1 | s2,中 "|"的用法即:“对多个可能出现的值进行判断,满足一个条件即可”。所以按照你的意图来看,应该是满足s1,s2中的任意一个即可。

一周热门 更多>