-
Notifications
You must be signed in to change notification settings - Fork 681
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
verilator giving error while generating a rocketchip. firrtl bug? #428
Comments
Solved by ucb-bar/barstools#74 (comment) |
I'm getting a similar bug, but I'm pretty unclear on where it's coming from (I'm trying to make some stuff that hooks into a Chipyard design). Any tips on debugging? Or should I just figure out how to bump barstools to get the patch? update - just pulled barstools and I'm no longer getting the error. Thanks for the fix! |
barstools is now compatible with chisel 3.2.x
We plan on getting the fix into the next release. Glad it works for you now. |
Sounds good! I tried making another change and the error is back, even after reverting the change and running The first time I rebuilt after updating barstools, the only thing that seemed to run was a few barstools macro commands and then building c++ files. Just in case it makes a difference, the exact error I'm getting is slightly different:
If there's a specific part of the verillog or FIRRTL files that would be helpful for you, let me know! |
Looks like if I rerun the compilation with a single core it catches the need to run the macros (uncertain this is the right terminology, not super familiar with this part of the Chisel toolchain/build system). Possibly something similar is happening here as #377 / #386 ? Specifically, I have to rerun the compilation with a single core. If I run the rest of the build single core or multicore, it still seems to fail with the verilator errors. |
Is the |
I don't believe so, I created Chisel hardware description in my own generator then modified |
I got the following error and did not generate the rocketchip C simulator when I added a memory port to freechips.rocketchip.system.DefaultConfig.
The error message is:
It geneated a wrong mux in the freechips.rocketchip.system.DefaultTestConfig.harness.mems.fir and freechips.rocketchip.system.DefaultTestConfig.harness.mems.v:
R0_data <= mux(eq(R0_addr_sel_reg, UInt<2>("h0")), R0_data_0, mux(eq(R0_addr_sel_reg, UInt<2>("h1")), R0_data_1, mux(eq(R0_addr_sel_reg, UInt<2>("h2")), R0_data_2, mux(eq(R0_addr_sel_reg, UInt<2>("h3")), R0_data_3, UInt<1>("h0")))))
` assign R0_data = R0_addr_sel_reg == 2'h0 ? R0_data_0 : R0_addr_sel_reg == 2'h1 ? R0_data_1 : R0_addr_sel_reg == 2'h2 ? R0_data_2 : R0_addr_sel_reg == 2'h3 ? R0_data_3 : 1'h0;
`
And the last value should be UInt<64>("h0"))))) and 64'h0.
The codes what I added in rocket-chip/src/main/scala/system/Configs.scala:
And The error happened when I run the verilator with the DefaultTestConfig and the MasterPortParams.size is equal to or larger than 8000_0000h.
It seems to be related to firrtl.
Thanks for your help.
Young.
The text was updated successfully, but these errors were encountered: