case class ReferenceTarget(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
- 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
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- 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(module: String, path: Seq[(Instance, OfModule)], ref: String, component: Seq[TargetToken])
- 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
- 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
- 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 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(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 productElementNames: Iterator[String]
- Definition Classes
- Product
- val ref: String
- def serialize: String
- returns
Human-readable serialization
- Definition Classes
- Target
- 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 toGenericTarget: GenericTarget
- returns
Converts this Target into a GenericTarget
- Definition Classes
- Target
- def toNamed: ComponentName
- returns
Converts this Target into either a 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 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(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(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 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
- 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 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.
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 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.