c

vexiiriscv.regfile

RegFilePlugin

class RegFilePlugin extends FiberPlugin with RegfileService with InitService

Implement a register file in the CPU and provide an API for other plugins to create read and write access ports

Linear Supertypes
InitService, RegfileService, FiberPlugin, Hostable, Area, OverridedEqualsHashCode, ValCallbackRec, ValCallback, NameableByComponent, Nameable, ContextUser, ScalaLocated, GlobalDataUser, OwnableRef, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RegFilePlugin
  2. InitService
  3. RegfileService
  4. FiberPlugin
  5. Hostable
  6. Area
  7. OverridedEqualsHashCode
  8. ValCallbackRec
  9. ValCallback
  10. NameableByComponent
  11. Nameable
  12. ContextUser
  13. ScalaLocated
  14. GlobalDataUser
  15. OwnableRef
  16. AnyRef
  17. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RegFilePlugin(spec: RegfileSpec, physicalDepth: Int, preferedWritePortForInit: String, asyncReadBySyncReadRevertedClk: Boolean = false, allOne: Boolean = false, syncRead: Boolean = true, dualPortRam: Boolean = true, latchBased: Boolean = false, maskReadDuringWrite: Boolean = false)

Type Members

  1. abstract type RefOwnerType
    Definition Classes
    OwnableRef
  2. case class WriteSpec(port: RegFileWrite, withReady: Boolean, sharingKey: Any, priority: Int) extends Product with Serializable

Value Members

  1. val _context: Capture
    Definition Classes
    Area
  2. def addService[T](that: T): T
    Definition Classes
    FiberPlugin
  3. def addressWidth: Int
  4. var allOne: Boolean
  5. var asyncReadBySyncReadRevertedClk: Boolean
  6. def awaitBuild(): Unit
    Definition Classes
    FiberPlugin
  7. def buildBefore(l: ⇒ Lock): Unit
    Definition Classes
    FiberPlugin
  8. var buildCount: Int
    Definition Classes
    FiberPlugin
  9. def childNamePriority: Byte
    Definition Classes
    Area
  10. def component: Component
    Definition Classes
    ContextUser
  11. def dataWidth: Int
  12. var dualPortRam: Boolean
  13. def during: AnyRef { ... /* 2 definitions in type refinement */ }
    Definition Classes
    FiberPlugin
  14. val elaborationLock: Retainer
    Definition Classes
    RegfileService
  15. def equals(obj: Any): Boolean
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  16. def foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit
    Definition Classes
    Nameable
  17. def getDisplayName(): String
    Definition Classes
    Nameable
  18. def getInstanceCounter: Int
    Definition Classes
    ContextUser
  19. def getName(default: String): String
    Definition Classes
    NameableByComponent → Nameable
  20. def getName(): String
    Definition Classes
    NameableByComponent → Nameable
  21. def getPartialName(): String
    Definition Classes
    Nameable
  22. def getPath(from: Component, to: Component): Seq[Component]
    Definition Classes
    NameableByComponent
  23. def getPhysicalDepth: Int
    Definition Classes
    RegFilePluginRegfileService
  24. def getRefOwnersChain(): List[Any]
    Definition Classes
    OwnableRef
  25. def getScalaLocationLong: String
    Definition Classes
    ScalaLocated
  26. def getScalaLocationShort: String
    Definition Classes
    ScalaLocated
  27. def getScalaTrace(): Throwable
    Definition Classes
    ScalaLocated
  28. def getWrites(): Seq[RegFileWrite]
    Definition Classes
    RegFilePluginRegfileService
  29. val globalData: GlobalData
    Definition Classes
    GlobalDataUser
  30. def hashCode(): Int
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  31. var host: PluginHost
    Definition Classes
    FiberPlugin
  32. val hostLock: Lock
    Definition Classes
    FiberPlugin
  33. def initHold(): Bool
    Definition Classes
    RegFilePluginInitService
  34. def isCompletelyUnnamed: Boolean
    Definition Classes
    Nameable
  35. final def isNamed: Boolean
    Definition Classes
    Nameable
  36. def isPriorityApplicable(namePriority: Byte): Boolean
    Definition Classes
    Nameable
  37. def isUnnamed: Boolean
    Definition Classes
    NameableByComponent → Nameable
  38. var latchBased: Boolean
  39. val lockables: LinkedHashSet[() ⇒ Lock]
    Definition Classes
    FiberPlugin
  40. val logic: Handle[Area { ... /* 6 definitions in type refinement */ }]
  41. var maskReadDuringWrite: Boolean
  42. val name: String
    Definition Classes
    Nameable
  43. def newRead(withReady: Boolean): RegFileRead
    Definition Classes
    RegFilePluginRegfileService
  44. def newWrite(withReady: Boolean, sharingKey: Any = new{}, priority: Int = 0): RegFileWrite
    Definition Classes
    RegFilePluginRegfileService
  45. def overrideLocalName(name: String): RegFilePlugin.this.type
    Definition Classes
    Nameable
  46. val parentScope: ScopeStatement
    Definition Classes
    ContextUser
  47. var physicalDepth: Int
  48. var pluginEnabled: Boolean
    Definition Classes
    FiberPlugin
  49. var preferedWritePortForInit: String
  50. def readLatency: Int
    Definition Classes
    RegFilePluginRegfileService
  51. val reads: ArrayBuffer[RegFileRead]
  52. val refOwner: RefOwnerType
    Definition Classes
    OwnableRef
    Annotations
    @DontName()
  53. def reflectNames(): Unit
    Definition Classes
    Nameable
  54. def retains(head: Any, tail: Any*): RetainerGroup
    Definition Classes
    FiberPlugin
  55. def retains(that: Seq[Any]): RetainerGroup
    Definition Classes
    FiberPlugin
  56. def rework[T](body: ⇒ T): T
    Definition Classes
    Area
  57. def rfSpec: RegfileSpec
    Definition Classes
    RegFilePluginRegfileService
  58. lazy val rfpp: RegFilePortParam
  59. val scalaTrace: Throwable
    Definition Classes
    ScalaLocated
  60. def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): RegFilePlugin.this.type
    Definition Classes
    Nameable
  61. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): RegFilePlugin.this.type
    Definition Classes
    Nameable
  62. def setCompositeName(nameable: Nameable, postfix: String): RegFilePlugin.this.type
    Definition Classes
    Nameable
  63. def setCompositeName(nameable: Nameable, namePriority: Byte): RegFilePlugin.this.type
    Definition Classes
    Nameable
  64. def setCompositeName(nameable: Nameable, weak: Boolean): RegFilePlugin.this.type
    Definition Classes
    Nameable
  65. def setCompositeName(nameable: Nameable): RegFilePlugin.this.type
    Definition Classes
    Nameable
  66. def setHost(h: PluginHost): Unit
    Definition Classes
    FiberPlugin → Hostable
  67. def setLambdaName(isNameBody: ⇒ Boolean)(nameGen: ⇒ String): RegFilePlugin.this.type
    Definition Classes
    Nameable
  68. def setName(name: String, namePriority: Byte): RegFilePlugin.this.type
    Definition Classes
    Nameable
  69. def setName(name: String, weak: Boolean): RegFilePlugin.this.type
    Definition Classes
    Nameable
  70. def setName(name: String): RegFilePlugin.this.type
    Definition Classes
    Nameable
  71. def setNameAsWeak(): RegFilePlugin.this.type
    Definition Classes
    Nameable
  72. def setPartialName(name: String, namePriority: Byte, owner: Any): RegFilePlugin.this.type
    Definition Classes
    Nameable
  73. def setPartialName(name: String, namePriority: Byte): RegFilePlugin.this.type
    Definition Classes
    Nameable
  74. def setPartialName(name: String, weak: Boolean): RegFilePlugin.this.type
    Definition Classes
    Nameable
  75. def setPartialName(owner: Nameable, name: String, namePriority: Byte): RegFilePlugin.this.type
    Definition Classes
    Nameable
  76. def setPartialName(owner: Nameable, name: String, weak: Boolean): RegFilePlugin.this.type
    Definition Classes
    Nameable
  77. def setPartialName(name: String): RegFilePlugin.this.type
    Definition Classes
    Nameable
  78. def setPartialName(owner: Nameable, name: String): RegFilePlugin.this.type
    Definition Classes
    Nameable
  79. def setPartialName(owner: Nameable): RegFilePlugin.this.type
    Definition Classes
    Nameable
  80. def setRefOwner(that: Any): Unit
    Definition Classes
    OwnableRef
  81. def setScalaLocated(source: ScalaLocated): RegFilePlugin.this.type
    Definition Classes
    ScalaLocated
  82. def setWeakName(name: String): RegFilePlugin.this.type
    Definition Classes
    Nameable
  83. def setupRetain(l: ⇒ Lock): Unit
    Definition Classes
    FiberPlugin
  84. var spec: RegfileSpec
  85. val subservices: ArrayBuffer[Any]
    Definition Classes
    FiberPlugin
  86. var syncRead: Boolean
  87. def toString(): String
    Definition Classes
    Area → Nameable → AnyRef → Any
  88. def unsetName(): RegFilePlugin.this.type
    Definition Classes
    Nameable
  89. def valCallback[T](ref: T, name: String): T
    Definition Classes
    ValCallbackRec → ValCallback
  90. def valCallbackOn(ref: Any, name: String, refs: Set[Any]): Unit
    Definition Classes
    ValCallbackRec
  91. def valCallbackRec(obj: Any, name: String): Unit
    Definition Classes
    Area → ValCallbackRec
  92. def withPrefix(prefix: String): FiberPlugin
    Definition Classes
    FiberPlugin
  93. def writeLatency: Int
    Definition Classes
    RegFilePluginRegfileService
  94. val writes: ArrayBuffer[WriteSpec]