Closed
Description
Started messing around with CXXRTL today and
could not seem to get yosys to finish emitting CXXRTL.
I was trying to emit CXXRTL from a multi-domain nMIgen
as found here:
https://github.com/BracketMaster/nmigen-by-example/blob/master/cxxtrl-multi-domain.py
Using Yosys 0.9+3715 (git sha1 2945e270, clang 12.0.0 -fPIC -Os)
I got the following error:
cxxtrl-multi-domain.py:99: DeprecationWarning: instead of nmigen.back.pysim.*, use nmigen.sim.*
from nmigen.back.pysim import Simulator, Tick
Traceback (most recent call last):
File "cxxtrl-multi-domain.py", line 104, in <module>
f.write(cxxrtl.convert(top, ports=top.ports()))
File "/Users/yehowshuaimmanuel/.virtualenvs/maeri38/lib/python3.8/site-packages/nmigen/back/cxxrtl.py", line 41, in convert
return _convert_rtlil_text(rtlil_text, black_boxes, src_loc_at=1)
File "/Users/yehowshuaimmanuel/.virtualenvs/maeri38/lib/python3.8/site-packages/nmigen/back/cxxrtl.py", line 31, in _convert_rtlil_text
return yosys.run(["-q", "-"], "\n".join(script), src_loc_at=1 + src_loc_at)
File "/Users/yehowshuaimmanuel/.virtualenvs/maeri38/lib/python3.8/site-packages/nmigen/_toolchain/yosys.py", line 186, in run
return cls._process_result(popen.returncode, stdout, stderr, ignore_warnings, src_loc_at)
File "/Users/yehowshuaimmanuel/.virtualenvs/maeri38/lib/python3.8/site-packages/nmigen/_toolchain/yosys.py", line 108, in _process_result
raise YosysError(stderr.strip())
nmigen._toolchain.yosys.YosysError: ERROR: Assert `signal.is_wire() && signal.is_bit()' failed in backends/cxxrtl/cxxrtl_backend.cc:2024.