I have two students in my computer architecture class that are attempting to run the rvFPGASOC project and have run into some errors. They followed the directions in the lab1 file exactly, and when they attempt to build the bitstream they get the errors. They are using Vivado 2022.1 executing on windows. I observed them attempting the install via a zoom session, and i believe they followed the documentation exactly.
I am including the snapshots they sent me and a message from vivado:
[filemgmt 56-585] Internal Data Exception: HDDASrcFileProxy::HDDASrcFileProxy: Given Source File 'C:/computerArchitecture/RVfpgaSoC/Labs/LabResources/Lab1/src/SweRVolfSoC/SweRVEh1CoreComplex/include/global.h' needs to be addded to the project in order to use it as an RTL module
Please let me know if you have seen these error before.
Thank-you,
Nick Beser
Hi Nick,
Thank you for reaching out.
I notice you are trying to run RVfpga SoC on Vivado 2022.1
RVfpga SoC is designed for Vivado 2019.2
Whenever Vivado does significant upgrades, there are always subtleties and steps that don't work that well.
We recommend trying Vivado 2019.2 and see how that goes
That should work ok.
Let me know if you still face issues.
Thanks
Zubair
@zubairlk I recommended to my students that they try 2019.2. They also tried lab 3 which used fusesoc. They ran into the following weird error:
Traceback (most recent call last):
File "/usr/local/bin/fusesoc", line 8, in <module>
sys.exit(main())
File "/usr/local/lib/python3.8/dist-packages/fusesoc/main.py", line 766, in main
fusesoc(args)
File "/usr/local/lib/python3.8/dist-packages/fusesoc/main.py", line 756, in fusesoc
args.func(cm, args)
File "/usr/local/lib/python3.8/dist-packages/fusesoc/main.py", line 293, in run
run_backend(
File "/usr/local/lib/python3.8/dist-packages/fusesoc/main.py", line 415, in run_backend
edam = edalizer.run()
File "/usr/local/lib/python3.8/dist-packages/fusesoc/edalizer.py", line 96, in run
self.setup_cores()
File "/usr/local/lib/python3.8/dist-packages/fusesoc/edalizer.py", line 119, in setup_cores
for core in self.cores:
File "/usr/local/lib/python3.8/dist-packages/fusesoc/edalizer.py", line 71, in cores
return self.resolved_cores
File "/usr/local/lib/python3.8/dist-packages/fusesoc/edalizer.py", line 77, in resolved_cores
return self.core_manager.get_depends(self.toplevel, self.flags)
File "/usr/local/lib/python3.8/dist-packages/fusesoc/coremanager.py", line 362, in get_depends
deps = self.db.solve(resolved_core.name, flags)
File "/usr/local/lib/python3.8/dist-packages/fusesoc/coremanager.py", line 114, in solve
return self._solve(top_core, flags)
File "/usr/local/lib/python3.8/dist-packages/fusesoc/coremanager.py", line 161, in _solve
_depends = core.get_depends(_flags)
File "/usr/local/lib/python3.8/dist-packages/fusesoc/capi2/core.py", line 251, in get_depends
for fs in self._get_filesets(flags):
File "/usr/local/lib/python3.8/dist-packages/fusesoc/capi2/core.py", line 606, in _get_filesets
cd_filesets = self._coredata.get_filesets(flags)
File "/usr/local/lib/python3.8/dist-packages/fusesoc/capi2/coredata.py", line 160, in get_filesets
self._setup_fileset(fs, flags)
File "/usr/local/lib/python3.8/dist-packages/fusesoc/capi2/coredata.py", line 132, in _setup_fileset
self._expand_use(fs, flags)
File "/usr/local/lib/python3.8/dist-packages/fusesoc/capi2/coredata.py", line 37, in _expand_use
self._expand_use(data[k], flags)
File "/usr/local/lib/python3.8/dist-packages/fusesoc/capi2/coredata.py", line 55, in _expand_use
self._expand_use(i, flags)
File "/usr/local/lib/python3.8/dist-packages/fusesoc/capi2/coredata.py", line 29, in _expand_use
expanded_k = Exprs(k).expand(flags)
File "/usr/local/lib/python3.8/dist-packages/fusesoc/capi2/exprs.py", line 154, in __init__
self.ast = _parse(string)
File "/usr/local/lib/python3.8/dist-packages/fusesoc/capi2/exprs.py", line 143, in _parse
raise ValueError(
ValueError: Invalid syntax for string: Expected end of text, found '(' (at char 1), (line:1, col:2). Parsed text was '$(XILINX_VIVADO)/data/verilog/src/glbl.v'.
One of their classmates was able to use a newer version of vivado with fusesoc to complete the linux lab. Any ideas about the error?
Found a subtle issue which we'll fix.
Can you please either temporarily downgrade FuseSoC to version 2.0 with "pip install --upgrade fusesoc==2.0"
or remove the problematic line (this one https://github.com/chipsalliance/Cores-SweRVolf/blob/master/cores/litedram/litedram.core%23L22&source=gmail&ust=1682341904834000&usg=AOvVaw0Cc0bY0UupLZU_iDw8ML_ P"> https://github.com/chipsalliance/Cores-SweRVolf/blob/master/cores/litedram/litedram.core#L22 ).
It is not used in this context and can therefore be safely removed.
Thanks
ZubairLK
@ndbeser I have confrimed this is an issue with FuseSoC 2.2. I just released FuseSoC 2.2.1 to fix this issue. Please upgrade with "pip install -U fusesoc". Hope this helps