c

vexiiriscv.execute

ExecuteLanePlugin

class ExecuteLanePlugin extends FiberPlugin with ExecuteLaneService with CompletionService with InflightService

Implements an execution lane : - Read the register files - Implement register files bypass logic - Register which execution layer are working on that lane - ...

Linear Supertypes
InflightService, CompletionService, ExecuteLaneService, FiberPlugin, Hostable, Area, OverridedEqualsHashCode, ValCallbackRec, ValCallback, NameableByComponent, Nameable, ContextUser, ScalaLocated, GlobalDataUser, OwnableRef, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ExecuteLanePlugin
  2. InflightService
  3. CompletionService
  4. ExecuteLaneService
  5. FiberPlugin
  6. Hostable
  7. Area
  8. OverridedEqualsHashCode
  9. ValCallbackRec
  10. ValCallback
  11. NameableByComponent
  12. Nameable
  13. ContextUser
  14. ScalaLocated
  15. GlobalDataUser
  16. OwnableRef
  17. AnyRef
  18. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ExecuteLanePlugin(laneName: String, rfReadAt: Int, decodeAt: Int, trapAt: Int, executeAt: Int, withBypasses: Boolean)

Type Members

  1. class CtrlLaneApiImpl extends Area with CtrlLaneApi
  2. abstract type RefOwnerType
    Definition Classes
    OwnableRef
  3. class Ctrl extends CtrlLaneMirror
    Definition Classes
    ExecuteLaneService
  4. class Execute extends CtrlLaneMirror
    Definition Classes
    ExecuteLaneService

Value Members

  1. val LAYER_SEL: NamedType[Bits]
    Definition Classes
    ExecuteLaneService
  2. val _context: Capture
    Definition Classes
    Area
  3. def add(layer: LaneLayer): Unit
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  4. def addService[T](that: T): T
    Definition Classes
    FiberPlugin
  5. val api: Handle[Area { val hartsInflight: spinal.core.Bits }]
  6. def apply(r: RfResource): Payload[Bits]
    Definition Classes
    ExecuteLaneService
  7. def apply(rf: RegfileSpec, access: RfAccess): Payload[Bits]
    Definition Classes
    ExecuteLaneService
  8. def atRiskOfFlush(executeId: Int): Bool
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  9. def awaitBuild(): Unit
    Definition Classes
    FiberPlugin
  10. def buildBefore(l: ⇒ Lock): Unit
    Definition Classes
    FiberPlugin
  11. var buildCount: Int
    Definition Classes
    FiberPlugin
  12. def childNamePriority: Byte
    Definition Classes
    Area
  13. def component: Component
    Definition Classes
    ContextUser
  14. def ctrl(id: Int): CtrlLaneApi
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  15. val decodeAt: Int
  16. val decodingDefaults: LinkedHashMap[NamedType[_ <: BaseType], BaseType]
  17. def during: AnyRef { ... /* 2 definitions in type refinement */ }
    Definition Classes
    FiberPlugin
  18. def equals(obj: Any): Boolean
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  19. def eupp: ExecutePipelinePlugin
  20. def execute(id: Int): CtrlLaneApi
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  21. val executeAt: Int
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  22. def foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit
    Definition Classes
    Nameable
  23. def freezeIt()(implicit loc: Location): Unit
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  24. def freezeWhen(cond: Bool)(implicit loc: Location): Unit
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  25. def getCompletions(): Seq[Flow[CompletionPayload]]
    Definition Classes
    ExecuteLanePluginCompletionService
  26. def getCtrlAge(at: Int): Int
    Definition Classes
    ExecuteLaneService
  27. def getDisplayName(): String
    Definition Classes
    Nameable
  28. def getExecuteAge(at: Int): Int
    Definition Classes
    ExecuteLaneService
  29. def getInstanceCounter: Int
    Definition Classes
    ContextUser
  30. def getLayerId(ll: LaneLayer): Int
    Definition Classes
    ExecuteLaneService
  31. def getLayers(): Iterable[LaneLayer]
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  32. def getName(default: String): String
    Definition Classes
    NameableByComponent → Nameable
  33. def getName(): String
    Definition Classes
    NameableByComponent → Nameable
  34. def getPartialName(): String
    Definition Classes
    Nameable
  35. def getPath(from: Component, to: Component): Seq[Component]
    Definition Classes
    NameableByComponent
  36. def getRdBroadcastedFromMax(regFiles: Seq[RegfileSpec]): Int
    Definition Classes
    ExecuteLaneService
  37. def getRefOwnersChain(): List[Any]
    Definition Classes
    OwnableRef
  38. def getRfReadableAtMax(): Int
    Definition Classes
    ExecuteLaneService
  39. def getScalaLocationLong: String
    Definition Classes
    ScalaLocated
  40. def getScalaLocationShort: String
    Definition Classes
    ScalaLocated
  41. def getScalaTrace(): Throwable
    Definition Classes
    ScalaLocated
  42. def getStageable(r: RfResource): Payload[Bits]
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  43. def getUopLayerSpec(): Iterable[UopLayerSpec]
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  44. def getUops(): Iterable[MicroOp]
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  45. val globalData: GlobalData
    Definition Classes
    GlobalDataUser
  46. def hasInflight(hartId: Int): Bool
    Definition Classes
    ExecuteLanePluginInflightService
  47. def hashCode(): Int
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  48. var host: PluginHost
    Definition Classes
    FiberPlugin
  49. val hostLock: Lock
    Definition Classes
    FiberPlugin
  50. val idToCtrl: LinkedHashMap[Int, CtrlLaneApiImpl]
  51. def isCompletelyUnnamed: Boolean
    Definition Classes
    Nameable
  52. def isFreezed(): Bool
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  53. final def isNamed: Boolean
    Definition Classes
    Nameable
  54. def isPriorityApplicable(namePriority: Byte): Boolean
    Definition Classes
    Nameable
  55. def isUnnamed: Boolean
    Definition Classes
    NameableByComponent → Nameable
  56. val laneName: String
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  57. val layers: ArrayBuffer[LaneLayer]
  58. val lockables: LinkedHashSet[() ⇒ Lock]
    Definition Classes
    FiberPlugin
  59. val logic: Handle[Area { ... /* 17 definitions in type refinement */ }]
  60. val name: String
    Definition Classes
    Nameable
  61. def overrideLocalName(name: String): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  62. val parentScope: ScopeStatement
    Definition Classes
    ContextUser
  63. val pipelineLock: Retainer
    Definition Classes
    ExecuteLaneService
  64. var pluginEnabled: Boolean
    Definition Classes
    FiberPlugin
  65. val readLatencyMax: Handle[Int]
  66. val refOwner: RefOwnerType
    Definition Classes
    OwnableRef
    Annotations
    @DontName()
  67. def reflectNames(): Unit
    Definition Classes
    Nameable
  68. def retains(head: Any, tail: Any*): RetainerGroup
    Definition Classes
    FiberPlugin
  69. def retains(that: Seq[Any]): RetainerGroup
    Definition Classes
    FiberPlugin
  70. def rework[T](body: ⇒ T): T
    Definition Classes
    Area
  71. val rfReadAt: Int
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  72. def rfReadHazardFrom(usedAt: Int): Int
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  73. def rfReadLatencyMax: Int
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  74. val rfStageables: LinkedHashMap[RfResource, Payload[Bits]]
  75. val scalaTrace: Throwable
    Definition Classes
    ScalaLocated
  76. def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  77. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  78. def setCompositeName(nameable: Nameable, postfix: String): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  79. def setCompositeName(nameable: Nameable, namePriority: Byte): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  80. def setCompositeName(nameable: Nameable, weak: Boolean): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  81. def setCompositeName(nameable: Nameable): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  82. def setDecodingDefault(key: Payload[_ <: BaseType], value: BaseType): Unit
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  83. def setHost(h: PluginHost): Unit
    Definition Classes
    FiberPlugin → Hostable
  84. def setLambdaName(isNameBody: ⇒ Boolean)(nameGen: ⇒ String): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  85. def setName(name: String, namePriority: Byte): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  86. def setName(name: String, weak: Boolean): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  87. def setName(name: String): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  88. def setNameAsWeak(): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  89. def setPartialName(name: String, namePriority: Byte, owner: Any): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  90. def setPartialName(name: String, namePriority: Byte): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  91. def setPartialName(name: String, weak: Boolean): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  92. def setPartialName(owner: Nameable, name: String, namePriority: Byte): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  93. def setPartialName(owner: Nameable, name: String, weak: Boolean): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  94. def setPartialName(name: String): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  95. def setPartialName(owner: Nameable, name: String): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  96. def setPartialName(owner: Nameable): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  97. def setRefOwner(that: Any): Unit
    Definition Classes
    OwnableRef
  98. def setScalaLocated(source: ScalaLocated): ExecuteLanePlugin.this.type
    Definition Classes
    ScalaLocated
  99. def setWeakName(name: String): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  100. def setupRetain(l: ⇒ Lock): Unit
    Definition Classes
    FiberPlugin
  101. val subservices: ArrayBuffer[Any]
    Definition Classes
    FiberPlugin
  102. def toString(): String
    Definition Classes
    Area → Nameable → AnyRef → Any
  103. val trapAt: Int
  104. def unsetName(): ExecuteLanePlugin.this.type
    Definition Classes
    Nameable
  105. val uopLock: Retainer
    Definition Classes
    ExecuteLaneService
  106. def valCallback[T](ref: T, name: String): T
    Definition Classes
    ValCallbackRec → ValCallback
  107. def valCallbackOn(ref: Any, name: String, refs: Set[Any]): Unit
    Definition Classes
    ValCallbackRec
  108. def valCallbackRec(obj: Any, name: String): Unit
    Definition Classes
    Area → ValCallbackRec
  109. val withBypasses: Boolean
    Definition Classes
    ExecuteLanePluginExecuteLaneService
  110. def withPrefix(prefix: String): FiberPlugin
    Definition Classes
    FiberPlugin