比较 Chisel 3 中的两个位类型值

Comparing two Bits type values in Chisel 3

我想比较凿子中的两个位类型值。首先,我使用 === 运算符进行了尝试。

val byte = (typ === MT_B)

这给出了错误 "value === is not a member of chisel3.Bits"。所以我尝试了如下的equals方法。

val byte    =   (typ.equals(MT_B))

这在代码的后面部分出现了以下错误,该字节值用于 Mux 中的条件。

found   : Boolean
[error]  required: chisel3.core.Bool
[error]         val dout    =   Mux(byte, Fill(4, din( 7,0)),

我找不到将布尔 return of equals 方法转换为 Mux 的 Bool typer 的方法。而且我找不到来自 chisel 3 API ethier.

的 === 运算符的替代品

Boolean 是 Scala 文字。 Chisel 等价物是 Bool.

像这样铸成 Chisel Bool

val myBoolean = true // Scala literal
val myBool = Bool(myBoolean)

或者,您也可以使用 myBoolean.B 从 Scala Boolean 转换为 Chisel Bool。