Packages

o

vexiiriscv

Global

object Global extends AreaRoot

Define global variables for plugin to share in non-verbose ways

A few notes about physical/virtual/mixed addresses, as they are a tricky thing if you try to scrap away any unecessary bit : In RISC-V, the addresses manipulated by the CPU before the MMU can be physical or virtual. The thing is that Physical addresses are unsigned, while virtual addresses are signed (so sign extended to XLEN). So let's say you have : - 32 bits physical address width - 39 bits virtual address width Then, addresses in the CPU before the MMU (mixed addresses) need to have 40 bits (39 bits + 1 bit of sign extension), that allow for instance : - physical address trap at 0x40_0000_0000 to be stored in let's say MEPC to store that address while avoiding the sign extension

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

Type Members

  1. abstract type RefOwnerType
    Definition Classes
    OwnableRef

Value Members

  1. val CODE: NamedType[Bits]
  2. val CODE_WIDTH: ElementBlocking[Int]
  3. val COMMIT: NamedType[Bool]
  4. val COMPLETED: NamedType[Bool]
  5. val HART_COUNT: ElementBlocking[Int]
  6. val HART_ID: NamedType[UInt]
  7. def HART_ID_WIDTH: Int
  8. val MIXED_ADDRESS: NamedType[UInt]
  9. val MIXED_WIDTH: ElementBlocking[Int]
  10. val PC: NamedType[UInt]
  11. val PC_TARGET: NamedType[UInt]
  12. val PC_WIDTH: ElementBlocking[Int]
  13. val PHYSICAL_ADDRESS: NamedType[UInt]
  14. val PHYSICAL_WIDTH: ElementBlocking[Int]
  15. val TRAP: NamedType[Bool]
  16. val TRAP_ARG: NamedType[Bits]
  17. val TRAP_ARG_WIDTH: ElementBlocking[Int]
  18. val TVAL: NamedType[Bits]
  19. val TVAL_WIDTH: ElementBlocking[Int]
  20. val VIRTUAL_WIDTH: ElementBlocking[Int]
  21. val _context: Capture
    Definition Classes
    Area
  22. def childNamePriority: Byte
    Definition Classes
    Area
  23. def component: Component
    Definition Classes
    ContextUser
  24. def equals(obj: Any): Boolean
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  25. def expendPc(pc: UInt, width: Int): UInt
  26. def foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit
    Definition Classes
    Nameable
  27. def getDisplayName(): String
    Definition Classes
    Nameable
  28. def getInstanceCounter: Int
    Definition Classes
    ContextUser
  29. def getName(default: String): String
    Definition Classes
    NameableByComponent → Nameable
  30. def getName(): String
    Definition Classes
    NameableByComponent → Nameable
  31. def getPartialName(): String
    Definition Classes
    Nameable
  32. def getPath(from: Component, to: Component): Seq[Component]
    Definition Classes
    NameableByComponent
  33. def getRefOwnersChain(): List[Any]
    Definition Classes
    OwnableRef
  34. def getScalaLocationLong: String
    Definition Classes
    ScalaLocated
  35. def getScalaLocationShort: String
    Definition Classes
    ScalaLocated
  36. def getScalaTrace(): Throwable
    Definition Classes
    ScalaLocated
  37. val globalData: GlobalData
    Definition Classes
    GlobalDataUser
  38. def hartsIds: Range
  39. def hashCode(): Int
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  40. def isCompletelyUnnamed: Boolean
    Definition Classes
    Nameable
  41. final def isNamed: Boolean
    Definition Classes
    Nameable
  42. def isPriorityApplicable(namePriority: Byte): Boolean
    Definition Classes
    Nameable
  43. def isUnnamed: Boolean
    Definition Classes
    NameableByComponent → Nameable
  44. val name: String
    Definition Classes
    Nameable
  45. def overrideLocalName(name: String): Global.this.type
    Definition Classes
    Nameable
  46. val parentScope: ScopeStatement
    Definition Classes
    ContextUser
  47. def pcWithSignMsb: Boolean
  48. val refOwner: RefOwnerType
    Definition Classes
    OwnableRef
    Annotations
    @DontName()
  49. def reflectNames(): Unit
    Definition Classes
    Nameable
  50. def rework[T](body: ⇒ T): T
    Definition Classes
    Area
  51. val scalaTrace: Throwable
    Definition Classes
    ScalaLocated
  52. def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): Global.this.type
    Definition Classes
    Nameable
  53. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): Global.this.type
    Definition Classes
    Nameable
  54. def setCompositeName(nameable: Nameable, postfix: String): Global.this.type
    Definition Classes
    Nameable
  55. def setCompositeName(nameable: Nameable, namePriority: Byte): Global.this.type
    Definition Classes
    Nameable
  56. def setCompositeName(nameable: Nameable, weak: Boolean): Global.this.type
    Definition Classes
    Nameable
  57. def setCompositeName(nameable: Nameable): Global.this.type
    Definition Classes
    Nameable
  58. def setLambdaName(isNameBody: ⇒ Boolean)(nameGen: ⇒ String): Global.this.type
    Definition Classes
    Nameable
  59. def setName(name: String, namePriority: Byte): Global.this.type
    Definition Classes
    Nameable
  60. def setName(name: String, weak: Boolean): Global.this.type
    Definition Classes
    Nameable
  61. def setName(name: String): Global.this.type
    Definition Classes
    Nameable
  62. def setNameAsWeak(): Global.this.type
    Definition Classes
    Nameable
  63. def setPartialName(name: String, namePriority: Byte, owner: Any): Global.this.type
    Definition Classes
    Nameable
  64. def setPartialName(name: String, namePriority: Byte): Global.this.type
    Definition Classes
    Nameable
  65. def setPartialName(name: String, weak: Boolean): Global.this.type
    Definition Classes
    Nameable
  66. def setPartialName(owner: Nameable, name: String, namePriority: Byte): Global.this.type
    Definition Classes
    Nameable
  67. def setPartialName(owner: Nameable, name: String, weak: Boolean): Global.this.type
    Definition Classes
    Nameable
  68. def setPartialName(name: String): Global.this.type
    Definition Classes
    Nameable
  69. def setPartialName(owner: Nameable, name: String): Global.this.type
    Definition Classes
    Nameable
  70. def setPartialName(owner: Nameable): Global.this.type
    Definition Classes
    Nameable
  71. def setRefOwner(that: Any): Unit
    Definition Classes
    OwnableRef
  72. def setScalaLocated(source: ScalaLocated): Global.this.type
    Definition Classes
    ScalaLocated
  73. def setWeakName(name: String): Global.this.type
    Definition Classes
    Nameable
  74. def toString(): String
    Definition Classes
    Area → Nameable → AnyRef → Any
  75. def unsetName(): Global.this.type
    Definition Classes
    Nameable
  76. def valCallback[T](ref: T, name: String): T
    Definition Classes
    ValCallbackRec → ValCallback
  77. def valCallbackOn(ref: Any, name: String, refs: Set[Any]): Unit
    Definition Classes
    ValCallbackRec
  78. def valCallbackRec(obj: Any, name: String): Unit
    Definition Classes
    Area → ValCallbackRec