Closed jordens closed 5 years ago
@jordens I don't think this can be made to work in general. What is the semantics of something like:
self.comb += self.r[0].eq(self.r[-1])
self.sync += self.r.part(x,1).eq(self.r)
What's part()
?
Indexed part select. r[x+:1]
in Verilog.
When used on left-hand side, r[x+:w]
it's equivalent to r[x+w-1:x]
, if such a construct was semantically valid.
@jordens Unless you have a good argument for why this should be possible, I think that because of https://github.com/m-labs/migen/issues/50#issuecomment-457874029 it must be disallowed.
Is it an error? Is mixing clock domains allowed within a Record?
Is it an error?
nMigen will not allow you to drive a signal from any two different domains, including comb
and any clocked domain.
Is mixing clock domains allowed within a Record?
It is allowed, yes.
Ok. Sounds good.
(originally #36)