You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove the circuit from both `Target` and `Named`. For the latter, this
means that `CircuitName` is deleted.
Carry this to its logical conclusion. The only parts that do require a
change:
1. The RenameMap wants to know if a path is renamed to something
"absolute". It does this check by looking to see if a module name matches
the circuit name. (Note: this check is incorrect because it assumes that
a circuit has a single root. However, this has not been the case since
D/I was implemented.) Work around this by adding a "circuit name"
parameter to the RenameMap so that this check can still be done. Note:
large code paths within the rename map that are checking for module or
instance path renames should be completely unreachable. The only user of
the RenameMap at this point in-tree is `DataView` and this is not going to
do renames involving paths.
2. The LayerControl API needs to know what the circuit name is since this
is part of its ABI. Previously, the circuit name was known because of a,
now deleted, method on `RawModule`. Change this to use the module name
itself when determining the ABI setting (file name or macro name). This
should always be correct because the method to generate the ABI setting
because ChiselSim is always given some top module that it wants to
simulate. This may be problematic for multi-rooted circuits like inline
directed tests.
3. Users of the Trace API do not have a trivial access to the circuit
name, i.e., the top module. However, if you are a user of this, you
should know what your top name is without relying on the returned
`CompleteTarget`. See the `TraceSpec` for an example of this.
Signed-off-by: Schuyler Eldridge <[email protected]>
0 commit comments