-
Notifications
You must be signed in to change notification settings - Fork 9
Use nextpnr-xilinx for Genesys2/xc7k325t: prjxray/prjxray/fasm_assembler.py fails #1
Comments
Did you try to build the QMTech part, just to see if your toolchain
installation is fine?
I actually used the default branch of nextpnr-xilinx, not the k7 branch.
I wonder what the difference is, might want to do a diff.
Am Mi., 2. Feb. 2022 um 09:48 Uhr schrieb unbtorsten <
***@***.***>:
… The following steps are similar to those outlined in
https://github.com/kintex-chatter/xc7k325t-blinky-nextpnr/blob/main/README.md.
I repeat them explicitly below, since there have been different errors
popping up:
- Using the latest yosys 0.13+28 (git sha1 bf85dfee5, gcc 10.2.1-6
-fPIC -Os), available from
https://github.com/YosysHQ/oss-cad-suite-build/releases or build from
sources
- Patching nextpnr-xilinx/xilinx-upstream-k7 based on hansfbaier's
recommendation: ***@***.***
<openXC7/nextpnr-xilinx@1c89de2>
- Using prjxray-db for xc7k325t from jrrk2:
https://github.com/jrrk2/prjxray-db/tree/k325/kintex7
- Adapting the basic nextpnr readme instructions for the branch
nextpnr-xilinx/xilinx-upstream-k7:
1. Run pypy3 xilinx/python/bbaexport.py --device xc7a35tcsg324-1 --bba
xilinx/xc7a35t.bba (regular cpython works as well, but is a lot slower)
2. Run ./bbasm xilinx/xc7k325t.bba xilinx/xc7k325t.bin -l (add option
for little endian)
3. Set XRAY_DIR to the path where Project Xray has been cloned and
built (you may also need to patch out the Vivado check for
utils/environment.sh in Xray)
4. Run blinky.sh in xilinx/examples/genesys2 (may need to adjust binary
paths)
Output seems to point to an issue with the documented cells. Does this
point us back to doing a better job at documenting, i.e. building
prjxray-db?
${XRAY_UTILS_DIR}/fasm2frames.py --part xc7k325tffg900-2 --db-root
${XRAY_UTILS_DIR}/../database/kintex7 blinky.fasm > blinky.frames
Traceback (most recent call last):
File "prjxray/utils/fasm2frames.py", line 315, in <module>
main()
File "prjxray/utils/fasm2frames.py", line 303, in main
run(
File "prjxray/utils/fasm2frames.py", line 188, in run
assembler.parse_fasm_filename(filename_in,
extra_features=extra_features)
File "prjxray/prjxray/fasm_assembler.py", line 190, in
parse_fasm_filename
raise FasmLookupError('\n'.join(missing_features))
prjxray.fasm_assembler.FasmLookupError: Segment DB RIOB18, key RIOB18.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW not found from line 'RIOB18_X95Y75.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW'
Segment DB RIOB18, key RIOB18.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL135_DCI_SSTL15_SSTL15_DCI.IN_ONLY not found from line 'RIOB18_X95Y75.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL135_DCI_SSTL15_SSTL15_DCI.IN_ONLY'
Segment DB RIOB18, key RIOB18.IOB_Y0.LVDS_SSTL135_SSTL15.IN_DIFF not found from line 'RIOB18_X95Y75.IOB_Y0.LVDS_SSTL135_SSTL15.IN_DIFF'
Segment DB RIOB18, key RIOB18.IOB_Y0.PULLTYPE.NONE not found from line 'RIOB18_X95Y75.IOB_Y0.PULLTYPE.NONE'
Segment DB RIOB18, key RIOB18.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW not found from line 'RIOB18_X95Y75.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW'
Segment DB RIOB18, key RIOB18.IOB_Y1.LVCMOS12_LVCMOS15_SSTL135_SSTL135_DCI_SSTL15_SSTL15_DCI.IN_ONLY not found from line 'RIOB18_X95Y75.IOB_Y1.LVCMOS12_LVCMOS15_SSTL135_SSTL135_DCI_SSTL15_SSTL15_DCI.IN_ONLY'
Segment DB RIOB18, key RIOB18.IOB_Y1.PULLTYPE.NONE not found from line 'RIOB18_X95Y75.IOB_Y1.PULLTYPE.NONE'
Segment DB LIOB33, key LIOB33.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW not found from line 'LIOB33_X0Y127.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW'
Segment DB LIOB33, key LIOB33.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW not found from line 'LIOB33_X0Y111.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW'
Segment DB LIOB33, key LIOB33.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW not found from line 'LIOB33_X0Y119.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW'
Segment DB LIOB33, key LIOB33.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW not found from line 'LIOB33_X0Y119.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW'
Segment DB LIOB33, key LIOB33.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW not found from line 'LIOB33_X0Y111.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW'
Segment DB LIOB33, key LIOB33.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW not found from line 'LIOB33_X0Y117.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW'
Segment DB LIOB33, key LIOB33.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW not found from line 'LIOB33_X0Y109.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW'
Segment DB LIOB33, key LIOB33.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW not found from line 'LIOB33_X0Y109.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.SLEW.SLOW'
Segment DB LIOB33_SING, key LIOB33_SING.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY not found from line 'LIOB33_SING_X0Y299.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY'
Segment DB LIOB33_SING, key LIOB33_SING.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN not found from line 'LIOB33_SING_X0Y299.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN'
Segment DB LIOB33_SING, key LIOB33_SING.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY not found from line 'LIOB33_SING_X0Y200.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY'
Segment DB LIOB33_SING, key LIOB33_SING.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN not found from line 'LIOB33_SING_X0Y200.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN'
Segment DB LIOB33, key LIOB33.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY not found from line 'LIOB33_X0Y211.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY'
Segment DB LIOB33, key LIOB33.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN not found from line 'LIOB33_X0Y211.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN'
Segment DB LIOB33, key LIOB33.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN not found from line 'LIOB33_X0Y211.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN'
Segment DB LIOB33, key LIOB33.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY not found from line 'LIOB33_X0Y287.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY'
Segment DB LIOB33, key LIOB33.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN not found from line 'LIOB33_X0Y287.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN'
Segment DB LIOB33, key LIOB33.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN not found from line 'LIOB33_X0Y287.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN'
Segment DB LIOB33, key LIOB33.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY not found from line 'LIOB33_X0Y161.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY'
Segment DB LIOB33, key LIOB33.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN not found from line 'LIOB33_X0Y161.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN'
Segment DB LIOB33, key LIOB33.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN not found from line 'LIOB33_X0Y161.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN'
Segment DB LIOB33_SING, key LIOB33_SING.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY not found from line 'LIOB33_SING_X0Y150.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY'
Segment DB LIOB33_SING, key LIOB33_SING.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN not found from line 'LIOB33_SING_X0Y150.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135.STEPDOWN'
Segment DB LIOB33, key LIOB33.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY not found from line 'LIOB33_X0Y129.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY'
Segment DB LIOB33, key LIOB33.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY not found from line 'LIOB33_X0Y133.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135.IN_ONLY'
Segment DB RIOI, key RIOI.ILOGIC_Y0.ZINV_D not found from line 'RIOI_X95Y75.ILOGIC_Y0.ZINV_D'
Segment DB RIOI, key RIOI.RIOI_I2GCLK_TOP0.IOI_ILOGIC0_O not found from line 'RIOI_X95Y75.RIOI_I2GCLK_TOP0.IOI_ILOGIC0_O'
Segment DB RIOI, key RIOI.RIOI_I0.RIOI_IBUF0 not found from line 'RIOI_X95Y75.RIOI_I0.RIOI_IBUF0'
Segment DB RIOI, key RIOI.RIOI_ILOGIC0_D.RIOI_I0 not found from line 'RIOI_X95Y75.RIOI_ILOGIC0_D.RIOI_I0'
—
Reply to this email directly, view it on GitHub
<#1>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABEI7ZDJOMCYXMRURVRED3UZCLQDANCNFSM5NK36UFQ>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Good guess.. I run into the same issue in case of the QMTech part. Looks like we need to do some more differential testing.
Update: the difference lies in the
The assertion failure does not occur when using the |
I just found this out independently, the nextpnr-xilinx-k7 branch seems to be no good any more (stale?): see here |
I just adjusted the README so that other users don't fall into the same trap |
Are you saying that it used to work for you at some point? |
Genesys2 assertion failure goes away when constraints are changed. See this issue #6 |
Vice versa, it is possible to force the design with a QMTech part into assertion failures: #9 |
@unbtorsten You might want to try again now, things have changed quite dramatically and your results will be entirely different. |
The following steps are similar to those outlined in https://github.com/kintex-chatter/xc7k325t-blinky-nextpnr/blob/main/README.md. I repeat them explicitly below, since there have been different errors popping up:
pypy3 xilinx/python/bbaexport.py --device xc7k325tffg900-2 --bba xilinx/xc7k325t.bba
./bbasm xilinx/xc7k325t.bba xilinx/xc7k325t.bin -l
XRAY_DIR
to the path where Project Xray has been cloned and built (you may also need to patch out the Vivado check for utils/environment.sh in Xray)blinky.sh
inxilinx/examples/genesys2
(may need to adjust binary paths)Output seems to point to an issue with the documented cells. Does this point us back to doing a better job at documenting, i.e. building prjxray-db?
The text was updated successfully, but these errors were encountered: