[VHDL] VHDL中“or”和“|”区别

[复制链接]
 楼主| gamefan567 发表于 2014-1-16 13:23 | 显示全部楼层 |阅读模式
or是或,经常用。今天写了段代码,定义了一个枚举类型的信号state={s0,s1,s2},在case 语句后面写
when s0 or s1 编译不能通过,写成when s0|s1可以通过。求大牛讲解“|”的用法。书上没找到。。。
xdh1009 发表于 2015-8-27 09:59 | 显示全部楼层
本帖最后由 xdh1009 于 2015-9-2 14:30 编辑

1
liyusnoopy 发表于 2015-11-20 11:47 | 显示全部楼层
翻书看了下,首先你的“when s1 or s2” 的意图应该是对多个可能出现的值进行判断。假设你的枚举类型s0,s1,s2的值为“00”,“01”,“10”, s1 or s2 的值实际上是  "11",然而“11”并不在你的枚举列表中,所以case这里就应该有问题了。而when s1 | s2,中 "|"的用法即:“对多个可能出现的值进行判断,满足一个条件即可”。所以按照你的意图来看,应该是满足s1,s2中的任意一个即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

5

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部