verilog - 问号?在verilog中支持多位选择信号?
问题描述
y = sel ? x : y
我总是假设sel应该是一位数据,1 或 0,真或假。但是我的队友坚持认为sel可以不止一位。他使用原来的 4 位信号作为 sel 代替,只要它不为 0,就是它的 ture,这意味着任何位在sel中变高都会输出 x。我很惊讶它通过了 Qaurtus 的综合。没有错误
通常我们使用 y = |sel ? x:是的。
我们想要的是,如果sel中的任何位为高,我们希望 x 作为输出。这在各种verilog综合工具中都能正常工作吗?
解决方案
简单的。在 Verilog 中,true 为非零,false 为 0、X 或 Z。条件运算符?:
仅查看条件选择表达式的 true 或 false。
推荐阅读
- python - 在 Linux Mint 上安装 pyttsx3
- sparklyr - sparklyr::spark_read_csv java.net.URISyntaxException 在 Windows
- xml - 如何使用 XSL 访问可变 XML 元素?
- reverse-proxy - 通过 nginx 入口运行哨兵时未加载 css js
- android - 由primaryKeyPosition引起的android房间数据库架构无效错误
- javascript - Javascript:从数组*和字符串*中的每个元素返回随机元素
- mysql - Sequelize - 使用包含向查询添加限制,无法正确限制检索
- active-directory - 需要一个 LDAP 查询来确定用户是否对 Active Directory 中的三个属性中的任何一个具有空值
- html - 通过 VBA 在网页上输入字段时遇到问题
- excel - 为什么 Excel VBA 中的银行家舍入函数会根据小数位数给出不同的结果?