class CsrRamPlugin extends FiberPlugin with CsrRamService with InitService
Implement a RAM and provide an API (CsrRamService) that allows other plugins to : - Staticaly allocate memory space - Map the allocated memory space on the CPU CSR instruction - Create new read/write access ports to the memory.
This plugin is used mostly to implement large CSR as mepc, mtval, aswell as for implementing the performance counters
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- CsrRamPlugin
- InitService
- CsrRamService
- FiberPlugin
- Hostable
- Area
- OverridedEqualsHashCode
- ValCallbackRec
- ValCallback
- NameableByComponent
- Nameable
- ContextUser
- ScalaLocated
- GlobalDataUser
- OwnableRef
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new CsrRamPlugin()
Type Members
-
abstract
type
RefOwnerType
- Definition Classes
- OwnableRef
-
case class
Mapping(csrFilter: Any, alloc: CsrRamAllocation, offset: Int) extends Product with Serializable
- Definition Classes
- CsrRamService
Value Members
-
val
_context: Capture
- Definition Classes
- Area
-
def
addService[T](that: T): T
- Definition Classes
- FiberPlugin
-
val
allocations: ArrayBuffer[CsrRamAllocation]
- Definition Classes
- CsrRamService
- val api: Handle[Area { ... /* 2 definitions in type refinement */ }]
-
def
awaitBuild(): Unit
- Definition Classes
- FiberPlugin
-
def
awaitMapping(): Unit
- Definition Classes
- CsrRamPlugin → CsrRamService
-
def
buildBefore(l: ⇒ Lock): Unit
- Definition Classes
- FiberPlugin
-
var
buildCount: Int
- Definition Classes
- FiberPlugin
-
def
childNamePriority: Byte
- Definition Classes
- Area
-
def
component: Component
- Definition Classes
- ContextUser
-
val
csrLock: Retainer
- Definition Classes
- CsrRamService
- val csrMapper: Handle[Area { ... /* 14 definitions in type refinement */ }]
-
val
csrMappings: ArrayBuffer[Mapping]
- Definition Classes
- CsrRamService
-
def
during: AnyRef { ... /* 2 definitions in type refinement */ }
- Definition Classes
- FiberPlugin
-
def
equals(obj: Any): Boolean
- Definition Classes
- OverridedEqualsHashCode → AnyRef → Any
-
def
foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit
- Definition Classes
- Nameable
-
def
getDisplayName(): String
- Definition Classes
- Nameable
-
def
getInstanceCounter: Int
- Definition Classes
- ContextUser
-
def
getName(default: String): String
- Definition Classes
- NameableByComponent → Nameable
-
def
getName(): String
- Definition Classes
- NameableByComponent → Nameable
-
def
getPartialName(): String
- Definition Classes
- Nameable
-
def
getPath(from: Component, to: Component): Seq[Component]
- Definition Classes
- NameableByComponent
-
def
getRefOwnersChain(): List[Any]
- Definition Classes
- OwnableRef
-
def
getScalaLocationLong: String
- Definition Classes
- ScalaLocated
-
def
getScalaLocationShort: String
- Definition Classes
- ScalaLocated
-
def
getScalaTrace(): Throwable
- Definition Classes
- ScalaLocated
-
val
globalData: GlobalData
- Definition Classes
- GlobalDataUser
-
def
hashCode(): Int
- Definition Classes
- OverridedEqualsHashCode → AnyRef → Any
-
def
holdCsrRead(): Unit
- Definition Classes
- CsrRamPlugin → CsrRamService
-
def
holdCsrWrite(): Unit
- Definition Classes
- CsrRamPlugin → CsrRamService
-
var
host: PluginHost
- Definition Classes
- FiberPlugin
-
val
hostLock: Lock
- Definition Classes
- FiberPlugin
-
def
initHold(): Bool
- Definition Classes
- CsrRamPlugin → InitService
-
def
isCompletelyUnnamed: Boolean
- Definition Classes
- Nameable
-
final
def
isNamed: Boolean
- Definition Classes
- Nameable
-
def
isPriorityApplicable(namePriority: Byte): Boolean
- Definition Classes
- Nameable
-
def
isUnnamed: Boolean
- Definition Classes
- NameableByComponent → Nameable
-
val
lockables: LinkedHashSet[() ⇒ Lock]
- Definition Classes
- FiberPlugin
- val logic: Handle[Area { ... /* 7 definitions in type refinement */ }]
-
val
name: String
- Definition Classes
- Nameable
-
def
overrideLocalName(name: String): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
val
parentScope: ScopeStatement
- Definition Classes
- ContextUser
-
var
pluginEnabled: Boolean
- Definition Classes
- FiberPlugin
-
def
portAddressWidth: Int
- Definition Classes
- CsrRamPlugin → CsrRamService
-
val
portLock: Retainer
- Definition Classes
- CsrRamService
-
def
ramAllocate(entries: Int = 1): CsrRamAllocation
- Definition Classes
- CsrRamService
-
def
ramReadPort(priority: Int): Handle[CsrRamRead]
- Definition Classes
- CsrRamService
-
def
ramWritePort(priority: Int): Handle[CsrRamWrite]
- Definition Classes
- CsrRamService
-
def
readWriteRam(filters: Any, alloc: CsrRamAllocation, offset: Int): CsrRamAllocation
- Definition Classes
- CsrRamService
-
def
readWriteRam(filters: Int): CsrRamAllocation
- Definition Classes
- CsrRamService
-
val
reads: ArrayBuffer[Handle[CsrRamRead]]
- Definition Classes
- CsrRamService
-
val
refOwner: RefOwnerType
- Definition Classes
- OwnableRef
- Annotations
- @DontName()
-
def
reflectNames(): Unit
- Definition Classes
- Nameable
-
def
retains(head: Any, tail: Any*): RetainerGroup
- Definition Classes
- FiberPlugin
-
def
retains(that: Seq[Any]): RetainerGroup
- Definition Classes
- FiberPlugin
-
def
rework[T](body: ⇒ T): T
- Definition Classes
- Area
-
val
scalaTrace: Throwable
- Definition Classes
- ScalaLocated
-
def
setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable, postfix: String): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable, namePriority: Byte): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable, weak: Boolean): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setHost(h: PluginHost): Unit
- Definition Classes
- FiberPlugin → Hostable
-
def
setLambdaName(isNameBody: ⇒ Boolean)(nameGen: ⇒ String): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setName(name: String, namePriority: Byte): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setName(name: String, weak: Boolean): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setName(name: String): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setNameAsWeak(): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setPartialName(name: String, namePriority: Byte, owner: Any): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setPartialName(name: String, namePriority: Byte): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setPartialName(name: String, weak: Boolean): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setPartialName(owner: Nameable, name: String, namePriority: Byte): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setPartialName(owner: Nameable, name: String, weak: Boolean): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setPartialName(name: String): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setPartialName(owner: Nameable, name: String): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setPartialName(owner: Nameable): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
setRefOwner(that: Any): Unit
- Definition Classes
- OwnableRef
-
def
setScalaLocated(source: ScalaLocated): CsrRamPlugin.this.type
- Definition Classes
- ScalaLocated
-
def
setWeakName(name: String): CsrRamPlugin.this.type
- Definition Classes
- Nameable
- val setup: Handle[Area { ... /* 5 definitions in type refinement */ }]
-
def
setupRetain(l: ⇒ Lock): Unit
- Definition Classes
- FiberPlugin
-
val
subservices: ArrayBuffer[Any]
- Definition Classes
- FiberPlugin
-
def
toString(): String
- Definition Classes
- Area → Nameable → AnyRef → Any
-
def
unsetName(): CsrRamPlugin.this.type
- Definition Classes
- Nameable
-
def
valCallback[T](ref: T, name: String): T
- Definition Classes
- ValCallbackRec → ValCallback
-
def
valCallbackOn(ref: Any, name: String, refs: Set[Any]): Unit
- Definition Classes
- ValCallbackRec
-
def
valCallbackRec(obj: Any, name: String): Unit
- Definition Classes
- Area → ValCallbackRec
-
def
withPrefix(prefix: String): FiberPlugin
- Definition Classes
- FiberPlugin
-
val
writes: ArrayBuffer[Handle[CsrRamWrite]]
- Definition Classes
- CsrRamService