Packages

class CtrlLink extends Link with CtrlApi

A kind of special Link that connects two nodes with optional flow control / bypass logic.

Its API should be flexible enough to implement a CPU stage with it.

It as an up and a down node.

See also

CtrlLink documentation

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CtrlLink
  2. CtrlApi
  3. Link
  4. Area
  5. OverridedEqualsHashCode
  6. ValCallbackRec
  7. ValCallback
  8. NameableByComponent
  9. Nameable
  10. ContextUser
  11. ScalaLocated
  12. GlobalDataUser
  13. OwnableRef
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CtrlLink(up: Node, down: Node)

Type Members

  1. class BundlePimper[T <: Bundle] extends AnyRef
    Definition Classes
    CtrlApi
  2. class Area extends core.Area with CtrlApi
  3. abstract type RefOwnerType
    Definition Classes
    OwnableRef

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val _context: Capture
    Definition Classes
    Area
  5. def apply(subKeys: Seq[Any]): OffsetApi
    Definition Classes
    CtrlApi
  6. def apply[T <: Data](that: Payload[T], subKey: Any): T

    Same as Link.down(Payload, subKey)

    Same as Link.down(Payload, subKey)

    Definition Classes
    CtrlApi
  7. def apply[T <: Data](that: Payload[T]): T

    Same as Link.down(Payload)

    Same as Link.down(Payload)

    Definition Classes
    CtrlApi
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def build(): Unit
    Definition Classes
    CtrlLinkLink
  10. implicit def bundlePimper[T <: Bundle](stageable: Payload[T]): BundlePimper[T]
    Definition Classes
    CtrlApi
  11. def bypass[T <: Data](that: NamedTypeKey): Data
    Definition Classes
    CtrlApi
  12. def bypass[T <: Data](that: Payload[T], subKey: Any): T

    Allows to conditionally override a (Payload, subKey) value between link.up -> link.down.

    Allows to conditionally override a (Payload, subKey) value between link.up -> link.down.

    This can be used to fix data hazard in CPU pipelines for instance.

    Definition Classes
    CtrlApi
  13. def bypass[T <: Data](that: Payload[T]): T

    Allows to conditionally override a Payload value between link.up -> link.down.

    Allows to conditionally override a Payload value between link.up -> link.down.

    This can be used to fix data hazard in CPU pipelines for instance.

    Definition Classes
    CtrlApi
  14. val bypasses: LinkedHashMap[NamedTypeKey, Data]
  15. def childNamePriority: Byte
    Definition Classes
    Area
  16. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  17. def component: Component
    Definition Classes
    ContextUser
  18. def defaultKey: Any
    Definition Classes
    CtrlApi
  19. val down: Node
    Definition Classes
    CtrlLinkCtrlApi
  20. def downs: Seq[Node]
    Definition Classes
    CtrlLinkLink
  21. def duplicateIt()(implicit loc: Location): Unit

    Same as duplicateWhen() but for use in when block

    Same as duplicateWhen() but for use in when block

    Definition Classes
    CtrlApi
  22. def duplicateWhen(cond: Bool)(implicit loc: Location): Bool

    Duplicate the current transaction when True (clear up.ready)

    Duplicate the current transaction when True (clear up.ready)

    Definition Classes
    CtrlApi
  23. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. def equals(obj: Any): Boolean
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  25. def foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit
    Definition Classes
    Nameable
  26. def forgetOneNow()(implicit loc: Location): Unit

    Same as forgetOneWhen() but for use in when block

    Same as forgetOneWhen() but for use in when block

    Definition Classes
    CtrlApi
  27. def forgetOneWhen(cond: Bool)(implicit loc: Location): Bool

    Request the upstream to forget its current transaction when True(but doesn’t clear the down.valid)

    Request the upstream to forget its current transaction when True(but doesn’t clear the down.valid)

    Definition Classes
    CtrlApi
  28. def forkFlow(enabled: Bool = True): Flow[NoData]

    Fork a flow from the current transaction.

    Fork a flow from the current transaction.

    enabled

    Additional condition to allow the pipeline to enable/disable the forked flow

    Definition Classes
    CtrlApi
  29. def forkStream[T <: Data](forceSpawn: Option[Bool] = Option.empty[Bool], enabled: Bool = True): Stream[NoData]

    Fork a stream from the current transaction.

    Fork a stream from the current transaction. The transaction is blocked if the stream is enabled but not fired.

    forceSpawn

    Allow the caller reset the send state

    enabled

    Additional condition to allow the pipeline to enable/disable the forked stream

    Definition Classes
    CtrlApi
  30. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  31. def getCtrl: CtrlLink
    Definition Classes
    CtrlLinkCtrlApi
  32. def getDisplayName(): String
    Definition Classes
    Nameable
  33. def getInstanceCounter: Int
    Definition Classes
    ContextUser
  34. def getMode: Byte
    Attributes
    protected
    Definition Classes
    Nameable
  35. def getName(default: String): String
    Definition Classes
    NameableByComponentNameable
  36. def getName(): String
    Definition Classes
    NameableByComponentNameable
  37. def getPartialName(): String
    Definition Classes
    Nameable
  38. def getPath(from: Component, to: Component): Seq[Component]
    Definition Classes
    NameableByComponent
  39. def getRefOwnersChain(): List[Any]
    Definition Classes
    OwnableRef
  40. def getScalaLocationLong: String
    Definition Classes
    ScalaLocated
  41. def getScalaLocationShort: String
    Definition Classes
    ScalaLocated
  42. def getScalaTrace(): Throwable
    Definition Classes
    ScalaLocated
  43. val globalData: GlobalData
    Definition Classes
    GlobalDataUser
  44. def haltIt()(implicit loc: Location): Unit

    Same as haltWhen() but for use in when block

    Same as haltWhen() but for use in when block

    Definition Classes
    CtrlApi
  45. def haltWhen(cond: Bool)(implicit loc: Location): Bool

    Block the current transaction when True (clear up.ready and down.valid)

    Block the current transaction when True (clear up.ready and down.valid)

    Definition Classes
    CtrlApi
  46. def hashCode(): Int
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  47. def ignoreReadyNow()(implicit loc: Location): Unit

    Same as ignoreReadyWhen() but for use in when block

    Same as ignoreReadyWhen() but for use in when block

    Definition Classes
    CtrlApi
  48. def ignoreReadyWhen(cond: Bool)(implicit loc: Location): Bool

    Ignore the downstream ready when True (set up.ready)

    Ignore the downstream ready when True (set up.ready)

    Definition Classes
    CtrlApi
  49. def insert[T <: Data](that: T): Payload[T]

    Same as Link.down.insert(Data)

    Same as Link.down.insert(Data)

    Definition Classes
    CtrlApi
  50. def isCompletelyUnnamed: Boolean
    Definition Classes
    Nameable
  51. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  52. final def isNamed: Boolean
    Definition Classes
    Nameable
  53. def isPriorityApplicable(namePriority: Byte): Boolean
    Definition Classes
    Nameable
  54. def isReady: Bool
    Definition Classes
    CtrlApi
  55. def isUnnamed: Boolean
    Definition Classes
    NameableByComponentNameable
  56. def isValid: Bool
    Definition Classes
    CtrlApi
  57. val name: String
    Definition Classes
    Nameable
  58. def nameFromLocation[T <: Data](that: T, prefix: String)(implicit loc: Location): T
  59. val nameableRef: Nameable
    Attributes
    protected
    Definition Classes
    Nameable
    Annotations
    @DontName()
  60. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  61. def nodeSetup(): Unit
    Definition Classes
    Link
  62. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  63. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  64. def or(a: Option[Bool], b: Seq[Bool]): Option[Bool]
  65. def overrideLocalName(name: String): CtrlLink.this.type
    Definition Classes
    Nameable
  66. val parentScope: ScopeStatement
    Definition Classes
    ContextUser
  67. def propagateDown(): Unit
    Definition Classes
    CtrlLinkLink
  68. def propagateDownAll(): Unit
    Definition Classes
    Link
  69. def propagateUp(): Unit
    Definition Classes
    CtrlLinkLink
  70. def propagateUpAll(): Unit
    Definition Classes
    Link
  71. val refOwner: RefOwnerType
    Definition Classes
    OwnableRef
    Annotations
    @DontName()
  72. def reflectNames(): Unit
    Definition Classes
    Nameable
  73. val requests: AnyRef { ... /* 8 definitions in type refinement */ }
  74. def rework[T](body: ⇒ T): T
    Definition Classes
    Area
  75. val scalaTrace: Throwable
    Definition Classes
    ScalaLocated
  76. def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): CtrlLink.this.type
    Definition Classes
    Nameable
  77. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): CtrlLink.this.type
    Definition Classes
    Nameable
  78. def setCompositeName(nameable: Nameable, postfix: String): CtrlLink.this.type
    Definition Classes
    Nameable
  79. def setCompositeName(nameable: Nameable, namePriority: Byte): CtrlLink.this.type
    Definition Classes
    Nameable
  80. def setCompositeName(nameable: Nameable, weak: Boolean): CtrlLink.this.type
    Definition Classes
    Nameable
  81. def setCompositeName(nameable: Nameable): CtrlLink.this.type
    Definition Classes
    Nameable
  82. def setLambdaName(isNameBody: ⇒ Boolean)(nameGen: ⇒ String): CtrlLink.this.type
    Definition Classes
    Nameable
  83. def setName(name: String, namePriority: Byte): CtrlLink.this.type
    Definition Classes
    Nameable
  84. def setName(name: String, weak: Boolean): CtrlLink.this.type
    Definition Classes
    Nameable
  85. def setName(name: String): CtrlLink.this.type
    Definition Classes
    Nameable
  86. def setNameAsWeak(): CtrlLink.this.type
    Definition Classes
    Nameable
  87. def setPartialName(name: String, namePriority: Byte, owner: Any): CtrlLink.this.type
    Definition Classes
    Nameable
  88. def setPartialName(name: String, namePriority: Byte): CtrlLink.this.type
    Definition Classes
    Nameable
  89. def setPartialName(name: String, weak: Boolean): CtrlLink.this.type
    Definition Classes
    Nameable
  90. def setPartialName(owner: Nameable, name: String, namePriority: Byte): CtrlLink.this.type
    Definition Classes
    Nameable
  91. def setPartialName(owner: Nameable, name: String, weak: Boolean): CtrlLink.this.type
    Definition Classes
    Nameable
  92. def setPartialName(name: String): CtrlLink.this.type
    Definition Classes
    Nameable
  93. def setPartialName(owner: Nameable, name: String): CtrlLink.this.type
    Definition Classes
    Nameable
  94. def setPartialName(owner: Nameable): CtrlLink.this.type
    Definition Classes
    Nameable
  95. def setRefOwner(that: Any): Unit
    Definition Classes
    OwnableRef
  96. def setScalaLocated(source: ScalaLocated): CtrlLink.this.type
    Definition Classes
    ScalaLocated
  97. def setWeakName(name: String): CtrlLink.this.type
    Definition Classes
    Nameable
  98. implicit def stageablePiped2[T <: Data](stageable: Payload[T]): T
    Definition Classes
    CtrlApi
  99. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  100. def terminateIt()(implicit loc: Location): Unit

    Same as terminateWhen() but for use in when block

    Same as terminateWhen() but for use in when block

    Definition Classes
    CtrlApi
  101. def terminateWhen(cond: Bool)(implicit loc: Location): Bool

    Hide the current transaction from downstream when True (clear down.valid)

    Hide the current transaction from downstream when True (clear down.valid)

    Definition Classes
    CtrlApi
  102. def throwIt(usingReady: Boolean = false)(implicit loc: Location): Unit

    Same as throwWhen() but for use in when block

    Same as throwWhen() but for use in when block

    Definition Classes
    CtrlApi
  103. def throwWhen(cond: Bool, usingReady: Boolean = false)(implicit loc: Location): Unit

    Cancel the current transaction from the pipeline when True.

    Cancel the current transaction from the pipeline when True.

    It clear down.valid and make the transaction driver forget its current state.

    Definition Classes
    CtrlApi
  104. def toString(): String
    Definition Classes
    AreaNameable → AnyRef → Any
  105. def unsetName(): CtrlLink.this.type
    Definition Classes
    Nameable
  106. val up: Node
    Definition Classes
    CtrlLinkCtrlApi
  107. def ups: Seq[Node]
    Definition Classes
    CtrlLinkLink
  108. def valCallback[T](ref: T, name: String): T
    Definition Classes
    ValCallbackRec → ValCallback
  109. def valCallbackOn(ref: Any, name: String, refs: Set[Any]): Unit
    Definition Classes
    ValCallbackRec
  110. def valCallbackRec(obj: Any, name: String): Unit
    Definition Classes
    AreaValCallbackRec
  111. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  112. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  113. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from CtrlApi

Inherited from Link

Inherited from core.Area

Inherited from OverridedEqualsHashCode

Inherited from ValCallbackRec

Inherited from ValCallback

Inherited from NameableByComponent

Inherited from Nameable

Inherited from ContextUser

Inherited from ScalaLocated

Inherited from GlobalDataUser

Inherited from OwnableRef

Inherited from AnyRef

Inherited from Any

Ungrouped