object Module extends Module$Intf
- Source
- Module.scala
- Grouped
- Alphabetic
- By Inheritance
- Module
- Module$Intf
- SourceInfoDoc
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- 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
mwith Chisel metadata properly set
- Definition Classes
- Module$Intf
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clock: Clock
Returns the implicit Clock
- def clockOption: Option[Clock]
Returns the implicit Clock, if it is defined
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def currentModule: Option[BaseModule]
Returns the current Module
- def currentModulePrefix: String
Returns the current nested module prefix
- 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. - def disableOption(implicit sourceInfo: SourceInfo): Option[Disable]
Returns the current implicit Disable, if one is defined
- def do_apply[T <: BaseModule](bc: => T)(implicit sourceInfo: SourceInfo): T
- Definition Classes
- Module$Intf
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def reset: Reset
Returns the implicit Reset
- def resetOption: Option[Reset]
Returns the implicit Reset, if it is defined
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- object ResetType
Allowed values for the types of Module.reset
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.
This is the documentation for Chisel.
Package structure
The chisel3 package presents the public API of Chisel. It contains the concrete core types
UInt,SInt,Bool,Clock, andReg, the abstract typesBits,Aggregate, andData, and the aggregate typesBundleandVec.The Chisel package is a compatibility layer that attempts to provide chisel2 compatibility in chisel3.
Utility objects and methods are found in the
utilpackage.The
testerspackage defines the basic interface for chisel testers.