A
がインスタンスであるB
モジュールがあるとします。これらのポート名の問題はBlackBoxに定義されています
class B extends Module {
…
val u_A = Module(new A)
// the way to hook u_A’s port is the issue
}
A
モジュールの説明:
class A extends Module {
val io = IO(new Bundle{
val a = Output(Bool())
})
io.a := true.B
}
A
のBlackBoxの宣言:あなたはIO_の接頭辞でBlackBoxの中でポート名を定義しなければならない
class A extends BlackBox {
val io = IO(new Bundle{
val io_a = Output(Bool()) // HAVE to define port name with io_* prefix otherwise ...
})
}
そうでない場合に生成されたポートリストB
RTLはA
モジュールと一致しません。 は、モジュールのインスタンス化のため、u_Aのポートをフックする方法はBlackBoxのインスタンス化のための
u_A.io.a
で、u_Aのポートをフックする方法は
u_A.io.io_a
は、あなたがより多くな便利があるかどうかについて教えてENLIGHTでしたです方法?
私はchisel3.experimentalがこれらの新しい実験のパッケージだと頼むことがありますか? –
はい、私たちは 'chisel3.experimental'に新機能を追加し、変更の対象となる新しいAPIを導入していることを明確にしています。これらのAPIを変更するつもりはない* – jkoenig