Open
Description
This removes the last major source of mutability in the core HDL, and makes it possible to use the same component hierarchy to build several bitstreams with different attributes without the hazards of reusing a mutable attribute array. This will also solve the issue of add_clock_constraint
adding a keep
attribute, mutating the passed signal.
Additionally, we could extend this to non-Signal
s but rather arbitrary Value
s, as NIR should be able to give them names as necessary. (Only allowing Signal
s is simpler though.)