问号?在verilog中是否支持多位选择信号?

问号?在verilog中是否支持多位选择信号?,verilog,Verilog,我总是假设sel应该是一位数据,1或0,true或false。 但我的队友们坚持认为sel可以超越一位。他使用原始的4位信号作为sel,只要它不是0,它是真的,这意味着sel中的任何位变高,它将输出x。 我很惊讶它通过了库尔特的综合测试。没有错误 通常我们使用y=| sel?x:y 这里我们想要的是,如果sel中的任何位都是高的,我们希望x作为输出。 这在各种verilog合成工具中都能正常工作吗?简单。在Verilog中,true为非零,false为0、X或Z。条件运算符?:仅查看条件选择表达

我总是假设sel应该是一位数据,1或0,true或false。 但我的队友们坚持认为sel可以超越一位。他使用原始的4位信号作为sel,只要它不是0,它是真的,这意味着sel中的任何位变高,它将输出x。 我很惊讶它通过了库尔特的综合测试。没有错误

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

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

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

y = sel ? x : y