-
Notifications
You must be signed in to change notification settings - Fork 602
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The new chisel (updated in Rocket on 02/03/2017) does not work with riscv-boom. #792
Comments
In case anyone else is looking at this, I was able to reproduce it with the code below. Note that the Wire construction is necessary (in that it doesn't trip on the first clone in IO), which leads me to believe this can be cloned once but not again. It also does not work with any iteration of autoclonetype. As in the error message above, it appears to have two candidates of MyCoolBundle for the outer object which is strange. import chisel3._
class MyCoolBundle(w: Int) extends Bundle {
val foo = {
val bar = new Bundle {
val a = UInt(w.W)
}
Output(bar)
}
override def cloneType = new MyCoolBundle(w).asInstanceOf[this.type]
}
class AutoCloneTypeTop extends Module {
val io = IO(new MyCoolBundle(8))
val wire = WireInit(io)
} |
Thanks for the minimal test case. It's potentially the outer class detection by stack frame examination, it's seeing both the cloneType call on the earlier Bundle, and the call to init inside cloneType for the new Bundle. Potentially solvable by having the stack frame examination filter only init calls, or just being more stricter about matching name/line/frame position/etc. Will give that a try and see if it solves the minimal test case. |
Old version (works): e276571
New version (does not work): 9787117
When compiling the riscv-boom code, an exception occurs in this line:
https://github.com/freechipsproject/chisel3/blob/97871178cb511063965f971b768f91c289c4776f/chiselFrontend/src/main/scala/chisel3/core/Aggregate.scala#L617
the riscv-boom code in which the error occurs:
What do you think about it?
The text was updated successfully, but these errors were encountered: