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
})
Attributes
- Companion
- object
- Source
- Object.scala
- Graph
-
- Supertypes
Members list
Value members
Concrete methods
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.
Attributes
- Source
- Object.scala
Attributes
- Source
- Object.scala
Get a reference to this Object, suitable for use Ports.
Inherited methods
Compares the receiver object (this) with the argument object (that) for equivalence.
Compares the receiver object (this) with the argument object (that) for equivalence.
Any implementation of this method should be an equivalence relation:
- It is reflexive: for any instance
xof typeAny,x.equals(x)should returntrue. - It is symmetric: for any instances
xandyof typeAny,x.equals(y)should returntrueif and only ify.equals(x)returnstrue. - It is transitive: for any instances
x,y, andzof typeAnyifx.equals(y)returnstrueandy.equals(z)returnstrue, thenx.equals(z)should returntrue.
If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode to ensure that objects which are "equal" (o1.equals(o2) returns true) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)).
Value parameters
- that
-
the object to compare against this object for equality.
Attributes
- Returns
-
trueif the receiver object is equivalent to the argument;falseotherwise. - Definition Classes
-
HasId -> Any
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Attributes
- Returns
-
Whether either autoName or suggestName has been called
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Calculates a hash code value for the object.
Calculates a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.
Attributes
- Returns
-
the hash code value for this object.
- Definition Classes
-
HasId -> Any
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Attributes
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Attributes
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Attributes
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Attributes
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
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.
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 whether autoSeed was called, suggestName will always take precedence.
Value parameters
- seed
-
The seed for the name of this component
Attributes
- Returns
-
this object
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
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
Attributes
- Inherited from:
- NamedComponent (hidden)
- Source
- Builder.scala
Returns a FIRRTL ComponentName that references this object
Returns a FIRRTL ComponentName that references this object
Attributes
- Note
-
Should not be called until circuit elaboration is complete
- Inherited from:
- NamedComponent (hidden)
- Source
- Builder.scala
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 from root.
If root is not defined, the target is a hierarchical path equivalent to toAbsoluteTarget.
Attributes
- Note
-
If
rootis 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.
- Inherited from:
- NamedComponent (hidden)
- Source
- Builder.scala
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 from root.
If root is not defined, the target is a hierarchical path equivalent to toAbsoluteTarget.
Attributes
- Note
-
If
rootis 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.
- Inherited from:
- NamedComponent (hidden)
- Source
- Builder.scala
Returns a FIRRTL ReferenceTarget that references this object
Returns a FIRRTL ReferenceTarget that references this object
Attributes
- Note
-
Should not be called until circuit elaboration is complete
- Inherited from:
- NamedComponent (hidden)
- Source
- Builder.scala
Concrete fields
Attributes
- Source
- Object.scala