Open gojimmypi opened 2 years ago
Greetings @gojimmypi ! Take a look at these lines in servant.core. https://github.com/olofk/serv/blob/28953fec4c02314f17f78c5666915a43851995fe/servant.core#L356-L366
fusesoc run --target=ulx3s_85 servant
Hope it resolves your issue.
Hello @KinzaQamar and thank you for your suggestions!
TL;DR: it works! :)
my servant.core
is located in fusesoc_libraries/serv
from the above-mentioned project directory initialization.
sure enough, I was only looking at the filesets
section. I found the targets
you mentioned, and tada! That's Where diamond is found.
I understood the error, but did not realize that's where to edit it.
As a suggestion to @olofk perhaps it would be a good idea to write something to the console:
Using tool from fusesoc_libraries/serv/servant.core: diamond; see section targets:ulx3s_85
I see that trellis
is another option defined for the ulx3s_85
but when I try to specify that with --tool=trellis
I still get the same error:
0 $ fusesoc run --tool=trellis --target=ulx3s servant
WARNING: The CAPI1 core file description format is deprecated and will be removed in the next major version of FuseSoC. Please port your core files to the CAPI2 format.
ERROR: Failed to determine work root. Could not resolve target
And so here, the fact that I am still targeting the filesets
section, and they keyword ulx3s
was found but not in the desired targets
section, perhaps a more intuitive error would be good here?
WARNING: Found filesets=ulx3s but did you mean to specify a targets=[value] in your fusesoc_libraries/serv/servant.core?
Further, note that my servant.core
contains CAPI=2:
at the top, contrary to the CAPI1
warning.
I thought perhaps I could just change my default like this:
ulx3s_85:
default_tool: trellis
description : ULX3S 85k version
filesets : [mem_files, soc, ulx3s]
parameters : [memfile, memsize]
tools:
diamond:
part : LFE5U-85F-6BG381C
trellis:
nextpnr_options : [--package, CABGA381, --85k]
toplevel: servant_ecp5
but I still saw the same error:
0 $ fusesoc run --target=ulx3s servant
WARNING: The CAPI1 core file description format is deprecated and will be removed in the next major version of FuseSoC. Please port your core files to the CAPI2 format.
ERROR: No tool was supplied on command line or found in 'servant' core description
(again, I didn't realize they keyword section problem of filesets
vs targets
)
Perhaps something as simple as:
Error: keyword ulx3s not defined in targets in ./fusesoc_libraries/serv/servant.core
Anyhow, it WORKS! 👍
Changing the default as shown above, and I am able to build for the ULX3S
:
fusesoc run --target=ulx3s_85 servant
Curiously, even when specifying the --target=ulx3s_85
I was not able to specify the --tool=trellis
like this:
0 $ fusesoc run --target=ulx3s_85 servant --tool=trellis
WARNING: The CAPI1 core file description format is deprecated and will be removed in the next major version of FuseSoC. Please port your core files to the CAPI2 format.
INFO: Preparing ::serv:1.1.0
INFO: Preparing ::servant:1.1.0
usage: fusesoc run servant_1.1.0 [-h] [--RISCV_FORMAL] [--SERV_CLEAR_RAM] [--memfile MEMFILE] [--memsize MEMSIZE] [--arch ARCH]
[--output_format OUTPUT_FORMAT] [--yosys_as_subtool YOSYS_AS_SUBTOOL] [--makefile_name MAKEFILE_NAME]
[--yosys_template YOSYS_TEMPLATE] [--nextpnr_options NEXTPNR_OPTIONS] [--yosys_synth_options YOSYS_SYNTH_OPTIONS]
fusesoc run servant_1.1.0: error: unrecognized arguments: --tool=trellis
It is apparently order-dependent, as this works:
fusesoc run --tool=trellis --target=ulx3s_85 servant
I undid my changes to the file and sure enough, I was still able to build for the ULX3S!! Woohoo!!
Thanks so much for your help! Cheers.
When running
fusesoc run --target=ulx3s servant
for the for theULX3S
, I see this error:ERROR: No tool was supplied on command line or found in 'servant' core description
yet it works fine for the
tinyfpga-bx
:The problem seems to be the definitions of boards missing a
PCF
file type, such as the ulx3s:As the
zcu102
also fails:... and others also fail:
But note the
icebreaker
, with a PCFis successful:
I also tried the
blinky
directories that contained the ulx3s files, but all with the same error:Of course, I'm left wondering about the
WARNING: The CAPI1 core file description format is deprecated and will be removed in the next major version of FuseSoC. Please port your core files to the CAPI2 format.
.fusesoc
version, apparently already up to date at version 1.12.0 per the installation docs: