Packages

c

vexiiriscv.test

VexiiRiscvProbe

class VexiiRiscvProbe extends AnyRef

VexiiRiscvProbe can be used in a simulation to probe the activities of VexiiRiscv and notifies a list of TraceBackend with what happened (ex commit, memory load, memory store, trap, ...)

There is a few usefull backends : - RVLS to check that the simulated VexiiRiscv CPU is doing things right - A file backend, to keep a text file trace of what happened (instead of having to look into a waveform)

It also keep a trace of various performance metrics, as the IPC, branch miss rate, ...

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

Instance Constructors

  1. new VexiiRiscvProbe(cpu: VexiiRiscv, kb: Option[Backend], withRvls: Boolean = true)

Type Members

  1. class DecodeCtx extends AnyRef
  2. class FetchCtx extends AnyRef
  3. class HartCtx extends AnyRef
  4. class JbStats extends AnyRef
  5. class MicroOpCtx extends AnyRef
  6. class ProbeTraceIo extends TraceIo

Value Members

  1. def add(tracer: TraceBackend): VexiiRiscvProbe.this.type
  2. def autoRegions(): Unit
  3. val autoStoreBroadcast: Boolean
  4. var backends: ArrayBuffer[TraceBackend]
  5. def checkBroadcasts(): Unit
  6. def checkCommits(): Unit
  7. var checkLiveness: Boolean
  8. def checkPipelines(): Unit
  9. def checkTraps(): Unit
  10. def clearStats(): Unit
  11. def close(): Unit
  12. val commitsCallbacks: ArrayBuffer[(Int, Long) ⇒ Unit]
  13. var cycle: Long
  14. val decodeIdWidth: Int
  15. val disass: Long
  16. var enabled: Boolean
  17. val fetchIdWidth: Int
  18. val floatOr: Long
  19. def flush(): Unit
  20. def get[T](e: Element[T]): T
  21. def getStats(): String
  22. val harts: Array[HartCtx]
  23. val hartsCount: Int
  24. val hartsIds: Seq[Int]
  25. val lsuClpb: Option[LsuCachelessBus]
  26. val microOpIdMask: Int
  27. val microOpIdWidth: Int
  28. def pcExtends(pc: Long): Long
  29. val pendingIo: Queue[ProbeTraceIo]
  30. val proxies: Proxies
  31. val sizeMask: Array[Long]
  32. var statsCycleOffset: Long
  33. var trace: Boolean
  34. val wbp: Logic
  35. val withFetch: Boolean
  36. var withRvls: Boolean
  37. val xlen: Int
  38. def xlenExtends(value: Long): Long