Packages

object Module extends Module$Intf

Source
Module.scala
Linear Supertypes
Module$Intf, SourceInfoDoc, AnyRef, Any
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. Module
  2. Module$Intf
  3. SourceInfoDoc
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

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. macro def apply[T <: BaseModule](bc: => T): T

    A wrapper method that all Module instantiations must be wrapped in (necessary to help Chisel track internal state).

    A wrapper method that all Module instantiations must be wrapped in (necessary to help Chisel track internal state).

    bc

    the Module being created

    returns

    the input module m with Chisel metadata properly set

    Definition Classes
    Module$Intf
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clock: Clock

    Returns the implicit Clock

  7. def clockOption: Option[Clock]

    Returns the implicit Clock, if it is defined

  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. def currentModule: Option[BaseModule]

    Returns the current Module

  10. def currentModulePrefix: String

    Returns the current nested module prefix

  11. def disable(implicit sourceInfo: SourceInfo): Disable

    Returns the implicit Disable

    Returns the implicit Disable

    Note that Disable is a function of the implicit clock and reset so having no implicit clock or reset may imply no Disable.

  12. def disableOption(implicit sourceInfo: SourceInfo): Option[Disable]

    Returns the current implicit Disable, if one is defined

    Returns the current implicit Disable, if one is defined

    Note that Disable is a function of the implicit clock and reset so having no implicit clock or reset may imply no Disable.

  13. def do_apply[T <: BaseModule](bc: => T)(implicit sourceInfo: SourceInfo): T

    Definition Classes
    Module$Intf
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  16. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. def reset: Reset

    Returns the implicit Reset

  24. def resetOption: Option[Reset]

    Returns the implicit Reset, if it is defined

  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  30. object ResetType

    Allowed values for the types of Module.reset

Inherited from Module$Intf

Inherited from SourceInfoDoc

Inherited from AnyRef

Inherited from Any

Ungrouped

SourceInfoTransformMacro

These internal methods are not part of the public-facing API!

The equivalent public-facing methods do not have the do_ prefix or have the same name. Use and look at the documentation for those. If you want left shift, use <<, not do_<<. If you want conversion to a Seq of Bools look at the asBools above, not the one below. Users can safely ignore every method in this group!

🐉🐉🐉 Here be dragons... 🐉🐉🐉

These do_X methods are used to enable both implicit passing of SourceInfo while also supporting chained apply methods. In effect all "normal" methods that you, as a user, will use in your designs, are converted to their "hidden", do_*, via macro transformations. Without using macros here, only one of the above wanted behaviors is allowed (implicit passing and chained applies)---the compiler interprets a chained apply as an explicit 'implicit' argument and will throw type errors.

The "normal", public-facing methods then take no SourceInfo. However, a macro transforms this public-facing method into a call to an internal, hidden do_* that takes an explicit SourceInfo by inserting an implicitly[SourceInfo] as the explicit argument.