如何将 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
如题,我想将 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