Object/Class

firrtl.transforms

DedupModules

Related Docs: class DedupModules | package transforms

Permalink

object DedupModules

Utility functions for DedupModules

Source
Dedup.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DedupModules
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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. def agnostify(top: CircuitTarget, module: DefModule, renameMap: RenameMap): DefModule

    Permalink

    Turns a module into a name-agnostic module

    Turns a module into a name-agnostic module

    module

    module to change

    returns

    name-agnostic module

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def buildRTLTags(top: CircuitTarget, moduleLinearization: Seq[DefModule], noDedups: Set[String], annotations: Seq[Annotation]): (Map[String, Set[String]], RenameMap)

    Permalink

    Returns 1) map of tag to all matching module names, 2) renameMap of module name to tag (agnostic name) 3) maps module name to agnostic renameMap

    Returns 1) map of tag to all matching module names, 2) renameMap of module name to tag (agnostic name) 3) maps module name to agnostic renameMap

    top

    CircuitTarget

    moduleLinearization

    Sequence of modules from leaf to top

    noDedups

    Set of modules to not dedup

    annotations

    All annotations to check if annotations are identical

  7. def changeInternals(rename: (String) ⇒ String, retype: (String) ⇒ (Type) ⇒ Type, reinfo: (Info) ⇒ Info, renameOfModule: (String, String) ⇒ String, renameExps: Boolean = true)(module: DefModule): DefModule

    Permalink

    Change's a module's internal signal names, types, infos, and modules.

    Change's a module's internal signal names, types, infos, and modules.

    rename

    Function to rename a signal. Called on declaration and references.

    retype

    Function to retype a signal. Called on declaration, references, and subfields

    reinfo

    Function to re-info a statement

    renameOfModule

    Function to rename an instance's module

    module

    Module to change internals

    returns

    Changed Module

  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  9. def computeIndexedNames(main: String, m: DefModule): IndexedSeq[ReferenceTarget]

    Permalink
  10. def computeRenameMap(originalNames: IndexedSeq[ReferenceTarget], dedupedNames: IndexedSeq[ReferenceTarget], renameMap: RenameMap): Unit

    Permalink
  11. def dedupInstances(top: CircuitTarget, originalModule: String, moduleMap: Map[String, DefModule], name2name: Map[String, String], renameMap: RenameMap): DefModule

    Permalink

    Dedup a module's instances based on dedup map

    Dedup a module's instances based on dedup map

    Will fixes up module if deduped instance's ports are differently named

    top

    CircuitTarget of circuit

    originalModule

    Module name who's instances will be deduped

    moduleMap

    Map of module name to its original module

    name2name

    Map of module name to the module deduping it. Not mutated in this function.

    renameMap

    Will be modified to keep track of renames in this function

    returns

    fixed up module deduped instances

  12. def deduplicate(circuit: Circuit, noDedups: Set[String], annotations: Seq[Annotation], renameMap: RenameMap): Map[String, DefModule]

    Permalink

    Deduplicate

    Deduplicate

    circuit

    Circuit

    noDedups

    list of modules to not dedup

    renameMap

    rename map to populate when deduping

    returns

    Map of original Module name -> Deduped Module

  13. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  15. def getAffectedExpressions(root: Expression): Seq[Expression]

    Permalink
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  17. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  18. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  21. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  23. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  24. def uniquifyField(ref: String, depth: Int, field: String): String

    Permalink
  25. final def wait(arg0: Long, arg1: Int): Unit

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(): Unit

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

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped