-
Notifications
You must be signed in to change notification settings - Fork 605
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
update neorv32 #2204
base: master
Are you sure you want to change the base?
update neorv32 #2204
Conversation
One thing I don't particularly like is that this seems to synthesize the whole cpu to verilog for every core, and I can't figure out how to do parameterized VHDL modules otherwise. Pretty much only to pass the HART_ID. |
So @stnolting mentioned the IO base address changed since then, but changing that I did not get it to boot yet. I don't have a very good way to see what the CPU is doing though. Like, how do I see what instructions it's trying to execute from where... |
I tried to bisect what broke it:
All of those commits fail to compile with None of those are related to the mentioned IO base address change, but rather changing the boot process it seems. |
These are all part of stnolting/neorv32#1086 and adding The rest of the todo items for this PR still remain. |
The SoC now starts with stnolting/neorv32#1211 so TODO:
Two other things I'm not happy about but unsure how to fix:
|
Sorry for closing... |
I think because I said "fixes" it marked that PR as "fixing" this PR. Anyway, this should work now with the caveat that not all variants work well with more than one core due to cache coherency. There also appears to be a feature/bug with LiteX wishbone where atomic operations can hang the system. Setting the SoC bus to AXI kind of resolves this, but with more than two cores atomic operations are no longer atomic. See stnolting/neorv32#1211 (comment) for details. |
WIP counterpart to stnolting/neorv32#1204 that updates neorv32 and adds the ability to use multiple cores
Currently a bit WIP and broken.
I was able to run multicore on 1.9.7 but after the update the simulation hangs.
I've also temporarily update the git url.
And I haven't hooked up the debug jtag correctly.