rohd
rohd copied to clipboard
Allow `Logic` signals to be re-connected
Motivation
Currently, you can only connect each Logic
to one source ever, and then it cannot be reassigned to connect to something else. There are cases where it might be nice to reassign connectivity.
Desired solution
In Logic._assertConnectable
, there's a check that _srcConnection
is null. We can remove this check, but it requires some additional safety around that change for the rest of the assumptions of ROHD to be accurage.
Alternatives considered
Consider keeping it as strictly one-time-connectivity, maybe it encourages cleaner designs?
Additional details
Since hierarchy is based on signal connectivity, changing the connectivity could potentially require a rebuild (also currently disallowed). This might be a substantial change.