class DynamicObject extends HasId with NamedComponent
Represents an instance of a Class.
This cannot be instantiated directly, instead see Class.unsafeGetDynamicObject.
The DynamicObject is generally unsafe, in that its getField method does not check the name, type, or direction of the accessed field. It may be used with care, and a more typesafe version called StaticObject has been added, which works with the Definition / Instance APIs.
To create a DynamicObject directly, wrap a Class with DynamicObject.apply. For example:
val obj = DynamicObject(new Class { override def desiredName = "Test" val in = IO(Input(Property[Int]())) val out = IO(Output(Property[Int]())) out := in })
- Source
- Object.scala
- Alphabetic
- By Inheritance
- DynamicObject
- NamedComponent
- HasId
- InstanceId
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from DynamicObject toany2stringadd[DynamicObject] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (DynamicObject, B)
- Implicit
- This member is added by an implicit conversion from DynamicObject toArrowAssoc[DynamicObject] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def circuitName: String
- Definition Classes
- HasId
- val className: ClassType
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensuring(cond: (DynamicObject) => Boolean, msg: => Any): DynamicObject
- Implicit
- This member is added by an implicit conversion from DynamicObject toEnsuring[DynamicObject] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (DynamicObject) => Boolean): DynamicObject
- Implicit
- This member is added by an implicit conversion from DynamicObject toEnsuring[DynamicObject] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): DynamicObject
- Implicit
- This member is added by an implicit conversion from DynamicObject toEnsuring[DynamicObject] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): DynamicObject
- Implicit
- This member is added by an implicit conversion from DynamicObject toEnsuring[DynamicObject] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(that: Any): Boolean
- Definition Classes
- HasId → AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): java.lang.Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getField[T](name: String, property: Property[T]): Property[T]
- def getField[T](name: String)(implicit tpe: PropertyType[T]): Property[Type]
Get a field from this Object.
Get a field from this Object.
*WARNING*: It is the caller's responsibility to ensure the field exists, with the correct type and direction.
- def getReference: Property[ClassType]
Get a reference to this Object, suitable for use Ports.
- def hasSeed: Boolean
- returns
Whether either autoName or suggestName has been called
- Definition Classes
- HasId
- def hashCode(): Int
- Definition Classes
- HasId → AnyRef → Any
- def instanceName: String
- Definition Classes
- HasId → InstanceId
- 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 parentModName: String
- Definition Classes
- HasId → InstanceId
- def parentPathName: String
- Definition Classes
- HasId → InstanceId
- def pathName: String
- Definition Classes
- HasId → InstanceId
- def setSourceClass(cls: Class): Unit
- Attributes
- protected[chisel3]
- def setSourceClassRef(): Unit
Set the source Class ref to this DynamicObject's ref.
Set the source Class ref to this DynamicObject's ref.
After the DynamicObject is named, this must be called so the Class ref will be updated to the DynamicObject ref. This is needed for any secret ports that are bored in the class, which point to the Class ref.
- Attributes
- protected[chisel3]
- def suggestName(seed: => String): DynamicObject.this.type
Takes the first seed suggested.
Takes the first seed suggested. Multiple calls to this function will be ignored. If the final computed name conflicts with another name, it may get uniquified by appending a digit at the end.
Is a higher priority than
autoSeed
, in that regardless of whetherautoSeed
was called, suggestName will always take precedence.- seed
The seed for the name of this component
- returns
this object
- Definition Classes
- HasId
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def toAbsoluteTarget: ReferenceTarget
Returns a FIRRTL IsMember that refers to the absolute path to this object in the elaborated hardware graph
Returns a FIRRTL IsMember that refers to the absolute path to this object in the elaborated hardware graph
- Definition Classes
- NamedComponent → InstanceId
- final def toNamed: ComponentName
Returns a FIRRTL ComponentName that references this object
Returns a FIRRTL ComponentName that references this object
- Definition Classes
- NamedComponent → InstanceId
- Note
Should not be called until circuit elaboration is complete
- final def toRelativeTarget(root: Option[BaseModule]): ReferenceTarget
Returns a FIRRTL ReferenceTarget that references this object, relative to an optional root.
Returns a FIRRTL ReferenceTarget that references this object, relative to an optional root.
If
root
is defined, the target is a hierarchical path starting fromroot
.If
root
is not defined, the target is a hierarchical path equivalent totoAbsoluteTarget
.- Definition Classes
- NamedComponent
- Note
If
,root
is defined, and has not finished elaboration, this must be called withinatModuleBodyEnd
.The NamedComponent must be a descendant of
,root
, if it is defined.This doesn't have special handling for Views.
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def toTarget: ReferenceTarget
Returns a FIRRTL ReferenceTarget that references this object
Returns a FIRRTL ReferenceTarget that references this object
- Definition Classes
- NamedComponent → InstanceId
- Note
Should not be called until circuit elaboration is complete
- 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()
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from DynamicObject toStringFormat[DynamicObject] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (DynamicObject, B)
- Implicit
- This member is added by an implicit conversion from DynamicObject toArrowAssoc[DynamicObject] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.