首页 > 解决方案 > 问号?在verilog中支持多位选择信号?

问题描述

y = sel ? x : y

我总是假设sel应该是一位数据,1 或 0,真或假。但是我的队友坚持认为sel可以不止一位。他使用原来的 4 位信号作为 sel 代替,只要它不为 0,就是它的 ture,这意味着任何位在sel中变高都会输出 x。我很惊讶它通过了 Qaurtus 的综合。没有错误

通常我们使用 y = |sel ? x:是的。

我们想要的是,如果sel中的任何位为高,我们希望 x 作为输出。这在各种verilog综合工具中都能正常工作吗?

标签: verilog

解决方案


简单的。在 Verilog 中,true 为非零,false 为 0、X 或 Z。条件运算符?:仅查看条件选择表达式的 true 或 false。


推荐阅读