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
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def agnostify(top: CircuitTarget, module: DefModule, renameMap: RenameMap): DefModule

    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
    Definition Classes
    Any
  6. def buildRTLTags(top: CircuitTarget, moduleLinearization: Seq[DefModule], noDedups: Set[String], annotations: Seq[Annotation]): (Map[String, Set[String]], 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

    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

    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
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  9. def computeIndexedNames(main: String, m: DefModule): IndexedSeq[ReferenceTarget]
  10. def computeRenameMap(originalNames: IndexedSeq[ReferenceTarget], dedupedNames: IndexedSeq[ReferenceTarget], renameMap: RenameMap): Unit
  11. def dedupInstances(top: CircuitTarget, originalModule: String, moduleMap: Map[String, DefModule], name2name: Map[String, String], renameMap: RenameMap): DefModule

    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]

    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
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  15. def getAffectedExpressions(root: Expression): Seq[Expression]
  16. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. def uniquifyField(ref: String, depth: Int, field: String): String
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated @deprecated
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped