<phlipped>
Hello - I'm having trouble getting clock domains to work - getting "assert domain.name not in self.domains". Example: https://pastebin.com/x1SL8kg3
<phlipped>
When executed, get "Assertion Error": File "/usr/local/google/home/philwright/migen/lib/python3.6/site-packages/nmigen-434b686-py3.6.egg/nmigen/hdl/ir.py", line 140, in add_domains assert domain.name not in self.domains
<phlipped>
Anyone know what I need to do?
X-Scale has quit [Ping timeout: 268 seconds]
<phlipped>
A simpler example without clock domains https://pastebin.com/SF0b7nBW - seems to actually be a problem related to submodules, rather then custom clock domains. Maybe I'm holding it wrong, or maybe it's a bug.
xobs has quit [Read error: Connection reset by peer]
jryans has quit [Write error: Connection reset by peer]
Guest17948 has quit [Write error: Connection reset by peer]
rjo[m] has quit [Write error: Connection reset by peer]
_whitelogger has joined #m-labs
Guest47290 has joined #m-labs
<lkcl>
whitequark: ping - to cut IR conversion time in *half*...
<lkcl>
class _MappedKeyCollection:
<lkcl>
def _map_key(self, key):
<lkcl>
pass # :nocov:
<lkcl>
def _unmap_key(self, key):
<lkcl>
pass # :nocov:
<lkcl>
keeping the @abstractmethod seems to be ok as well.
<whitequark>
lkcl: and you could cut conversion time to zero by not doing it at all
<lkcl>
i'm just experimenting here. i don't know the knock-on effects.
<whitequark>
oh, are you just removing metaclass here?
<lkcl>
i was really surprised that it's that effective
<lkcl>
yes
<whitequark>
hm, interesting
<lkcl>
yeh
<lkcl>
metaclass calls are at the absolute top of the cProfile call graph list.
<whitequark>
well, those are internal classes, so there's no real need to use ABCs there
<whitequark>
hmmm
<whitequark>
that's indicative of a pretty awful design somewhere in python
<whitequark>
typical, though...
<whitequark>
ok
<lkcl>
sigh, well, they get "desired behaviour"...
<lkcl>
anyway - very late here in TW. leave it with you?
<whitequark>
@abstractmethod doesn't do anything without ABCMeta.
<whitequark>
lkcl: no difference observed here
<whitequark>
certainly not by 50%
<lkcl>
hm that's interesting - i'll put the full patch up online tomorrow and ping you. i'm experimenting with replacing isinstance and type with ducks and "if x.__class__ == int" (or other such)
<lkcl>
tomorrow. 1am now. v tired.
<whitequark>
that won't always work
<whitequark>
all remaining isinstance calls are required to support nmigen.compat
<whitequark>
type to __class__ is ok though
rohitksingh has quit [Ping timeout: 245 seconds]
rohitksingh has joined #m-labs
jfng has joined #m-labs
xobs has joined #m-labs
marble[m] has joined #m-labs
jryans has joined #m-labs
rjo[m] has joined #m-labs
mauz555 has quit [Read error: Connection reset by peer]
mauz555 has joined #m-labs
rohitksingh has quit [Ping timeout: 272 seconds]
mauz555 has quit [Remote host closed the connection]
mauz555 has joined #m-labs
mauz555 has quit [Read error: Connection reset by peer]