Applies datastructures to a module, to group its components into distinct modules
Applies datastructures to a module, to group its components into distinct modules
module to split apart
order of groups in SeqAnnotation, to make the grouping more deterministic
group components, by label
module name, by label
instance name of the group's module, by label
annotation specifying the group, by label
new modules, including each group's module and the new split module
Perform the transform, encode renaming with RenameMap, and can delete annotations Called by runTransform.
Perform the transform, encode renaming with RenameMap, and can delete annotations Called by runTransform.
Input Firrtl AST
A transformed Firrtl AST
Compute how each component connects to each other component It is non-directioned; there is an edge from source to sink and from sink to souce
Compute how each component connects to each other component It is non-directioned; there is an edge from source to sink and from sink to souce
module to compute connectivity
a bi-directional representation of component connectivity
The firrtl.CircuitForm that this transform requires to operate on
The firrtl.CircuitForm that this transform requires to operate on
A convenience function useful for debugging and error messages
A convenience function useful for debugging and error messages
The firrtl.CircuitForm that this transform outputs
The firrtl.CircuitForm that this transform outputs
Perform the transform and update annotations.
Perform the transform and update annotations.
Input Firrtl AST
A transformed Firrtl AST
A mathematical transform on some type
A mathematical transform on some type
an output object of the same type
(Since version ) see corresponding Javadoc for more information.
Convenience method to get annotations relevant to this Transform
Convenience method to get annotations relevant to this Transform
The CircuitState form which to extract annotations
A collection of annotations
(Since version 1.1) Just collect the actual Annotation types the transform wants
Splits a module into multiple modules by grouping its components via GroupAnnotation's