class MemoryAgent extends MonitorSubscriber
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- MemoryAgent
- MonitorSubscriber
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- 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
- case class CoherencyReport(needData: Boolean, unique: Boolean) extends Product with Serializable
Value Members
- implicit val _: SimManager
- var blockSize: Int
- val callbackOnC: LinkedHashMap[(Int, Long), (TransactionC) ⇒ Unit]
- val callbackOnE: LinkedHashMap[BigInt, (TransactionE) ⇒ Unit]
- val capMap: LinkedHashMap[M2sAgent, LinkedHashMap[Long, Int]]
- def changeCap(source: Int, address: Long, cap: Int): Any
- def checkAddress(address: Long): Boolean
- def delayOnA(a: TransactionA): Unit
- val driver: SlaveDriver
- def getCap(m2sAgent: M2sAgent, address: Long): Int
- def getCap(source: Int, address: Long): Int
- def handleCoherency(address: Long, isAquire: Boolean, sourceAgent: M2sAgent, cap: Int, allowProbePerm: Boolean): CoherencyReport
- def handleCoherency(a: TransactionA, cap: Int, allowProbePerm: Boolean = false): CoherencyReport
- val locks: LinkedHashMap[Long, SimMutex]
- val mem: SparseMemory
- val monitor: Monitor
-
def
onA(a: TransactionA): Unit
- Definition Classes
- MemoryAgent → MonitorSubscriber
-
def
onB(b: TransactionB): Unit
- Definition Classes
- MemoryAgent → MonitorSubscriber
-
def
onBeatC(c: TransactionC): Unit
- Definition Classes
- MonitorSubscriber
-
def
onC(c: TransactionC): Unit
- Definition Classes
- MemoryAgent → MonitorSubscriber
-
def
onD(d: TransactionD): Unit
- Definition Classes
- MemoryAgent → MonitorSubscriber
-
def
onE(e: TransactionE): Unit
- Definition Classes
- MemoryAgent → MonitorSubscriber
- var randomProberDelayMax: Int
- var randomProberFactor: Float
- def release(address: Long): Any
- def reserve(address: Long): Unit
- val sinkAllocator: BlockingIdAllocator
- val sourceToM2s: Array[M2sAgent]
- def waitC(source: Int, address: Long): TransactionC
- def waitE(sink: BigInt): TransactionE