Closed tomverbeure closed 3 years ago
Note to self...
To work around this:
Create local copy of corescore repo:
cd ~/projects
git clone https://github.com/olofk/corescore.git
cd corescore
Edit ./rtl/emitter.v
: comment out i_wb_rst
on line 121
create local workspace:
mkdir workspace
cd workspace
Add fusesoc-cores
fusesoc library add fusesoc-cores https://github.com/fusesoc/fusesoc-cores
Don't do: fusesoc library add corescore https://github.com/olofk/corescore
!!!
Now run fusesoc with link to local copy of corescore, which is simply the directory right above the current one:
fusesoc --cores-root=../ run --target=intel_max10_devkit corescore
Ok. So it turns out that there are 2 serving_ram.v files: one under ./serving and one under ./servant.
The one under ./servant has i_wb_rst, but the one under ./serving does not.
I don't know what the best solution here, so I'll leave that to you, @olofk.
Tom
Thanks for reporting. This was fixed in the main branch of the serv repo a while ago but there was never a new release after that. I fixed it now by adding a servant 1.0.2-r1
to the fusesoc-cores library.
If you run fusesoc library update fusesoc-cores
you should hopefully get the new version. Verify by checking with fusesoc core list
that the core exists and that it shows up as a dependency in the fusesoc output when you run corescore
And I'm sorry about the issues you've encountered. Wanted to add also that your workaround is the correct and intended way of dealing with bugs or other issues in some dependency of your toplevel. A minor note is that it actually is ok in this situation to run fusesoc library add corescore https://github.com/olofk/corescore
because the libraries you specify with --cores-root have higher priority than the ones in fusesoc.conf
Also, when I'm confused about which core is being picked up by fusesoc I generally run fusesoc core show <core>
and look at the core root to see which version is used
Got it!
I'll retry to check everything is working now once I get the chance, and then I'll close.
Thanks! Tom
Things verified to be working now. Thanks!
I'm running corescore straight out of the box with a clean install. (Or at least, I think it's clean, because the whole dependency chain is very opaque to me.)
I get the following error:
In
~/projects/corescore_ws/build/corescore_0/src/corescore_0/rtl/emitter.v
, I indeed see the following:And in
/home/tom/projects/corescore_ws/build/corescore_0/src/serving_1.0.2/serving/serving_ram.v
, I see:There is, indeed, no
i_wb_rst
to be seen inserving_ram
. There is also noi_wb_rst
in theserving_ram
repo.So how can this possible have ever worked before??? I really want to love fusesoc, but every time I get near it, I get hit with incomprehensible dependency issues.
Tom