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

时间:2018-06-30 01:47:05

标签: scala chisel

作为标题,我想将Vec(Bool())转换为UInt值。

例如

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) 
}

1 个答案:

答案 0 :(得分:4)

您可以使用task copyAndroidNatives() { file("libs/armeabi/").mkdirs(); file("libs/armeabi-v7a/").mkdirs(); file("libs/x86/").mkdirs(); configurations.natives.files.each { jar -> def outputDir = null if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a") if (jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi") if (jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86") if (outputDir != null) { copy { from zipTree(jar) into outputDir include "*.so" } } } } 将Vec投射到Bools(或任何Chisel数据)到UInt。

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

请参阅https://github.com/freechipsproject/chisel3/wiki/Cookbook