back.rtlil: fix handling of certain nested arrays.
authorwhitequark <whitequark@whitequark.org>
Tue, 24 Sep 2019 18:32:26 +0000 (18:32 +0000)
committerwhitequark <whitequark@whitequark.org>
Tue, 24 Sep 2019 18:32:26 +0000 (18:32 +0000)
This triggers on code like:

c1 = Signal()
c2 = Signal()
c3 = Signal()
v1 = Array([Const(1, 8), Const(2, 8)])[c1]
v2 = Array([Const(3, 8), Const(4, 8)])[c2]
v3 = Array([v1, v2])[c3]

Fixes #226.

nmigen/back/rtlil.py

index 9412be447baeb6cb8ab2bca216630acc1eb7891e..11823d420ed1c205864319701d023cf3208e6407 100644 (file)
@@ -718,7 +718,7 @@ class _StatementCompiler(xfrm.StatementVisitor):
                         self._wrap_assign = False
                         branch_value = ast.Const(branch, (width, signed))
                         with self.state.expand_to(legalize.value, branch_value):
-                            super().on_statement(stmt)
+                            self.on_statement(stmt)
             self._wrap_assign = True
 
     def on_statements(self, stmts):