Package

firrtl

analyses

Permalink

package analyses

Visibility
  1. Public
  2. All

Type Members

  1. class GetNamespace extends Transform

    Permalink

    Create a namespace with this circuit

    Create a namespace with this circuit

    namespace is used by RenameModules to get unique names

  2. class InstanceGraph extends AnyRef

    Permalink

    A class representing the instance hierarchy of a working IR Circuit

    A class representing the instance hierarchy of a working IR Circuit

    Note

    The current implementation has some performance problems, which is why InstanceKeyGraph exists and should be preferred for new use cases. Eventually the old class will be deprecated in favor of the new implementation. The performance problems in the old implementation stem from the fact that DefInstance is used as the key to the underlying Map. DefInstance contains the type of the module besides the module and instance names. This type is not needed as it can be inferred from the module name. If the module name is the same, the type will be the same and vice versa. Hashing and comparing deep bundle types however is inefficient which can manifest in slower then necessary lookups and insertions.

  3. class InstanceKeyGraph extends AnyRef

    Permalink

    A class representing the instance hierarchy of firrtl Circuit This is a faster version of the old InstanceGraph which only uses pairs of InstanceName and Module name as vertex keys instead of using WDefInstance which will hash the instance type causing some performance issues.

  4. case class ModuleNamespaceAnnotation(namespace: Namespace) extends NoTargetAnnotation with Product with Serializable

    Permalink
  5. class NodeCount extends AnyRef

    Permalink

    This is not intended to be used as a metric for the size of an actual circuit, but rather to debug the compiler itself Works because all FirrtlNodes implement Product (case classes do)

Value Members

  1. object InstanceGraph

    Permalink
  2. object InstanceKeyGraph

    Permalink
  3. object NodeCount

    Permalink

Ungrouped