凿子调试类型推断

时间:2018-08-25 19:46:58

标签: chisel

在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输出中看到,这对我来说还可以。

0 个答案:

没有答案