case class ReferenceTarget(circuit: String, module: String, path: Seq[(Instance, OfModule)], ref: String, component: Seq[TargetToken]) extends IsComponent with Product with Serializable
Target pointing to a declared named component in a firrtl.ir.DefModule This includes: firrtl.ir.Port, firrtl.ir.DefWire, firrtl.ir.DefRegister, firrtl.ir.DefMemory, firrtl.ir.DefNode
- circuit
Name of the encapsulating circuit
- module
Name of the root module of this reference
- path
Path through instance/ofModules
- ref
Name of component
- component
Subcomponent of this reference, e.g. field or index
- Source
- Target.scala
- Alphabetic
- By Inheritance
- ReferenceTarget
- Serializable
- Product
- Equals
- IsComponent
- IsMember
- CompleteTarget
- Target
- Named
- AnyRef
- Any
- by convertNamed2Target
- by convertTarget2Named
- by convertIsComponent2ComponentName
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ReferenceTarget(circuit: String, module: String, path: Seq[(Instance, OfModule)], ref: String, component: Seq[TargetToken])
- circuit
Name of the encapsulating circuit
- module
Name of the root module of this reference
- path
Path through instance/ofModules
- ref
Name of component
- component
Subcomponent of this reference, e.g. field or index
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 ReferenceTarget toany2stringadd[ReferenceTarget] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (ReferenceTarget, B)
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toArrowAssoc[ReferenceTarget] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addHierarchy(root: String, instance: String): ReferenceTarget
Adds another level of instance hierarchy Example: Given root=A and instance=b, transforms (Top, B)/c:C -> (Top, A)/b:B/c:C
Adds another level of instance hierarchy Example: Given root=A and instance=b, transforms (Top, B)/c:C -> (Top, A)/b:B/c:C
- Definition Classes
- ReferenceTarget → CompleteTarget
- def allSubTargets(tpe: Type): Seq[ReferenceTarget]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def asPath: Seq[(Instance, OfModule)]
- returns
Creates a path, assuming all Instance and OfModules in this IsMember is used as a path
- Definition Classes
- ReferenceTarget → IsMember
- val circuit: String
- returns
The circuit of this target
- Definition Classes
- ReferenceTarget → CompleteTarget
- def circuitOpt: Option[String]
- returns
Circuit name, if it exists
- Definition Classes
- ReferenceTarget → Target
- def circuitTarget: CircuitTarget
- returns
The CircuitTarget of this target's circuit
- Definition Classes
- CompleteTarget
- def clock: ReferenceTarget
- returns
The clock signal of this reference, must be to a firrtl.ir.DefRegister
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def complete: CompleteTarget
- returns
Converts this Target into a CompleteTarget
- Definition Classes
- Target
- val component: Seq[TargetToken]
- def componentType(baseType: Type): Type
- returns
the type of the subcomponent specified by this target's component
- def encapsulatedBy(other: IsModule): Boolean
Checks whether this is inside of other
Checks whether this is inside of other
- Definition Classes
- Target
- def encapsulatingModule: String
- returns
The ModuleTarget of the module that directly contains this component
- Definition Classes
- IsMember
- def encapsulatingModuleTarget: ModuleTarget
- Definition Classes
- IsMember
- def ensuring(cond: (ReferenceTarget) => Boolean, msg: => Any): ReferenceTarget
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toEnsuring[ReferenceTarget] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (ReferenceTarget) => Boolean): ReferenceTarget
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toEnsuring[ReferenceTarget] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): ReferenceTarget
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toEnsuring[ReferenceTarget] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): ReferenceTarget
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toEnsuring[ReferenceTarget] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def expr: Expression
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toComponentName performed by method convertIsComponent2ComponentName in firrtl.annotations.Target.
- Definition Classes
- ComponentName
- def field(value: String): ReferenceTarget
- value
Field name of this target
- returns
A new ReferenceTarget to the specified field of this ReferenceTarget
- 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 getComplete: Option[CompleteTarget]
- returns
If legal, convert this Target into a CompleteTarget
- Definition Classes
- CompleteTarget → Target
- def index(value: Int): ReferenceTarget
- value
Index value of this target
- returns
A new ReferenceTarget to the specified index of this ReferenceTarget
- def init: ReferenceTarget
- returns
The initialization value of this reference, must be to a firrtl.ir.DefRegister
- def isClock: Boolean
- def isInit: Boolean
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isLocal: Boolean
Whether the target is directly instantiated in its root module
Whether the target is directly instantiated in its root module
- Definition Classes
- IsComponent → Target
- def isReset: Boolean
- def justPath: Seq[TargetToken]
- returns
Tokens of just this member's path
- Definition Classes
- IsComponent → IsMember
- def leafModule: String
- Definition Classes
- ReferenceTarget → IsMember
- def leafSubTargets(tpe: Type): Seq[ReferenceTarget]
- def modify(circuitOpt: Option[String] = circuitOpt, moduleOpt: Option[String] = moduleOpt, tokens: Seq[TargetToken] = tokens): GenericTarget
- returns
Returns a new GenericTarget with new values
- Definition Classes
- Target
- val module: String
- returns
Root module, e.g. top-level module of this target
- Definition Classes
- ReferenceTarget → IsMember
- def moduleOpt: Option[String]
- returns
Module name, if it exists
- Definition Classes
- ReferenceTarget → Target
- def moduleTarget: ModuleTarget
- returns
Member's top-level module target
- Definition Classes
- IsMember
- val name: String
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toComponentName performed by method convertIsComponent2ComponentName in firrtl.annotations.Target.
- Definition Classes
- ComponentName
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noComponents: ReferenceTarget
- def notPath: Seq[TargetToken]
- returns
Local tokens of what this member points (not a path)
- Definition Classes
- ReferenceTarget → IsMember
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val path: Seq[(Instance, OfModule)]
- returns
Returns the instance hierarchy path, if one exists
- Definition Classes
- ReferenceTarget → IsMember → Target
- def pathAsTargets: Seq[InstanceTarget]
- returns
List of local Instance Targets refering to each instance/ofModule in this member's path
- Definition Classes
- IsMember
- def pathTarget: IsModule
- returns
Member's path target
- Definition Classes
- IsComponent → IsMember
- def pathlessTarget: ReferenceTarget
Returns the local form of this ReferenceTarget
Returns the local form of this ReferenceTarget
For example, given
~Top|Top/foo:Foo/bar:Bar>x
,.pathlessTarget
returns~Top|Bar>x
This is useful for cases in which annotations must point to the module itself rather than an absolute *instance* of the module (e.g. deduplication).
- returns
Same target without a path
- Definition Classes
- ReferenceTarget → IsMember
- def prettyPrint(tab: String = ""): String
Pretty serialization, ideal for error messages.
Pretty serialization, ideal for error messages. Cannot be deserialized.
- returns
Human-readable serialization
- Definition Classes
- Target
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val ref: String
- def reset: ReferenceTarget
- returns
The reset signal of this reference, must be to a firrtl.ir.DefRegister
- def serialize: String
- def setPathTarget(newPath: IsModule): ReferenceTarget
Resets this target to have a new path
Resets this target to have a new path
- Definition Classes
- ReferenceTarget → IsMember
- def sharedRoot(other: Target): Boolean
Share root module
Share root module
- Definition Classes
- Target
- def stripHierarchy(n: Int): ReferenceTarget
Removes n levels of instance hierarchy
Removes n levels of instance hierarchy
Example: n=1, transforms (Top, A)/b:B/c:C -> (Top, B)/c:C
- Definition Classes
- ReferenceTarget → IsComponent
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def targetParent: CompleteTarget
- returns
Member's parent target
- Definition Classes
- ReferenceTarget → IsMember
- def toGenericTarget: GenericTarget
- returns
Converts this Target into a GenericTarget
- Definition Classes
- Target
- def toNamed: ComponentName
- returns
Converts this Target into either a CircuitName, ModuleName, or ComponentName
- Definition Classes
- IsComponent → Target
- def toString(): String
- Definition Classes
- CompleteTarget → AnyRef → Any
- def toTarget: CompleteTarget
- Definition Classes
- CompleteTarget → Named
- def tokens: Seq[TargetToken]
- returns
Target tokens
- Definition Classes
- IsComponent → Target
- def tryToComplete: Target
- returns
Converts this Target into a CompleteTarget, or if it can't, return original Target
- Definition Classes
- Target
- 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()
Shadowed Implicit Value Members
- def addHierarchy(root: String, instance: String): IsComponent
Adds another level of instance hierarchy Example: Given root=A and instance=b, transforms (Top, B)/c:C -> (Top, A)/b:B/c:C
Adds another level of instance hierarchy Example: Given root=A and instance=b, transforms (Top, B)/c:C -> (Top, A)/b:B/c:C
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).addHierarchy(root, instance)
- Definition Classes
- CompleteTarget
- def circuit: String
- returns
The circuit of this target
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).circuit
- Definition Classes
- CompleteTarget
- def circuitOpt: Option[String]
- returns
Circuit name, if it exists
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).circuitOpt
- Definition Classes
- Target
- def circuitTarget: CircuitTarget
- returns
The CircuitTarget of this target's circuit
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).circuitTarget
- Definition Classes
- CompleteTarget
- def complete: CompleteTarget
- returns
Converts this Target into a CompleteTarget
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).complete
- Definition Classes
- Target
- def encapsulatedBy(other: IsModule): Boolean
Checks whether this is inside of other
Checks whether this is inside of other
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).encapsulatedBy(other)
- Definition Classes
- Target
- def getComplete: Option[CompleteTarget]
- returns
If legal, convert this Target into a CompleteTarget
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).getComplete
- Definition Classes
- CompleteTarget → Target
- def isLocal: Boolean
Whether the target is directly instantiated in its root module
Whether the target is directly instantiated in its root module
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).isLocal
- Definition Classes
- Target
- def modify(circuitOpt: Option[String] = circuitOpt, moduleOpt: Option[String] = moduleOpt, tokens: Seq[TargetToken] = tokens): GenericTarget
- returns
Returns a new GenericTarget with new values
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).modify(circuitOpt, moduleOpt, tokens)
- Definition Classes
- Target
- val module: ModuleName
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toComponentName performed by method convertIsComponent2ComponentName in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: ComponentName).module
- Definition Classes
- ComponentName
- def moduleOpt: Option[String]
- returns
Module name, if it exists
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).moduleOpt
- Definition Classes
- Target
- def path: Seq[(Instance, OfModule)]
- returns
Returns the instance hierarchy path, if one exists
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).path
- Definition Classes
- Target
- def prettyPrint(tab: String = ""): String
Pretty serialization, ideal for error messages.
Pretty serialization, ideal for error messages. Cannot be deserialized.
- returns
Human-readable serialization
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).prettyPrint(tab)
- Definition Classes
- Target
- def productElementNames: Iterator[String]
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toComponentName performed by method convertIsComponent2ComponentName in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: ComponentName).productElementNames
- Definition Classes
- Product
- def serialize: String
- returns
Human-readable serialization
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).serialize
- Definition Classes
- Target → Named
- def serialize: String
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toNamed performed by method convertTarget2Named in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: Named).serialize
- Definition Classes
- Named
- def serialize: String
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toComponentName performed by method convertIsComponent2ComponentName in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: ComponentName).serialize
- Definition Classes
- ComponentName → Named
- def sharedRoot(other: Target): Boolean
Share root module
Share root module
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).sharedRoot(other)
- Definition Classes
- Target
- def toGenericTarget: GenericTarget
- returns
Converts this Target into a GenericTarget
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).toGenericTarget
- Definition Classes
- Target
- def toNamed: Named
- returns
Converts this Target into either a CircuitName, ModuleName, or ComponentName
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).toNamed
- Definition Classes
- Target
- def toString(): String
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).toString()
- Definition Classes
- CompleteTarget → AnyRef → Any
- def toTarget: CompleteTarget
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).toTarget
- Definition Classes
- CompleteTarget → Named
- def toTarget: CompleteTarget
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toNamed performed by method convertTarget2Named in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: Named).toTarget
- Definition Classes
- Named
- def toTarget: ReferenceTarget
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toComponentName performed by method convertIsComponent2ComponentName in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: ComponentName).toTarget
- Definition Classes
- ComponentName → Named
- def tokens: Seq[TargetToken]
- returns
Target tokens
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).tokens
- Definition Classes
- Target
- def tryToComplete: Target
- returns
Converts this Target into a CompleteTarget, or if it can't, return original Target
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toCompleteTarget performed by method convertNamed2Target in firrtl.annotations.Target.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(referenceTarget: CompleteTarget).tryToComplete
- Definition Classes
- Target
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toStringFormat[ReferenceTarget] 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): (ReferenceTarget, B)
- Implicit
- This member is added by an implicit conversion from ReferenceTarget toArrowAssoc[ReferenceTarget] 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.