Class

firrtl.annotations.analysis

DuplicationHelper

Related Doc: package analysis

Permalink

case class DuplicationHelper(existingModules: Set[String]) extends Product with Serializable

Used by firrtl.annotations.transforms.EliminateTargetPaths to eliminate target paths Calculates needed modifications to a circuit's module/instance hierarchy

Source
DuplicationHelper.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DuplicationHelper
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DuplicationHelper(existingModules: Set[String])

    Permalink

Type Members

  1. type DupMap = HashMap[String, ModuleHasInstanceOfModuleMap]

    Permalink
  2. type InstanceOfModuleMap = HashMap[Instance, OfModule]

    Permalink
  3. type ModuleHasInstanceOfModuleMap = HashMap[String, InstanceOfModuleMap]

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. val existingModules: Set[String]

    Permalink
  8. def expandHierarchy(t: IsMember): Unit

    Permalink

    Updates internal state (dupMap) to calculate instance hierarchy modifications so t's tokens in an instance can be expressed as a tokens in a module (e.g.

    Updates internal state (dupMap) to calculate instance hierarchy modifications so t's tokens in an instance can be expressed as a tokens in a module (e.g. uniquify/duplicate the instance path in t's tokens)

    t

    An instance-resolved component

  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. def getDuplicates(module: String): Set[String]

    Permalink

    Returns the names of this module's duplicated (including the original name)

  12. def getModuleName(top: String, path: Seq[(Instance, OfModule)]): String

    Permalink

    Deterministic name-creation of a duplicated module

  13. def getNewOfModule(originalModule: String, newModule: String, instance: Instance, originalOfModule: OfModule): OfModule

    Permalink

    Return the duplicated module (formerly originalOfModule) instantiated by instance in newModule (formerly originalModule)

    Return the duplicated module (formerly originalOfModule) instantiated by instance in newModule (formerly originalModule)

    originalModule

    original encapsulating module

    newModule

    new name of encapsulating module

    instance

    instance name being declared in encapsulating module

    originalOfModule

    original module being instantiated in originalModule

  14. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  15. def makePathless(t: IsMember): Seq[IsMember]

    Permalink

    Rewrites t with new module/instance hierarchy calculated after repeated calls to expandHierarchy

    Rewrites t with new module/instance hierarchy calculated after repeated calls to expandHierarchy

    t

    A target

    returns

    t rewritten, is a seq because if the t.module has been duplicated, it must now refer to multiple modules

  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  20. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped