object DataMirror
- Alphabetic
- By Inheritance
- DataMirror
- 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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def checkTypeEquivalence(x: Data, y: Data): Boolean
Check if two Chisel types are the same type.
Check if two Chisel types are the same type. Internally, this is dispatched to each Chisel type's
typeEquivalent
function for each type to determine if the types are intended to be equal.For most types, different parameters should ensure that the types are different. For example,
UInt(8.W)
andUInt(16.W)
are different. Likewise, Records check that both Records have the same elements with the same types.- x
First Chisel type
- y
Second Chisel type
- returns
true if the two Chisel types are equal.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def directionOf(target: Data): ActualDirection
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fullModulePorts(target: BaseModule): Seq[(String, Data)]
Returns a recursive representation of a module's ports with underscore-qualified names
Returns a recursive representation of a module's ports with underscore-qualified names
class MyModule extends Module { val io = IO(new Bundle { val in = Input(UInt(8.W)) val out = Output(Vec(2, UInt(8.W))) }) val extra = IO(Input(UInt(8.W))) val delay = RegNext(io.in) io.out(0) := delay io.out(1) := delay + extra } val mod = Module(new MyModule) DataMirror.fullModulePorts(mod) // returns: Seq( // "clock" -> mod.clock, // "reset" -> mod.reset, // "io" -> mod.io, // "io_out" -> mod.io.out, // "io_out_0" -> mod.io.out(0), // "io_out_1" -> mod.io.out(1), // "io_in" -> mod.io.in, // "extra" -> mod.extra // )
- Note
The returned ports are redundant. An Aggregate port will be present along with all of its children.
- See also
DataMirror.modulePorts for a non-recursive representation of the ports.
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def isIO(x: Data): Boolean
Check if a given
Data
is an IO portCheck if a given
Data
is an IO port- x
the
Data
to check- returns
true
if x is an IO port,false
otherwise
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isReg(x: Data): Boolean
Check if a given
Data
is a RegCheck if a given
Data
is a Reg- x
the
Data
to check- returns
true
if x is a Reg,false
otherwise
- def isWire(x: Data): Boolean
Check if a given
Data
is a WireCheck if a given
Data
is a Wire- x
the
Data
to check- returns
true
if x is a Wire,false
otherwise
- def modulePorts(target: BaseModule): Seq[(String, Data)]
Returns the ports of a module
Returns the ports of a module
class MyModule extends Module { val io = IO(new Bundle { val in = Input(UInt(8.W)) val out = Output(Vec(2, UInt(8.W))) }) val extra = IO(Input(UInt(8.W))) val delay = RegNext(io.in) io.out(0) := delay io.out(1) := delay + extra } val mod = Module(new MyModule) DataMirror.modulePorts(mod) // returns: Seq( // "clock" -> mod.clock, // "reset" -> mod.reset, // "io" -> mod.io, // "extra" -> mod.extra // )
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def specifiedDirectionOf(target: Data): SpecifiedDirection
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def widthOf(target: Data): Width
- object internal
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
,FixedPoint
,Clock
, andReg
, the abstract typesBits
,Aggregate
, andData
, and the aggregate typesBundle
andVec
.The Chisel package is a compatibility layer that attempts to provide chisel2 compatibility in chisel3.
Utility objects and methods are found in the
util
package.The
testers
package defines the basic interface for chisel testers.