c

vexiiriscv.execute

UopLayerSpec

class UopLayerSpec extends AnyRef

Specfies how a given MicroOp is implemented in a given LaneLayer - RD/RS1/RS2 timings and usages - Completion timing - Flush supported/behaviour - Additional decoding required - Shared hardware reservations

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. UopLayerSpec
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new UopLayerSpec(uop: MicroOp, elImpl: LaneLayer, el: ExecuteLaneService)

Value Members

  1. def addDecoding(values: Seq[(Payload[_ <: BaseType], Any)]): Unit
  2. def addDecoding(head: (Payload[_ <: BaseType], Any), tail: (Payload[_ <: BaseType], Any)*): Unit
  3. def addRsSpec(rfRead: RfRead, executeAt: Int): Unit
  4. var completion: Option[Int]
  5. val decodings: LinkedHashMap[NamedType[_ <: BaseType], Masked]
  6. def doCheck(): Unit
  7. def dontFlushFrom(executeCtrlId: Int): Unit
  8. var dontFlushFrom: Option[Int]
  9. val el: ExecuteLaneService
  10. val elImpl: LaneLayer
  11. def mayFlushUpTo(executeCtrlId: Int): Unit
  12. var mayFlushUpTo: Option[Int]
  13. var rd: Option[RdSpec]
  14. var rdOutOfPip: Boolean
  15. val reservations: LinkedHashMap[Nameable, LinkedHashSet[Int]]
  16. def reserve(what: Nameable, at: Int): LinkedHashSet[Int]
  17. var rs: LinkedHashMap[RfRead, RsSpec]
  18. def setCompletion(executeCtrlId: Int): UopLayerSpec.this.type
  19. def setRdSpec(data: Payload[Bits], broadcastedFrom: Int, rfReadableFrom: Int): Unit
  20. val uop: MicroOp