from nmigen import *
from nmigen_boards.icestick import *
class Parsicide( Elaboratable ):
def __init__( self ):
self.a = Signal( 32, reset = 0 )
self.b = Signal( 32, reset = 0 )
self.y = Signal( 32, reset = 0 )
def elaborate( self, platform ):
m = Module()
m.d.comb += self.y.eq( self.a << self.b )
return m
if __name__ == "__main__":
ICEStickPlatform().build( Parsicide(), do_program = False )
Traceback (most recent call last):
File "yosys_err.py", line 15, in <module>
ICEStickPlatform().build( Parsicide(), do_program = False )
File "[...]/nmigen/build/plat.py", line 78, in build
plan = self.prepare(elaboratable, name, **kwargs)
File "[...]/nmigen/build/plat.py", line 151, in prepare
return self.toolchain_prepare(fragment, name, **kwargs)
File "[...]/nmigen/build/plat.py", line 398, in toolchain_prepare
render(content_tpl, origin=content_tpl))
File "[...]/nmigen/build/plat.py", line 392, in render
"autogenerated": autogenerated,
File "[...]/jinja2/environment.py", line 1090, in render
self.environment.handle_exception()
File "[...]/jinja2/environment.py", line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File "[...]/jinja2/_compat.py", line 28, in reraise
raise value.with_traceback(tb)
File "<template>", line 2, in top-level template code
File "[...]/nmigen/build/plat.py", line 294, in emit_debug_verilog
strip_internal_attrs=False, write_verilog_opts=opts)
File "[...]/nmigen/back/verilog.py", line 67, in _convert_rtlil_text
raise YosysError(error.strip())
nmigen.back.verilog.YosysError: ERROR: Parser error in line 29: invalid slice
Replacing the left shift with a right shift results in the module building without problems (besides the 'no clocks' warnings). I think I'm using a pretty recent version of YoSys: 0.9+1706 (git sha1 ed4fa19b)
The following code seems to cause a YoSys parser error when it is built:
This is the error I get:
Replacing the left shift with a right shift results in the module building without problems (besides the 'no clocks' warnings). I think I'm using a pretty recent version of YoSys:
0.9+1706 (git sha1 ed4fa19b)