prjxray
prjxray copied to clipboard
Kintex7 xc7k325 support
I followed the guide to add new parts, more or less, some experimental features had to be commented out. No validation on real hardware has been done, this is just to establish if the pull request changes can run
@kgugala Who should review this?
The build failed, but a necessary step: 'make db-prepare-kintex7' does not seem to be included in the regression flow. As far as I can see this needs to run before 'make -C fuzzers part_only'
I believe that make db-prepare-kintex7
should be run and committed?
Actually maybe I'm wrong...
https://github.com/SymbiFlow/prjxray/blob/60168e9b7e89956ce8a197f3cfdf6d4bc80926d3/.github/kokoro/db-full.sh#L32-L39
========================================
Preparing database
----------------------------------------
Preparing kintex7 files
============================
Part xc7k160tfbg484-1 has an unsupported device xc7k160t
Part xc7k160tfbg484-2 has an unsupported device xc7k160t
Part xc7k160tfbg484-2L has an unsupported device xc7k160t
Part xc7k160tfbg484-3 has an unsupported device xc7k160t
Part xc7k160tfbg676-1 has an unsupported device xc7k160t
Part xc7k160tfbg676-2 has an unsupported device xc7k160t
Part xc7k160tfbg676-2L has an unsupported device xc7k160t
Part xc7k160tfbg676-3 has an unsupported device xc7k160t
Part xc7k160tfbv484-1 has an unsupported device xc7k160t
Part xc7k160tfbv484-2 has an unsupported device xc7k160t
Part xc7k160tfbv484-2L has an unsupported device xc7k160t
Part xc7k160tfbv484-3 has an unsupported device xc7k160t
Part xc7k160tfbv676-1 has an unsupported device xc7k160t
Part xc7k160tfbv676-2 has an unsupported device xc7k160t
Part xc7k160tfbv676-2L has an unsupported device xc7k160t
Part xc7k160tfbv676-3 has an unsupported device xc7k160t
Part xc7k160tffg676-1 has an unsupported device xc7k160t
Part xc7k160tffg676-2 has an unsupported device xc7k160t
Part xc7k160tffg676-2L has an unsupported device xc7k160t
Part xc7k160tffg676-3 has an unsupported device xc7k160t
Part xc7k160tffv676-1 has an unsupported device xc7k160t
Part xc7k160tffv676-2 has an unsupported device xc7k160t
Part xc7k160tffv676-2L has an unsupported device xc7k160t
Part xc7k160tffv676-3 has an unsupported device xc7k160t
Part xc7k160tifbv676-2L has an unsupported device xc7k160ti
Part xc7k160tifbg484-2L has an unsupported device xc7k160ti
Part xc7k160tifbg676-2L has an unsupported device xc7k160ti
Part xc7k160tifbv484-2L has an unsupported device xc7k160ti
Part xc7k160tiffv676-2L has an unsupported device xc7k160ti
Part xc7k160tiffg676-2L has an unsupported device xc7k160ti
Find pins for xc7k70tfbg484-1
Find pins for xc7k70tfbg676-1
Find pins for xc7k70tfbv484-1
Find pins for xc7k70tfbv676-1
----------------------------------------
make[1]: Entering directory '/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/fuzzers'
.//run_fuzzer.py 000-init-db
2021-12-07T14:56:38 - xc7k70tfbv676-3/000-init-db - 0s: Running fuzzer attempt: 0
mkdir -p fuzzer_ok
touch fuzzer_ok/fuzzer_000-init-db_xc7k70tfbv676-3.ok
.//run_fuzzer.py 001-part-yaml
2021-12-07T14:56:38 - xc7k70tfbv676-3/001-part-yaml - 0s: Running fuzzer attempt: 0
.//run_fuzzer.py 075-pins
2021-12-07T14:56:38 - xc7k70tfbv676-3/075-pins - 0s: Running fuzzer attempt: 0
make[1]: Leaving directory '/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/fuzzers'
source settings/kintex7_325t.sh && make -C fuzzers part_only
Traceback (most recent call last):
File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/utils/create_environment.py", line 66, in <module>
main()
File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/utils/create_environment.py", line 59, in main
environment = get_environment_variables()
File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/utils/create_environment.py", line 37, in get_environment_variables
part_info = get_part_information(db_root, part)
File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/prjxray/util.py", line 48, in get_part_information
assert part, "Part {} not found in {}".format(part, part_mapping)
AssertionError: Part None not found in {'xc7k70tfbg484-1': {'device': 'xc7k70t', 'package': 'fbg484', 'speedgrade': '1'}, 'xc7k70tfbg484-2': {'device': 'xc7k70t', 'package': 'fbg484', 'speedgrade': '2'}, 'xc7k70tfbg484-2L': {'device': 'xc7k70t', 'package': 'fbg484', 'speedgrade': '2L'}, 'xc7k70tfbg484-3': {'device': 'xc7k70t', 'package': 'fbg484', 'speedgrade': '3'}, 'xc7k70tfbg676-1': {'device': 'xc7k70t', 'package': 'fbg676', 'speedgrade': '1'}, 'xc7k70tfbg676-2': {'device': 'xc7k70t', 'package': 'fbg676', 'speedgrade': '2'}, 'xc7k70tfbg676-2L': {'device': 'xc7k70t', 'package': 'fbg676', 'speedgrade': '2L'}, 'xc7k70tfbg676-3': {'device': 'xc7k70t', 'package': 'fbg676', 'speedgrade': '3'}, 'xc7k70tfbv484-1': {'device': 'xc7k70t', 'package': 'fbv484', 'speedgrade': '1'}, 'xc7k70tfbv484-2': {'device': 'xc7k70t', 'package': 'fbv484', 'speedgrade': '2'}, 'xc7k70tfbv484-2L': {'device': 'xc7k70t', 'package': 'fbv484', 'speedgrade': '2L'}, 'xc7k70tfbv484-3': {'device': 'xc7k70t', 'package': 'fbv484', 'speedgrade': '3'}, 'xc7k70tfbv676-1': {'device': 'xc7k70t', 'package': 'fbv676', 'speedgrade': '1'}, 'xc7k70tfbv676-2': {'device': 'xc7k70t', 'package': 'fbv676', 'speedgrade': '2'}, 'xc7k70tfbv676-2L': {'device': 'xc7k70t', 'package': 'fbv676', 'speedgrade': '2L'}, 'xc7k70tfbv676-3': {'device': 'xc7k70t', 'package': 'fbv676', 'speedgrade': '3'}}
Makefile:204: recipe for target 'db-part-only-kintex7_325t' failed
make: *** [db-part-only-kintex7_325t] Error 1
[ID: 1446474] Build finished after 197 secs, exit value: 1
Warning: Permanently added 'localhost' (ED25519) to the list of known hosts.
[06:56:39] Collecting build artifacts from build VM
Build script failed with exit code: 1
This is what I get running locally:
jrrk@jonathan-NUC10i7FNK:~/prjxray$ make db-prepare-kintex7
Preparing kintex7 files
============================
Part xc7k160tfbg484-1 has an unsupported device xc7k160t
Part xc7k160tfbg484-2 has an unsupported device xc7k160t
Part xc7k160tfbg484-2L has an unsupported device xc7k160t
Part xc7k160tfbg484-3 has an unsupported device xc7k160t
Part xc7k160tfbg676-1 has an unsupported device xc7k160t
Part xc7k160tfbg676-2 has an unsupported device xc7k160t
Part xc7k160tfbg676-2L has an unsupported device xc7k160t
Part xc7k160tfbg676-3 has an unsupported device xc7k160t
Part xc7k160tfbv484-1 has an unsupported device xc7k160t
Part xc7k160tfbv484-2 has an unsupported device xc7k160t
Part xc7k160tfbv484-2L has an unsupported device xc7k160t
Part xc7k160tfbv484-3 has an unsupported device xc7k160t
Part xc7k160tfbv676-1 has an unsupported device xc7k160t
Part xc7k160tfbv676-2 has an unsupported device xc7k160t
Part xc7k160tfbv676-2L has an unsupported device xc7k160t
Part xc7k160tfbv676-3 has an unsupported device xc7k160t
Part xc7k160tffg676-1 has an unsupported device xc7k160t
Part xc7k160tffg676-2 has an unsupported device xc7k160t
Part xc7k160tffg676-2L has an unsupported device xc7k160t
Part xc7k160tffg676-3 has an unsupported device xc7k160t
Part xc7k160tffv676-1 has an unsupported device xc7k160t
Part xc7k160tffv676-2 has an unsupported device xc7k160t
Part xc7k160tffv676-2L has an unsupported device xc7k160t
Part xc7k160tffv676-3 has an unsupported device xc7k160t
Part xc7k160tifbv676-2L has an unsupported device xc7k160ti
Part xc7k160tifbg484-2L has an unsupported device xc7k160ti
Part xc7k160tifbg676-2L has an unsupported device xc7k160ti
Part xc7k160tifbv484-2L has an unsupported device xc7k160ti
Part xc7k160tiffv676-2L has an unsupported device xc7k160ti
Part xc7k160tiffg676-2L has an unsupported device xc7k160ti
Part xc7k325tiffv676-2L has an unsupported device xc7k325ti
Part xc7k325tiffv900-2L has an unsupported device xc7k325ti
Part xc7k325tifbg676-2L has an unsupported device xc7k325ti
Part xc7k325tifbg900-2L has an unsupported device xc7k325ti
Part xc7k325tifbv676-2L has an unsupported device xc7k325ti
Part xc7k325tifbv900-2L has an unsupported device xc7k325ti
Part xc7k325tiffg900-2L has an unsupported device xc7k325ti
Part xc7k325tiffg676-2L has an unsupported device xc7k325ti
Part xc7k355tiffg901-2L has an unsupported device xc7k355ti
Part xc7k355tiffv901-2L has an unsupported device xc7k355ti
Part xc7k355tffg901-1 has an unsupported device xc7k355t
Part xc7k355tffg901-2 has an unsupported device xc7k355t
Part xc7k355tffg901-2L has an unsupported device xc7k355t
Part xc7k355tffg901-3 has an unsupported device xc7k355t
Part xc7k355tffv901-1 has an unsupported device xc7k355t
Part xc7k355tffv901-2 has an unsupported device xc7k355t
Part xc7k355tffv901-2L has an unsupported device xc7k355t
Part xc7k355tffv901-3 has an unsupported device xc7k355t
Part xc7k410tfbg676-1 has an unsupported device xc7k410t
Part xc7k410tfbg676-2 has an unsupported device xc7k410t
Part xc7k410tfbg676-2L has an unsupported device xc7k410t
Part xc7k410tfbg676-3 has an unsupported device xc7k410t
Part xc7k410tfbg900-1 has an unsupported device xc7k410t
Part xc7k410tfbg900-2 has an unsupported device xc7k410t
Part xc7k410tfbg900-2L has an unsupported device xc7k410t
Part xc7k410tfbg900-3 has an unsupported device xc7k410t
Part xc7k410tfbv676-1 has an unsupported device xc7k410t
Part xc7k410tfbv676-2 has an unsupported device xc7k410t
Part xc7k410tfbv676-2L has an unsupported device xc7k410t
Part xc7k410tfbv676-3 has an unsupported device xc7k410t
Part xc7k410tfbv900-1 has an unsupported device xc7k410t
Part xc7k410tfbv900-2 has an unsupported device xc7k410t
Part xc7k410tfbv900-2L has an unsupported device xc7k410t
Part xc7k410tfbv900-3 has an unsupported device xc7k410t
Part xc7k410tffg676-1 has an unsupported device xc7k410t
Part xc7k410tffg676-2 has an unsupported device xc7k410t
Part xc7k410tffg676-2L has an unsupported device xc7k410t
Part xc7k410tffg676-3 has an unsupported device xc7k410t
Part xc7k410tffg900-1 has an unsupported device xc7k410t
Part xc7k410tffg900-2 has an unsupported device xc7k410t
Part xc7k410tffg900-2L has an unsupported device xc7k410t
Part xc7k410tffg900-3 has an unsupported device xc7k410t
Part xc7k410tffv676-1 has an unsupported device xc7k410t
Part xc7k410tffv676-2 has an unsupported device xc7k410t
Part xc7k410tffv676-2L has an unsupported device xc7k410t
Part xc7k410tffv676-3 has an unsupported device xc7k410t
Part xc7k410tffv900-1 has an unsupported device xc7k410t
Part xc7k410tffv900-2 has an unsupported device xc7k410t
Part xc7k410tffv900-2L has an unsupported device xc7k410t
Part xc7k410tffv900-3 has an unsupported device xc7k410t
Part xc7k410tiffv900-2L has an unsupported device xc7k410ti
Part xc7k410tiffv676-2L has an unsupported device xc7k410ti
Part xc7k410tiffg900-2L has an unsupported device xc7k410ti
Part xc7k410tiffg676-2L has an unsupported device xc7k410ti
Part xc7k410tifbv900-2L has an unsupported device xc7k410ti
Part xc7k410tifbv676-2L has an unsupported device xc7k410ti
Part xc7k410tifbg900-2L has an unsupported device xc7k410ti
Part xc7k410tifbg676-2L has an unsupported device xc7k410ti
Part xc7k420tffg1156-1 has an unsupported device xc7k420t
Part xc7k420tffg1156-2 has an unsupported device xc7k420t
Part xc7k420tffg1156-2L has an unsupported device xc7k420t
Part xc7k420tffg1156-3 has an unsupported device xc7k420t
Part xc7k420tffg901-1 has an unsupported device xc7k420t
Part xc7k420tffg901-2 has an unsupported device xc7k420t
Part xc7k420tffg901-2L has an unsupported device xc7k420t
Part xc7k420tffg901-3 has an unsupported device xc7k420t
Part xc7k420tffv1156-1 has an unsupported device xc7k420t
Part xc7k420tffv1156-2 has an unsupported device xc7k420t
Part xc7k420tffv1156-2L has an unsupported device xc7k420t
Part xc7k420tffv1156-3 has an unsupported device xc7k420t
Part xc7k420tffv901-1 has an unsupported device xc7k420t
Part xc7k420tffv901-2 has an unsupported device xc7k420t
Part xc7k420tffv901-2L has an unsupported device xc7k420t
Part xc7k420tffv901-3 has an unsupported device xc7k420t
Part xc7k420tiffv901-2L has an unsupported device xc7k420ti
Part xc7k420tiffv1156-2L has an unsupported device xc7k420ti
Part xc7k420tiffg901-2L has an unsupported device xc7k420ti
Part xc7k420tiffg1156-2L has an unsupported device xc7k420ti
Part xc7k480tiffv901-2L has an unsupported device xc7k480ti
Part xc7k480tiffv1156-2L has an unsupported device xc7k480ti
Part xc7k480tiffg901-2L has an unsupported device xc7k480ti
Part xc7k480tiffg1156-2L has an unsupported device xc7k480ti
Part xc7k480tffv901-1 has an unsupported device xc7k480t
Part xc7k480tffv901-2 has an unsupported device xc7k480t
Part xc7k480tffv901-2L has an unsupported device xc7k480t
Part xc7k480tffv901-3 has an unsupported device xc7k480t
Part xc7k480tffv1156-1 has an unsupported device xc7k480t
Part xc7k480tffv1156-2 has an unsupported device xc7k480t
Part xc7k480tffv1156-2L has an unsupported device xc7k480t
Part xc7k480tffv1156-3 has an unsupported device xc7k480t
Part xc7k480tffg901-1 has an unsupported device xc7k480t
Part xc7k480tffg901-2 has an unsupported device xc7k480t
Part xc7k480tffg901-2L has an unsupported device xc7k480t
Part xc7k480tffg901-3 has an unsupported device xc7k480t
Part xc7k480tffg1156-1 has an unsupported device xc7k480t
Part xc7k480tffg1156-2 has an unsupported device xc7k480t
Part xc7k480tffg1156-2L has an unsupported device xc7k480t
Part xc7k480tffg1156-3 has an unsupported device xc7k480t
Find pins for xc7k325tfbg676-1
Find pins for xc7k325tfbg900-1
Find pins for xc7k325tfbv676-1
Find pins for xc7k325tfbv900-1
Find pins for xc7k325tffg676-1
Find pins for xc7k325tffg900-1
Find pins for xc7k325tffv676-1
Find pins for xc7k325tffv900-1
Find pins for xc7k70tfbg484-1
Find pins for xc7k70tfbg676-1
Find pins for xc7k70tfbv484-1
Find pins for xc7k70tfbv676-1
Perhaps there is a problem getting the license for non-webpack parts ?
The CI system only currently has access to WebPack parts.
Is the xc7k325
part a non-webpack part?
Looks like only Kintex®-7 FPGA: • XC7K70T, XC7K160T
are supported by the WebPack version.
Perhaps we need two X-Ray databases, one that can be generated from WebPack, another (for larger parts) that has to be generated by owners of suitable boards (that come with an unlimited number of node-locked and device-locked threads). Another way would be to affiliate with an academic institution that has access to bulk licenses. Meanwhile, I will try and get a bitstream running on a real board to see if we have something usable.
I committed my new database here (https://github.com/jrrk2/prjxray-db/tree/k325). I suppose that means that eventually anybody can use this part license-free.
GitHub
Project X-Ray Database: XC7 Series. Contribute to jrrk2/prjxray-db development by creating an account on GitHub.
jrrk2 makes a good point here; for example, the 7k325t and 7k420t dev kits are actually cheaper on aliexpress than the 7k160t. I suspect this because the larger parts are more popular in the supply chain, and 160t can fetch a higher price as the latest webpack can be used.
Using these parts without a vivado license is actually a major reason I am interested in the open source FPGA tooling.
Furthermore the 7k325t part is used in the frequently encountered KC705 board from Xilinx and the Genesys2 board from Diligent. The latter comes with a Vivado node/device-locked license which may be used to generate the open-source database.
I'm very close to being able to access our license server on our Kokoro system.
Thanks for the heads-up but this will not take us much further forward unless support is added for kintex7 in the symbiflow-arch-defs repo. I'm not familiar with CMake config files nor can I find any documentation on how to do this. In addition the Python support seems to be Ubuntu/Debian specific. I tried it on Fedora-35 and it didn't work.
@jrrk2 Did you log a bug about it not working on Fedora-35 somewhere?
@jrrk2 - @acomodi was providing some guidance for the Spartan 7 part @ https://github.com/SymbiFlow/prjxray/issues/1789#issuecomment-994546002
Kintex 7 failed really fast. First make --dry-run
and source settings/kintex7.sh && make -C fuzzers
ran without actually running any fuzzers, then source settings/kintex7_325t.sh && make -C fuzzers part_only
failed, which seems to be caused by make
failing to find xc7k325t
amongst a list consisted only of xc7k70t
parts. My initial guess is some Makefiles aren't written correctly, haven't looked into it yet though.
Kintex 7 failed really fast. First
make --dry-run
andsource settings/kintex7.sh && make -C fuzzers
ran without actually running any fuzzers, thensource settings/kintex7_325t.sh && make -C fuzzers part_only
failed, which seems to be caused bymake
failing to findxc7k325t
amongst a list consisted only ofxc7k70t
parts. My initial guess is some Makefiles aren't written correctly, haven't looked into it yet though.
You need to run make db-prepare-kintex7 before source settings/kintex7_325t.sh as per the documentation (mutatis mutandis). Also the whole thing will fall flat if you don't have the Vivado license for this device. I just checked out mithro's patches and it seems to run OK (probably will take a day or so on 12 cores).
I spoke too soon, XRAY_ROI_TILEGRID is commented out which I took to mean (based on the comment above) that the whole device would be considered. Mea culpa.
@jrrk2 No I was referring to Kokoro's build log. I f you scroll down to the end you'll find that no fuzzy tests ran at all, with main error being:
source settings/kintex7_325t.sh && make -C fuzzers part_only
Traceback (most recent call last):
File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/utils/create_environment.py", line 66, in <module>
main()
File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/utils/create_environment.py", line 59, in main
environment = get_environment_variables()
File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/utils/create_environment.py", line 37, in get_environment_variables
part_info = get_part_information(db_root, part)
File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/prjxray/util.py", line 48, in get_part_information
assert part, "Part {} not found in {}".format(part, part_mapping)
AssertionError: Part None not found in {'xc7k70tfbg484-1': {'device': 'xc7k70t', 'package': 'fbg484', 'speedgrade': '1'}, 'xc7k70tfbg484-2': {'device': 'xc7k70t', 'package': 'fbg484', 'speedgrade': '2'}, 'xc7k70tfbg484-2L': {'device': 'xc7k70t', 'package': 'fbg484', 'speedgrade': '2L'}, 'xc7k70tfbg484-3': {'device': 'xc7k70t', 'package': 'fbg484', 'speedgrade': '3'}, 'xc7k70tfbg676-1': {'device': 'xc7k70t', 'package': 'fbg676', 'speedgrade': '1'}, 'xc7k70tfbg676-2': {'device': 'xc7k70t', 'package': 'fbg676', 'speedgrade': '2'}, 'xc7k70tfbg676-2L': {'device': 'xc7k70t', 'package': 'fbg676', 'speedgrade': '2L'}, 'xc7k70tfbg676-3': {'device': 'xc7k70t', 'package': 'fbg676', 'speedgrade': '3'}, 'xc7k70tfbv484-1': {'device': 'xc7k70t', 'package': 'fbv484', 'speedgrade': '1'}, 'xc7k70tfbv484-2': {'device': 'xc7k70t', 'package': 'fbv484', 'speedgrade': '2'}, 'xc7k70tfbv484-2L': {'device': 'xc7k70t', 'package': 'fbv484', 'speedgrade': '2L'}, 'xc7k70tfbv484-3': {'device': 'xc7k70t', 'package': 'fbv484', 'speedgrade': '3'}, 'xc7k70tfbv676-1': {'device': 'xc7k70t', 'package': 'fbv676', 'speedgrade': '1'}, 'xc7k70tfbv676-2': {'device': 'xc7k70t', 'package': 'fbv676', 'speedgrade': '2'}, 'xc7k70tfbv676-2L': {'device': 'xc7k70t', 'package': 'fbv676', 'speedgrade': '2L'}, 'xc7k70tfbv676-3': {'device': 'xc7k70t', 'package': 'fbv676', 'speedgrade': '3'}}
Makefile:205: recipe for target 'db-part-only-kintex7_325t' failed
make: *** [db-part-only-kintex7_325t] Error 1
[ID: 8383546] Build finished after 221 secs, exit value: 1
From the log, it seems that Kokoro halted at the preparation stage, hence why we can see it failed mere minutes after the build test started. Note how 'make db-part-only-kintex7_325t' when looking for 325t
parts in that list of 70t
parts. I suspect something is wrong with the files that set up the CI process, since you have successfully created your own prjxray-db
repo that has 325t
parts' info in it, though unfortunately I can't help you test it (don't have a paid Vivado license for 325t
).
Just to reduce potential confusion, "Kokoro" is a CI system used by Google internally. In this case it automatically compiles and runs all of X-Ray's fuzzers for all of X-Ray's supported parts (on Google's servers, I think). In my experience the files that tells Kokoro how to run the tests are here but that's about all I know. I'm pretty new to SymbiFlow too, and I'm not a Googler either. Maybe you can ask @mithro @acomodi @kgugala for more details.
It seems to me the automated process preferably should be modified to include utils/prjxray_form_channels.py and friends, this is also a lengthy process which takes a number of hours per part. Also there is a potential boostrapping issue with prjxray/database directory that gets replaced by the newly created prjxray-db repo. I'm not sure how to solve either of these problems at the moment. I think there might be a temporary way to generate the channels for kintex7 using 'make -n -B' on a working artix7 part, capturing the output as a shell script, and then globally replacing the old part with the new one. However that's not good except as a proof of concept to see if the scripts can run. Another issue is that the xc7k325t has six global clock regions and I don't know if there is a general solution to the problem of how to connect them in VPR. There are references to _bottom and presumably _top in smaller devices but this needs to be made scalable and documented by somebody familiar with the flow. I don't know if there are designs that cross clock regions but it would make sense that there would be a timing penalty and the possibility of hold violations to be taken into account.
So, the Kintex 7 build failed after ~5 hours and I'm unclear why.
make[1]: Leaving directory '/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/fuzzers'
Makefile:181: recipe for target 'db-kintex7' failed
make: *** [db-kintex7] Error 2
.....
2021-12-21T19:45:51 - xc7k325tffg900-2/074-dump_all - 5h15m: make[3]: Leaving directory '/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/fuzzers/074-dump_all'
2021-12-21T19:45:51 - xc7k325tffg900-2/074-dump_all - 5h15m: # Clean up intermediate files after successful pushdb.
2021-12-21T19:45:51 - xc7k325tffg900-2/074-dump_all - 5h15m: find build_xc7k325tffg900-2 -name "*.json5" -delete
2021-12-21T19:45:51 - xc7k325tffg900-2/074-dump_all - 5h15m: touch run.xc7k325tffg900-2.ok
2021-12-21T19:45:51 - xc7k325tffg900-2/074-dump_all - 5h15m: make[2]: Leaving directory '/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/fuzzers/074-dump_all'
2021-12-21T19:45:51 - xc7k325tffg900-2/074-dump_all - 5h15m:
2021-12-21T19:45:51 - xc7k325tffg900-2/074-dump_all - 5h15m: --------------------------------------------------------------------------
2021-12-21T19:45:51 - xc7k325tffg900-2/074-dump_all - 5h15m: Succeeded! @ 2021-12-21T19:45:51.395225
make[1]: Leaving directory '/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/fuzzers'
Script done, file is /tmpfs/tmp/tmp.eaE7a4s3sK
+ DATABASE_RET=2
+ set +x -e
Packing failing test cases
----------------------------------------
A failure occurred during Database build.
----------------------------------------
========================================
Disk space in failure path
----------------------------------------
108G .
[ID: 3389105] Build finished after 29135 secs, exit value: 2
Warning: Permanently added 'localhost' (ED25519) to the list of known hosts.
[13:18:20] Executor 1406036175 is unresponsive. Build terminated.
I'm wondering if it is running out of disk space...
The current run is working on;
2021-12-22T03:29:10 - xc7k325tffg900-2/074-dump_all - 3h18m: Still running (1m:2.46%, 5m:2.79%, 15m:11.46% Mem:14.0Gi used, 338.0Gi free).
2021-12-22T03:29:10 - xc7k325tffg900-2/074-dump_all - 3h18m: make---make---bash---generate_after_---python3
2021-12-22T03:29:20 - xc7k325tffg900-2/074-dump_all - 3h19m: Still running (1m:2.40%, 5m:2.77%, 15m:11.35% Mem:14.0Gi used, 337.0Gi free).
2021-12-22T03:29:20 - xc7k325tffg900-2/074-dump_all - 3h19m: make---make---bash---generate_after_---python3
2021-12-22T03:29:30 - xc7k325tffg900-2/074-dump_all - 3h19m: Still running (1m:2.35%, 5m:2.75%, 15m:11.27% Mem:15.0Gi used, 337.0Gi free).
2021-12-22T03:29:30 - xc7k325tffg900-2/074-dump_all - 3h19m: make---make---bash---generate_after_---python3
I also logged https://github.com/SymbiFlow/prjxray/issues/1810
Ahh ha!
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: ++ md5sum
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: ++ echo /tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/fuzzers/051-pip-imuxlout-bypalts/build/1/specimen_008
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: + echo '`define SEED 32'\''h84da4d6f'
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: + make -f /tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/utils/top_generate.mk
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: Traceback (most recent call last):
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/fuzzers/int_generate.py", line 103, in <module>
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: segmk.compile(bitfilter=get_bitfilter(os.getenv('XRAY_DATABASE'), 'INT'))
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/prjxray/segmaker.py", line 391, in compile
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: assert this_tile_tags == 0, "Tile %s does not have bitstream info but %s tags" % (
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: AssertionError: Tile INT_L_X24Y151 does not have bitstream info but 50 tags
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: make[4]: *** [generate.ok] Error 1
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: make[3]: *** [/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/fuzzers/051-pip-imuxlout-bypalts/build/1/specimen_003/OK] Error 2
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: make[3]: *** Waiting for unfinished jobs....
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: Traceback (most recent call last):
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/fuzzers/int_generate.py", line 103, in <module>
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: segmk.compile(bitfilter=get_bitfilter(os.getenv('XRAY_DATABASE'), 'INT'))
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/prjxray/segmaker.py", line 391, in compile
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: assert this_tile_tags == 0, "Tile %s does not have bitstream info but %s tags" % (
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: AssertionError: Tile INT_L_X24Y151 does not have bitstream info but 50 tags
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: make[4]: *** [generate.ok] Error 1
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: make[3]: *** [/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/fuzzers/051-pip-imuxlout-bypalts/build/1/specimen_007/OK] Error 2
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: Traceback (most recent call last):
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/fuzzers/int_generate.py", line 103, in <module>
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: segmk.compile(bitfilter=get_bitfilter(os.getenv('XRAY_DATABASE'), 'INT'))
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: File "/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/prjxray/segmaker.py", line 391, in compile
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: assert this_tile_tags == 0, "Tile %s does not have bitstream info but %s tags" % (
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: AssertionError: Tile INT_L_X24Y151 does not have bitstream info but 50 tags
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: make[4]: *** [generate.ok] Error 1
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: make[3]: *** [/tmpfs/src/github/symbiflow-prjxray-presubmit-db-kintex7/fuzzers/051-pip-imuxlout-bypalts/build/1/specimen_004/OK] Error 2
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: make[2]: *** [run] Error 2
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s:
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: --------------------------------------------------------------------------
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: !Failed! @ 2021-12-21T13:54:03.214741 with exit code: 2
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: --------------------------------------------------------------------------
2021-12-21T13:54:03 - xc7k70tfbg676-2/051-pip-imuxlout-bypalts - 58m03s: WARNING: Fuzzer failed!
I haven’t tried to build the xc7k70 support and I’m not aware of any cost-effective boards that use it. My recollection is that the xc7k325 support peaks at around 250GB disk space but difficult to be sure because the clean up when it comes takes a matter of seconds on SSD disk.
@jrrk2 - Was the xc7k70t
not building before?