You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue emerged in the PR #1502 (SHA c6a66c0) on Murax built for A200T (test tests/9-soc/murax, target murax_nexys_video_100_bit_v).
While decoding the bitstream fasm2bels throws an assertion error meaning that there are LUT RAMs in a SLICEM enabled, but none of them is packed into DLUT hence the DLUT.RAM feature is not set and presumably it should be:
Traceback (most recent call last):
File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7a200t-vendor/env/conda/envs/symbiflow_arch_def_base/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7a200t-vendor/env/conda/envs/symbiflow_arch_def_base/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7a200t-vendor/third_party/symbiflow-xc-fasm2bels/fasm2bels/__main__.py", line 4, in <module>
main()
File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7a200t-vendor/third_party/symbiflow-xc-fasm2bels/fasm2bels/fasm2bels.py", line 416, in main
process_tile(top, tile, tile_features)
File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7a200t-vendor/third_party/symbiflow-xc-fasm2bels/fasm2bels/fasm2bels.py", line 103, in process_tile
PROCESS_TILE[tile_type](top.conn, top, tile, tile_features)
File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7a200t-vendor/third_party/symbiflow-xc-fasm2bels/fasm2bels/models/clb_models.py", line 1218, in process_clb
process_slice(top, slices[s])
File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7a200t-vendor/third_party/symbiflow-xc-fasm2bels/fasm2bels/models/clb_models.py", line 528, in process_slice
assert not site.has_feature('{}LUT.RAM'.format(row))
AssertionError
Now, the comment in the architecture definition file for SLICEM says that whenever any LUT RAM is used in a SLICEM the DLUT.RAM feature should be set. But that's done only for the DRAM128 mode that uses the whole SLICEM, not for any other. The comment:
<!-- The DLUT must be in RAM-mode for any of the RAM's to work.
As a corollary, a DRAM requires the clock, so only turn on the
DRAM if the clock is also connected.
-->
So in the end VPR packs 2 LUT RAMs into ALUT and BLUT thus the DLUT.RAM feature is not set. It it unclear whether this behavior is correct or not (haven't check if the design works on HW). Configuration of the particular SLICEM (as emitted by VPR) looks like that:
This issue emerged in the PR #1502 (SHA
c6a66c0
) on Murax built for A200T (testtests/9-soc/murax
, targetmurax_nexys_video_100_bit_v
).While decoding the bitstream fasm2bels throws an assertion error meaning that there are LUT RAMs in a SLICEM enabled, but none of them is packed into DLUT hence the
DLUT.RAM
feature is not set and presumably it should be:Now, the comment in the architecture definition file for SLICEM says that whenever any LUT RAM is used in a SLICEM the
DLUT.RAM
feature should be set. But that's done only for theDRAM128
mode that uses the whole SLICEM, not for any other. The comment:So in the end VPR packs 2 LUT RAMs into ALUT and BLUT thus the
DLUT.RAM
feature is not set. It it unclear whether this behavior is correct or not (haven't check if the design works on HW). Configuration of the particular SLICEM (as emitted by VPR) looks like that:The text was updated successfully, but these errors were encountered: