如何将 Vec(n,Bool()) 转换为 UInt 值

How to convert Vec(n,Bool()) into UInt value

如题,我想将 Vec(Bool()) 转换为 Int 值。

例如

class MyModule extends Module {

  val io = IO(new Bundle {
    val in_data    = Input (Vec (3, Bool() ) 
    val result     = Output(UInt(5.W))
  })

  //how can I convert io.in_data to Uint and the assign to io.result
  //I will get io.result = 7 when in_data(1, 1, 1) 
}

您可以使用 .asUInt 将 Vec 转换为 Bools(或任何 Chisel 数据)转换为 UInt。

如果您需要从 UInt 转换回 Vec 或 Bools,您可以使用 .asBools

请看https://www.chisel-lang.org/chisel3/docs/cookbooks/cookbook.html