Need help for setting up xc7s50t
See original GitHub issueHi, I’m trying to add support for xc7s50t to Project X-Ray. Naturally I refered to the Guide to adding a new device to an existing family and tried to pick up where #1534 left. However it seems that the Project X-Ray toolchain has changed quite a bit since #1534 and the guide is about how to add devices to existing families instead of adding new devices of new families, so I’m currently stuck at where I’m supposed to make db-prepare-artix7. For context, I’m on Ubuntu 20.04.3 with Vivado 2017.2 installed and successfully ran Step 9 (the 010-clb-init fuzzer) of the Getting Started section of Project X-Ray’s documentations (ran ./download-latest-db.sh in Step 8) for artix7. A minor problem occured when running make env of Step 5 (see my comments on #1521 ) but that didn’t prevent me from proceeding.
Here’s what I did after completing 010-clb-init for artix7:
- Created spartan7.sh and spartan7_50t.sh in
prjxray/settings. The content was mostly copied from/prjxray/settings/spartan7.shand/prjxray/settings/spartan7_50.shin thespartan7_50branch of @litghost’sprjxrayfork. - Created device.yaml in
/prjxray/setting/spartan7. - Added
spartan7as a new argument to update_parts.py and update_resources.py in/prjxray/utils. - Added Spartan-7 info to Makefile
Then in a new terminal, following the instructions in Guide to adding a new device to an existing family, I ran make db-prepare-spartan7 and got the following output:
me@me-my_machine:~/prjxray$ make db-prepare-spartan7
Preparing spartan7 files
============================
Part xc7s50csga324-1 has an unsupported device xc7s50
Part xc7s50csga324-1IL has an unsupported device xc7s50
Part xc7s50csga324-2 has an unsupported device xc7s50
Part xc7s50fgga484-1 has an unsupported device xc7s50
Part xc7s50fgga484-1IL has an unsupported device xc7s50
Part xc7s50fgga484-2 has an unsupported device xc7s50
Part xc7s50ftgb196-1 has an unsupported device xc7s50
Part xc7s50ftgb196-1IL has an unsupported device xc7s50
Part xc7s50ftgb196-2 has an unsupported device xc7s50
me@me-my_machine:~/prjxray$
Which already looks wrong, compared to what make db-prepare-artix7 gave me:
me@me-my_machine:~/prjxray$ make db-prepare-spartan7
Preparing artix7 files
============================
Part xc7a35tiftg256-1L has an unsupported device xc7a35ti
Part xc7a35tifgg484-1L has an unsupported device xc7a35ti
Part xc7a35ticsg325-1L has an unsupported device xc7a35ti
Part xc7a35ticsg324-1L has an unsupported device xc7a35ti
Part xc7a35ticpg236-1L has an unsupported device xc7a35ti
Part xc7a50ticpg236-1L has an unsupported device xc7a50ti
Part xc7a50tiftg256-1L has an unsupported device xc7a50ti
Part xc7a50tifgg484-1L has an unsupported device xc7a50ti
Part xc7a50ticsg325-1L has an unsupported device xc7a50ti
Part xc7a50ticsg324-1L has an unsupported device xc7a50ti
Part xc7a15tcpg236-1 has an unsupported device xc7a15t
Part xc7a15tcpg236-2 has an unsupported device xc7a15t
Part xc7a15tcpg236-2L has an unsupported device xc7a15t
Part xc7a15tcpg236-3 has an unsupported device xc7a15t
Part xc7a15tcsg324-1 has an unsupported device xc7a15t
Part xc7a15tcsg324-2 has an unsupported device xc7a15t
Part xc7a15tcsg324-2L has an unsupported device xc7a15t
Part xc7a15tcsg324-3 has an unsupported device xc7a15t
Part xc7a15tcsg325-1 has an unsupported device xc7a15t
Part xc7a15tcsg325-2 has an unsupported device xc7a15t
Part xc7a15tcsg325-2L has an unsupported device xc7a15t
Part xc7a15tcsg325-3 has an unsupported device xc7a15t
Part xc7a15tfgg484-1 has an unsupported device xc7a15t
Part xc7a15tfgg484-2 has an unsupported device xc7a15t
Part xc7a15tfgg484-2L has an unsupported device xc7a15t
Part xc7a15tfgg484-3 has an unsupported device xc7a15t
Part xc7a15tftg256-1 has an unsupported device xc7a15t
Part xc7a15tftg256-2 has an unsupported device xc7a15t
Part xc7a15tftg256-2L has an unsupported device xc7a15t
Part xc7a15tftg256-3 has an unsupported device xc7a15t
Part xc7a15ticpg236-1L has an unsupported device xc7a15ti
Part xc7a15ticsg324-1L has an unsupported device xc7a15ti
Part xc7a15ticsg325-1L has an unsupported device xc7a15ti
Part xc7a15tifgg484-1L has an unsupported device xc7a15ti
Part xc7a15tiftg256-1L has an unsupported device xc7a15ti
Part xc7a75tfgg484-1 has an unsupported device xc7a75t
Part xc7a75tfgg484-2 has an unsupported device xc7a75t
Part xc7a75tfgg484-2L has an unsupported device xc7a75t
Part xc7a75tfgg484-3 has an unsupported device xc7a75t
Part xc7a75tfgg676-1 has an unsupported device xc7a75t
Part xc7a75tfgg676-2 has an unsupported device xc7a75t
Part xc7a75tfgg676-2L has an unsupported device xc7a75t
Part xc7a75tfgg676-3 has an unsupported device xc7a75t
Part xc7a75tftg256-1 has an unsupported device xc7a75t
Part xc7a75tftg256-2 has an unsupported device xc7a75t
Part xc7a75tftg256-2L has an unsupported device xc7a75t
Part xc7a75tftg256-3 has an unsupported device xc7a75t
Part xc7a75tcsg324-1 has an unsupported device xc7a75t
Part xc7a75tcsg324-2 has an unsupported device xc7a75t
Part xc7a75tcsg324-2L has an unsupported device xc7a75t
Part xc7a75tcsg324-3 has an unsupported device xc7a75t
Part xc7a75ticsg324-1L has an unsupported device xc7a75ti
Part xc7a75tifgg484-1L has an unsupported device xc7a75ti
Part xc7a75tifgg676-1L has an unsupported device xc7a75ti
Part xc7a75tiftg256-1L has an unsupported device xc7a75ti
Part xc7a100tiftg256-1L has an unsupported device xc7a100ti
Part xc7a100tifgg676-1L has an unsupported device xc7a100ti
Part xc7a100tifgg484-1L has an unsupported device xc7a100ti
Part xc7a100ticsg324-1L has an unsupported device xc7a100ti
Part xc7a200tisbv484-1L has an unsupported device xc7a200ti
Part xc7a200tisbg484-1L has an unsupported device xc7a200ti
Part xc7a200tiffv1156-1L has an unsupported device xc7a200ti
Part xc7a200tiffg1156-1L has an unsupported device xc7a200ti
Part xc7a200tifbv676-1L has an unsupported device xc7a200ti
Part xc7a200tifbv484-1L has an unsupported device xc7a200ti
Part xc7a200tifbg676-1L has an unsupported device xc7a200ti
Part xc7a200tifbg484-1L has an unsupported device xc7a200ti
Find pins for xc7a100tcsg324-1
Find pins for xc7a100tfgg484-1
Find pins for xc7a100tfgg676-1
Find pins for xc7a100tftg256-1
Find pins for xc7a200tfbg484-1
Find pins for xc7a200tfbg676-1
Find pins for xc7a200tfbv484-1
Find pins for xc7a200tfbv676-1
Find pins for xc7a200tffg1156-1
Find pins for xc7a200tffv1156-1
Find pins for xc7a200tsbg484-1
Find pins for xc7a200tsbv484-1
Find pins for xc7a35tcpg236-1
Find pins for xc7a35tcsg324-1
Find pins for xc7a35tcsg325-1
Find pins for xc7a35tfgg484-1
Find pins for xc7a35tftg256-1
Find pins for xc7a50tcpg236-1
Find pins for xc7a50tcsg324-1
Find pins for xc7a50tcsg325-1
Find pins for xc7a50tfgg484-1
Find pins for xc7a50tftg256-1
me@me-my_machine:~/prjxray$
Then source settings/spartan7.sh returned this:
me@me-my_machine:~/prjxray$ source settings/spartan7.sh
Traceback (most recent call last):
File "/home/me/prjxray/utils/create_environment.py", line 66, in <module>
main()
File "/home/me/prjxray/utils/create_environment.py", line 59, in main
environment = get_environment_variables()
File "/home/me/prjxray/utils/create_environment.py", line 37, in get_environment_variables
part_info = get_part_information(db_root, part)
File "/home/me/prjxray/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 {}
(env) me@me-my_machine:~/prjxray$
Because prjxray/database/spartan7/mapping/parts.yaml contains only {} and nothing else.
Did I miss something? How should I solve this? Thanks!
Issue Analytics
- State:
- Created 2 years ago
- Comments:29 (23 by maintainers)

Top Related StackOverflow Question
A new prjxray-db was published with this initial spartan7 support @ https://github.com/SymbiFlow/prjxray-db/tree/master/spartan7
The HTMLified version can be found at https://symbiflow.github.io/prjxray-db/#database-for-spartan7 with the HTML rendered tile graph found at spartan7.
@bunnie I see. My goal is to allow SymbiFlow to be able to generate bitstreams targeting Spartan-7 from user HDL designs, preferrably using the Yosys-VPR-FASM-Bitstream flow (which would require me to get the RR graph and arch.timing.xml) since it already supports a few Artix-7 parts, while
nextpnrsays their support for Project X-Ray is still under development.@acomodi Thanks! I’ll look into this Interchange thing.