python: don't die on assignment to cloned object

Updating the SimObject topology of a cloned hierarchy is a little
dangerous, in that cloning is a "deep copy" and the clone does not
inherit SimObject updates the same way it would inherit scalar
variable assignments.

However, because of various SimObject-valued proxy parameters,
like 'memories', 'clk_domain', and 'system', it turns out that
there are a number of implicit topology changes that happen at
instantiation, which means that these changes are impossible to
avoid.  So in order to make cloning systems useful, this error
has to go.  Changing it to a warning produces a lot of noise,
so it seems best just to delete it.
This commit is contained in:
Steve Reinhardt
2014-01-03 17:08:42 -08:00
parent b4b03a60b1
commit ba9ec669bc

View File

@@ -740,11 +740,6 @@ class SimObject(object):
self._get_port_ref(attr).connect(value)
return
if isSimObjectOrSequence(value) and self._instantiated:
raise RuntimeError, \
"cannot set SimObject parameter '%s' after\n" \
" instance been cloned %s" % (attr, `self`)
param = self._params.get(attr)
if param:
try: