c

spinal.lib.bus.tilelink.sim

MemoryAgent

class MemoryAgent extends MonitorSubscriber

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

Instance Constructors

  1. new MemoryAgent(bus: Bus, cd: ClockDomain, seed: Long = simRandom.nextInt(), randomProberFactor: Float = 0.0f, randomProberDelayMax: Int = 1000, memArg: Option[SparseMemory] = None)(implicit idCallback: IdCallback)

Type Members

  1. case class CoherencyReport(needData: Boolean, unique: Boolean) extends Product with Serializable

Value Members

  1. implicit val _: SimManager
  2. var blockSize: Int
  3. val callbackOnC: LinkedHashMap[(Int, Long), (TransactionC) ⇒ Unit]
  4. val callbackOnE: LinkedHashMap[BigInt, (TransactionE) ⇒ Unit]
  5. val capMap: LinkedHashMap[M2sAgent, LinkedHashMap[Long, Int]]
  6. def changeCap(source: Int, address: Long, cap: Int): Any
  7. def checkAddress(address: Long): Boolean
  8. def delayOnA(a: TransactionA): Unit
  9. val driver: SlaveDriver
  10. def getCap(m2sAgent: M2sAgent, address: Long): Int
  11. def getCap(source: Int, address: Long): Int
  12. def handleCoherency(address: Long, isAquire: Boolean, sourceAgent: M2sAgent, cap: Int, allowProbePerm: Boolean): CoherencyReport
  13. def handleCoherency(a: TransactionA, cap: Int, allowProbePerm: Boolean = false): CoherencyReport
  14. val locks: LinkedHashMap[Long, SimMutex]
  15. val mem: SparseMemory
  16. val monitor: Monitor
  17. def onA(a: TransactionA): Unit
    Definition Classes
    MemoryAgentMonitorSubscriber
  18. def onB(b: TransactionB): Unit
    Definition Classes
    MemoryAgentMonitorSubscriber
  19. def onBeatC(c: TransactionC): Unit
    Definition Classes
    MonitorSubscriber
  20. def onC(c: TransactionC): Unit
    Definition Classes
    MemoryAgentMonitorSubscriber
  21. def onD(d: TransactionD): Unit
    Definition Classes
    MemoryAgentMonitorSubscriber
  22. def onE(e: TransactionE): Unit
    Definition Classes
    MemoryAgentMonitorSubscriber
  23. var randomProberDelayMax: Int
  24. var randomProberFactor: Float
  25. def release(address: Long): Any
  26. def reserve(address: Long): Unit
  27. val sinkAllocator: BlockingIdAllocator
  28. val sourceToM2s: Array[M2sAgent]
  29. def waitC(source: Int, address: Long): TransactionC
  30. def waitE(sink: BigInt): TransactionE