我正在写一个verilog文件。我使用以下代码作为多路复用器:
assign out = raddr_mux ? a:b
然而,输出波似乎很奇怪。
如图所示,红线表示未定义raddr_mux。但是,有时输出输出值,有时输出输出没有。我想知道undefined将如何影响选择行为。谢谢!
答案 0 :(得分:0)
输入上的x
表示未定义,即0
或1
。
如果多路复用器的两个输入都处于相同的值,那么选择值是什么并不重要,输出仍然被定义,因为它必须是输入之一。在我们的示例中,select是x
,但输入和输出都是0,4然后是5。
如果输入不相同,则输出为x
,未定义,因为它可能是输入值之一。