1

BlackBoxaを任意の に配線しようとしてBundleいますが、幅の推定は fromBits 関数では機能しないようです。以下は正常にコンパイルされます。

class testBundle extends Bundle {
  val io1 = Bool(INPUT)
  val io2 = UInt(INPUT,10)
}

class testBox extends BlackBox {
  val io = new Bundle {
    val in = Bits(INPUT) # Width inference works fine here
    val out = Bits(OUTPUT,(new testBundle).getWidth) # But it doesn't work here!
  }
}

class test extends Module {
  val io = new Bundle {
    val in = new testBundle
    val out = (new testBundle).flip()
  }
  val testbox = Module(new testBox)
  testbox.io.in := io.in.toBits
  io.out := io.out.fromBits(testbox.io.out)
}

しかし、引数を削除する(new testBundle).getWidthと、Chisel は出力ポートの幅を推測できず、エラーが発生します。testBox任意のバンドルに接続するにはどうすればよいですか?

4

1 に答える 1