Я получаю ошибку во время FIRRTL -> Verilog преобразования.Я делаю следующее в своем коде:
// Instantiate an Addr Translation Unit
val atu = Module (new AddressTranslationUnit(vpnWidth.U, ppnWidth.U))
io.ptw(0) <> atu.io.out.bits.ptw
Это проходит первоначальную компиляцию, и я получаю файл * .fir.Однако на следующем шаге (создание verilog) FIRRTL выполняет больше проходов, и мой код завершается ошибкой с ошибкой ниже:
Exception in thread "main" firrtl.passes.CheckTypes$InvalidConnect:
@[MyCore.scala 88:23:freechips.rocketchip.system.MYConfig.fir@147855.4]:
[module GenericMY] Type mismatch. Cannot connect atu.io.out.bits.ptw to io.ptw[0].
Как отладить это?
Я подозреваю, что я получаю несоответствие ширины в сложном многокомпонентном пакете (TLBPTWIO), но я могу видеть только в выводе * .fir, который мне подходит.