Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AssertionError when using a Slice as an Instance output port #70

Closed
jfng opened this issue May 23, 2019 · 0 comments
Closed

AssertionError when using a Slice as an Instance output port #70

jfng opened this issue May 23, 2019 · 0 comments
Labels
Milestone

Comments

@jfng
Copy link
Contributor

jfng commented May 23, 2019

Example:

from nmigen import *
from nmigen.back import rtlil


class A(Elaboratable):
    def elaborate(self, platform):
        m = Module()

        o = Signal(2)
        m.d.comb += o[0].eq(1)
        m.submodules += Instance("FOO", o_O=o[1])

        return m


a = A()
print(rtlil.convert(a))

Output:

Traceback (most recent call last):
  File "/tmp/test.py", line 17, in <module>
    print(rtlil.convert(a))
  File "/home/jf/src/nmigen/nmigen/back/rtlil.py", line 886, in convert
    fragment = fragment.prepare(**kwargs)
  File "/home/jf/src/nmigen/nmigen/hdl/ir.py", line 492, in prepare
    fragment._propagate_ports(ports=(), all_undef_as_ports=True)
  File "/home/jf/src/nmigen/nmigen/hdl/ir.py", line 419, in _propagate_ports
    self._prepare_use_def_graph(parent, level, uses, defs, ios, self)
  File "/home/jf/src/nmigen/nmigen/hdl/ir.py", line 393, in _prepare_use_def_graph
    subfrag._prepare_use_def_graph(parent, level, uses, defs, ios, top)
  File "/home/jf/src/nmigen/nmigen/hdl/ir.py", line 374, in _prepare_use_def_graph
    add_defs(value._lhs_signals())
  File "/home/jf/src/nmigen/nmigen/hdl/ir.py", line 361, in add_defs
    assert defs[sig] is self
AssertionError
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants