uncore

ClientMetadata

class ClientMetadata extends CoherenceMetadata

Stores the client-side coherence information, such as permissions on the data and whether the data is dirty. Its API can be used to make TileLink messages in response to memory operations or uncore.Probe messages.

Linear Supertypes
CoherenceMetadata, Bundle, Aggregate, Data, Node, nameable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ClientMetadata
  2. CoherenceMetadata
  3. Bundle
  4. Aggregate
  5. Data
  6. Node
  7. nameable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ClientMetadata()

Value Members

  1. def !=(rhs: ClientMetadata): Bool

  2. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  3. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  4. def ##[T <: Data](right: T): ClientMetadata.this.type

    Definition Classes
    Data
  5. def ##(b: Node): Node

    Definition Classes
    Node
  6. final def ##(): Int

    Definition Classes
    AnyRef → Any
  7. def +(other: Bundle): Bundle

    Definition Classes
    Bundle
  8. def :=(that: Data): Unit

    Definition Classes
    Data
  9. def <>(src: Node): Unit

    Definition Classes
    Bundle → Node
  10. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  11. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  12. def ===(rhs: ClientMetadata): Bool

    Metadata equality

  13. def ===[T <: Data](right: T): Bool

    Definition Classes
    Data
  14. def W0Wtransform(): Unit

    Definition Classes
    Node
  15. def ^^(src: Node): Unit

    Definition Classes
    Node
  16. val _id: Int

    Definition Classes
    Node
  17. def _isComplementOf(x: Node): Boolean

    Definition Classes
    Node
  18. def addConsumers(): Unit

    Definition Classes
    Node
  19. def apply(name: String): Data

    Definition Classes
    Bundle → Data
  20. def asDirectionless(): ClientMetadata.this.type

    Definition Classes
    Bundle → Data
  21. def asInput(): ClientMetadata.this.type

    Definition Classes
    Bundle → Data
  22. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  23. def asOutput(): ClientMetadata.this.type

    Definition Classes
    Bundle → Data
  24. def assign(src: Node): Unit

    Definition Classes
    Node
  25. def canCSE: Boolean

    Definition Classes
    Node
  26. lazy val chiselName: String

    Definition Classes
    Node
  27. var clock: Clock

    Definition Classes
    Node
  28. def clone(): ClientMetadata.this.type

    Definition Classes
    Data → AnyRef
  29. var cntrIdx: Int

    Definition Classes
    Node
  30. val co: CoherencePolicy

    Definition Classes
    CoherenceMetadata
  31. def colonEquals(src: Bundle): Unit

    Attributes
    protected
    Definition Classes
    Bundle → Data
  32. def colonEquals[T <: Data](that: Iterable[T]): Unit

    Attributes
    protected
    Definition Classes
    Data
  33. def colonEquals(that: Bits): Unit

    Attributes
    protected
    Definition Classes
    Data
  34. var comp: proc

    Definition Classes
    Data
  35. var component: Module

    Definition Classes
    Node
  36. def componentOf: Module

    Definition Classes
    Node
  37. val consumers: LinkedHashSet[Node]

    Definition Classes
    Node
  38. def contains(name: String): Boolean

    Definition Classes
    Bundle
  39. def dblLitValue: Double

    Definition Classes
    Node
  40. var depth: Int

    Definition Classes
    Node
  41. var driveRand: Boolean

    Definition Classes
    Node
  42. lazy val elements: LinkedHashMap[String, Data]

    Definition Classes
    Bundle
  43. lazy val emitIndex: Int

    Definition Classes
    Node
  44. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  45. def equals(that: Any): Boolean

    Definition Classes
    Node → AnyRef → Any
  46. def equalsForCSE(x: Node): Boolean

    Definition Classes
    Node
  47. def extract(b: Bundle): List[Node]

    Definition Classes
    Node
  48. def extract(widths: Array[Int]): List[UInt]

    Definition Classes
    Node
  49. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  50. def flatten: Array[(String, Bits)]

    Definition Classes
    Bundle → Data
  51. def flip(): ClientMetadata.this.type

    Definition Classes
    Bundle → Data
  52. def floLitValue: Float

    Definition Classes
    Node
  53. def forceMatchingWidths: Unit

    Definition Classes
    Node
  54. def fromBits(b: Bits): ClientMetadata.this.type

    Definition Classes
    Data
  55. def fromMap(elemmap: Map[String, Data]): ClientMetadata.this.type

    Definition Classes
    Bundle
  56. def fromNode(n: Node): ClientMetadata.this.type

    Definition Classes
    Data
  57. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  58. def getLit: Literal

    Definition Classes
    Node
  59. def getNode: Node

    Definition Classes
    Node
  60. def getWidth(): Int

    Definition Classes
    Bundle → Aggregate → Node
  61. def getWidthW(): Width

    Definition Classes
    Node
  62. def hashCode(): Int

    Definition Classes
    Node → AnyRef → Any
  63. def hashCodeForCSE: Int

    Definition Classes
    Node
  64. val id: String

    Definition Classes
    CoherenceMetadata
  65. def illegalAssignment(that: Any): Unit

    Attributes
    protected
    Definition Classes
    Data
  66. def infer: Boolean

    Definition Classes
    Node
  67. var inferWidth: (⇒ Node) ⇒ Width

    Definition Classes
    Node
  68. def init(n: String, w: Int, ins: Node*): Node

    Definition Classes
    Node
  69. def init(n: String, widthFunc: (⇒ Node) ⇒ Width, ins: Node*): Node

    Definition Classes
    Node
  70. def initOf(n: String, widthfunc: (⇒ Node) ⇒ Width, ins: Iterable[Node]): Node

    Definition Classes
    Node
  71. val inputs: ArrayBuffer[Node]

    Definition Classes
    Node
  72. def isByValue: Boolean

    Definition Classes
    Node
  73. def isDirectionless: Boolean

    Definition Classes
    Bundle → Data
  74. def isHit(op_code: UInt): Bool

    Does this cache have permissions on this block sufficient to perform op

  75. lazy val isInObject: Boolean

    Definition Classes
    Node
  76. lazy val isInVCD: Boolean

    Definition Classes
    Node
  77. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  78. def isIo: Boolean

    Definition Classes
    Node
  79. def isIo_=(isIo: Boolean): Unit

    Definition Classes
    Node
  80. def isKnownWidth: Boolean

    Definition Classes
    Node
  81. final def isLit: Boolean

    Definition Classes
    Node
  82. def isMiss(op_code: UInt): Bool

    Does this cache lack permissions on this block sufficient to perform op

  83. def isReg: Boolean

    Definition Classes
    Node
  84. def isTopLevelIO: Boolean

    Definition Classes
    Node
  85. var isTypeNode: Boolean

    Definition Classes
    Node
  86. def isUsedByClockHi: Boolean

    Definition Classes
    Node
  87. def isValid(dummy: Int = 0): Bool

    Is the block's data present in this cache

  88. var isWidthWalked: Boolean

    Definition Classes
    Node
  89. val line: StackTraceElement

    Definition Classes
    Node
  90. def litOf: Literal

    Definition Classes
    Node
  91. def litValue(default: BigInt): BigInt

    Definition Classes
    Node
  92. def makeAcquire(client_xact_id: UInt, addr_block: UInt, op_code: UInt): Acquire

    Constructs an Acquire message based on this metdata and a memory operation

    Constructs an Acquire message based on this metdata and a memory operation

    client_xact_id

    client's transaction id

    addr_block

    address of the cache block

    op_code

    a memory operation from uncore.constants.MemoryOpConstants

  93. def makeRelease(prb: Probe, addr_beat: UInt = UInt(0), data: UInt = UInt(0)): Release

    Constructs a Release message based on this metadata and a uncore.Probe

    Constructs a Release message based on this metadata and a uncore.Probe

    addr_beat

    sub-block address (which beat)

    data

    data being released

  94. def makeVoluntaryWriteback(client_xact_id: UInt, addr_block: UInt, addr_beat: UInt = UInt(0), data: UInt = UInt(0)): Release

    Constructs a Release message based on this metadata on an eviction

    Constructs a Release message based on this metadata on an eviction

    client_xact_id

    client's transaction id

    addr_block

    address of the cache block

    addr_beat

    sub-block address (which beat)

    data

    data being written back

  95. def matchWidth(w: Width): Node

    Definition Classes
    Node
  96. def maybeFlatten: Seq[Node]

    Definition Classes
    Node
  97. var modified: Boolean

    Definition Classes
    Node
  98. var name: String

    Definition Classes
    nameable
  99. var nameHolder: nameable

    Definition Classes
    Node
  100. def nameIt(path: String, isNamingIo: Boolean): Unit

    Definition Classes
    Bundle → Data → Node
  101. var named: Boolean

    Definition Classes
    nameable
  102. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  103. def needWidth(): Int

    Definition Classes
    Node
  104. final def notify(): Unit

    Definition Classes
    AnyRef
  105. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  106. def onCacheControl(op_code: UInt): ClientMetadata

    New metadata after receiving a uncore.Probe

    New metadata after receiving a uncore.Probe

    op_code

    a memory operation from uncore.constants.MemoryOpConstants

  107. def onGrant(incoming: Grant, pending: UInt): ClientMetadata

    New metadata after receiving a uncore.Grant

    New metadata after receiving a uncore.Grant

    incoming

    the incoming uncore.Grant

    pending

    the mem op that triggered this transaction

  108. def onHit(op_code: UInt): ClientMetadata

    New metadata after a op_code hits this block

    New metadata after a op_code hits this block

    op_code

    a memory operation from uncore.constants.MemoryOpConstants

  109. def onProbe(incoming: Probe): ClientMetadata

    New metadata after receiving a uncore.Probe

    New metadata after receiving a uncore.Probe

    incoming

    the incoming uncore.Probe

  110. def params: Parameters

    Definition Classes
    Data
  111. var parents: LinkedHashSet[Node]

    Definition Classes
    Node
  112. def printTree(writer: PrintStream, depth: Int, indent: String): Unit

    Definition Classes
    Node
  113. var prune: Boolean

    Definition Classes
    Node
  114. def removeTypeNodes(): Unit

    Definition Classes
    Bundle → Node
  115. def replaceTree(newNode: Node): Unit

    Definition Classes
    Node
  116. def requiresAcquireOnSecondaryMiss(first_op: UInt, second_op: UInt): Bool

    Does a secondary miss on the block require another Acquire message

  117. def requiresReleaseOnCacheControl(op_code: UInt): Bool

    Does op require a Release to be made to outer memory

  118. def requiresVoluntaryWriteback(dummy: Int = 0): Bool

    Does an eviction require a Release to be made to outer memory

  119. def review(): Unit

    Definition Classes
    Node
  120. var sccIndex: Int

    Definition Classes
    Node
  121. var sccLowlink: Int

    Definition Classes
    Node
  122. def setIsTypeNode: Unit

    Definition Classes
    Bundle → Data
  123. def setName(n: String): Unit

    Definition Classes
    Node
  124. def setWidth(w: Int): Unit

    Definition Classes
    Node
  125. val state: UInt

    Actual state information stored in this bundle

  126. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  127. def toBits(): UInt

    Definition Classes
    Node
  128. def toBool(): Bool

    Definition Classes
    Data
  129. lazy val toNode: Node

    Definition Classes
    Data → Node
  130. def toString(): String

    Definition Classes
    Bundle → AnyRef → Any
  131. def usesInClockHi(i: Node): Boolean

    Definition Classes
    Node
  132. val view: Seq[String]

    Definition Classes
    Bundle
  133. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  134. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  135. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  136. var width_: Width

    Definition Classes
    Node

Inherited from CoherenceMetadata

Inherited from Bundle

Inherited from Aggregate

Inherited from Data

Inherited from Node

Inherited from nameable

Inherited from AnyRef

Inherited from Any

Ungrouped