Packages

  • package root
    Definition Classes
    root
  • package vexiiriscv
    Definition Classes
    root
  • package memory
    Definition Classes
    vexiiriscv
  • class MmuPlugin extends FiberPlugin with AddressTranslationService

    Implement the RISC-V MMU using a N-way set associative TLB storage.

    Implement the RISC-V MMU using a N-way set associative TLB storage. This fit very well with FPGA which have distributed memories. For FPGA that do not have that, the MmuPortParameter can be configured to have a low number of sets or use 1 cycle delay to be inferable as block ram.

    Plugins which uses the MmuPlugin can request TLB storage, then they can require the MmuPlugin to bind a new port on a existing pipeline using that TLB storage. A given TLB storage can be used by multiple MMU ports.

    MMU miss will not by itself trigger a TLB refill. This is instead triggered by the TrapPlugin.

    Definition Classes
    memory
  • PortSpec
  • RefOwnerType
  • StorageSpec

case class StorageSpec(p: MmuStorageParameter, pmuEventId: Int) extends Nameable with Product with Serializable

Linear Supertypes
Serializable, Serializable, Product, Equals, Nameable, ContextUser, ScalaLocated, GlobalDataUser, OwnableRef, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StorageSpec
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Nameable
  7. ContextUser
  8. ScalaLocated
  9. GlobalDataUser
  10. OwnableRef
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new StorageSpec(p: MmuStorageParameter, pmuEventId: Int)

Type Members

  1. abstract type RefOwnerType
    Definition Classes
    OwnableRef

Value Members

  1. def component: Component
    Definition Classes
    ContextUser
  2. def foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit
    Definition Classes
    Nameable
  3. def getDisplayName(): String
    Definition Classes
    Nameable
  4. def getInstanceCounter: Int
    Definition Classes
    ContextUser
  5. def getName(default: String): String
    Definition Classes
    Nameable
  6. def getName(): String
    Definition Classes
    Nameable
  7. def getPartialName(): String
    Definition Classes
    Nameable
  8. def getRefOwnersChain(): List[Any]
    Definition Classes
    OwnableRef
  9. def getScalaLocationLong: String
    Definition Classes
    ScalaLocated
  10. def getScalaLocationShort: String
    Definition Classes
    ScalaLocated
  11. def getScalaTrace(): Throwable
    Definition Classes
    ScalaLocated
  12. val globalData: GlobalData
    Definition Classes
    GlobalDataUser
  13. def isCompletelyUnnamed: Boolean
    Definition Classes
    Nameable
  14. final def isNamed: Boolean
    Definition Classes
    Nameable
  15. def isPriorityApplicable(namePriority: Byte): Boolean
    Definition Classes
    Nameable
  16. def isUnnamed: Boolean
    Definition Classes
    Nameable
  17. val name: String
    Definition Classes
    Nameable
  18. def overrideLocalName(name: String): StorageSpec.this.type
    Definition Classes
    Nameable
  19. val p: MmuStorageParameter
  20. val parentScope: ScopeStatement
    Definition Classes
    ContextUser
  21. val pmuEventId: Int
  22. val refOwner: RefOwnerType
    Definition Classes
    OwnableRef
    Annotations
    @DontName()
  23. def reflectNames(): Unit
    Definition Classes
    Nameable
  24. val scalaTrace: Throwable
    Definition Classes
    ScalaLocated
  25. def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): StorageSpec.this.type
    Definition Classes
    Nameable
  26. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): StorageSpec.this.type
    Definition Classes
    Nameable
  27. def setCompositeName(nameable: Nameable, postfix: String): StorageSpec.this.type
    Definition Classes
    Nameable
  28. def setCompositeName(nameable: Nameable, namePriority: Byte): StorageSpec.this.type
    Definition Classes
    Nameable
  29. def setCompositeName(nameable: Nameable, weak: Boolean): StorageSpec.this.type
    Definition Classes
    Nameable
  30. def setCompositeName(nameable: Nameable): StorageSpec.this.type
    Definition Classes
    Nameable
  31. def setLambdaName(isNameBody: ⇒ Boolean)(nameGen: ⇒ String): StorageSpec.this.type
    Definition Classes
    Nameable
  32. def setName(name: String, namePriority: Byte): StorageSpec.this.type
    Definition Classes
    Nameable
  33. def setName(name: String, weak: Boolean): StorageSpec.this.type
    Definition Classes
    Nameable
  34. def setName(name: String): StorageSpec.this.type
    Definition Classes
    Nameable
  35. def setNameAsWeak(): StorageSpec.this.type
    Definition Classes
    Nameable
  36. def setPartialName(name: String, namePriority: Byte, owner: Any): StorageSpec.this.type
    Definition Classes
    Nameable
  37. def setPartialName(name: String, namePriority: Byte): StorageSpec.this.type
    Definition Classes
    Nameable
  38. def setPartialName(name: String, weak: Boolean): StorageSpec.this.type
    Definition Classes
    Nameable
  39. def setPartialName(owner: Nameable, name: String, namePriority: Byte): StorageSpec.this.type
    Definition Classes
    Nameable
  40. def setPartialName(owner: Nameable, name: String, weak: Boolean): StorageSpec.this.type
    Definition Classes
    Nameable
  41. def setPartialName(name: String): StorageSpec.this.type
    Definition Classes
    Nameable
  42. def setPartialName(owner: Nameable, name: String): StorageSpec.this.type
    Definition Classes
    Nameable
  43. def setPartialName(owner: Nameable): StorageSpec.this.type
    Definition Classes
    Nameable
  44. def setRefOwner(that: Any): Unit
    Definition Classes
    OwnableRef
  45. def setScalaLocated(source: ScalaLocated): StorageSpec.this.type
    Definition Classes
    ScalaLocated
  46. def setWeakName(name: String): StorageSpec.this.type
    Definition Classes
    Nameable
  47. def toString(): String
    Definition Classes
    Nameable → AnyRef → Any
  48. def unsetName(): StorageSpec.this.type
    Definition Classes
    Nameable