问号?在 verilog 中支持多位 select 信号?
question mark ? in verilog support multi bit select signal?
y = sel ? x : y
我一直假设sel应该是一位数据,1或0,真或假。
但是我的队友坚持认为sel可以不止一位。他用原来的 4 位信号作为 sel 代替,只要它不为 0,它就是 true,这意味着 sel 中的任何位都会变高会输出 x。
我很惊讶它在 Qaurtus 中通过了综合。没有错误
通常我们使用 y = |sel ? x: y 代替。
我们在这里想要的是,如果 sel 中的任何位为高,我们希望将 x 作为输出。
这在各种verilog综合工具中都能正常工作吗?
简单。在 Verilog 中,true 为非零,false 为 0、X 或 Z。条件运算符 ?:
仅查看条件 select 表达式的真或假。
y = sel ? x : y
我一直假设sel应该是一位数据,1或0,真或假。 但是我的队友坚持认为sel可以不止一位。他用原来的 4 位信号作为 sel 代替,只要它不为 0,它就是 true,这意味着 sel 中的任何位都会变高会输出 x。 我很惊讶它在 Qaurtus 中通过了综合。没有错误
通常我们使用 y = |sel ? x: y 代替。
我们在这里想要的是,如果 sel 中的任何位为高,我们希望将 x 作为输出。 这在各种verilog综合工具中都能正常工作吗?
简单。在 Verilog 中,true 为非零,false 为 0、X 或 Z。条件运算符 ?:
仅查看条件 select 表达式的真或假。