Packages

class Soc extends Component

This is the VexiiRiscv SoC toplevel used with Litex. - Based on tilelink for its memory interconnect - Integrate the PLIC and CLINT peripherals - Access the main memory through a dedicated AXI bus instead of the regular litex wishbone (for performance reasons) - Can be multicore - Implement memory coherency between the code and a AXI DMA access bus - Has an option L2 cache - Supports JTAG debug - Supports a SpinalHDL HDMI and Ethernet controller

The SpinalHDL RGMII ethernet linux driver is implemented here : - https://github.com/Dolu1990/litex-linux/tree/spinal-sgmac/drivers/net/ethernet/spinal

It can be enabled in linux DTS via for instance : mac0: mac@f1000000 { compatible = "spinal,sgeth"; reg = <0xf1000000 0x100>, <0xf1000100 0x100>, <0xf1000200 0x100>; reg-names = "mac", "tx-dma", "rx-dma"; interrupts = <40 41>; interrupt-names = "tx-dma", "rx-dma"; status = "okay"; };

Also, be sure the the PLIC's riscv,ndev is set high enough (ex riscv,ndev = <64>; )

Linear Supertypes
Component, ValCallbackRec, ValCallback, OverridedEqualsHashCode, SpinalTagReady, Stackable, PostInitCallback, NameableByComponent, Nameable, ContextUser, ScalaLocated, GlobalDataUser, OwnableRef, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Soc
  2. Component
  3. ValCallbackRec
  4. ValCallback
  5. OverridedEqualsHashCode
  6. SpinalTagReady
  7. Stackable
  8. PostInitCallback
  9. NameableByComponent
  10. Nameable
  11. ContextUser
  12. ScalaLocated
  13. GlobalDataUser
  14. OwnableRef
  15. AnyRef
  16. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Soc(c: SocConfig)

Type Members

  1. case class PrePopTask extends Product with Serializable
    Definition Classes
    Component
  2. abstract type RefOwnerType
    Definition Classes
    OwnableRef

Value Members

  1. val _spinalTags: LinkedHashSet[SpinalTag]
    Definition Classes
    SpinalTagReady
  2. def addAttribute(attribute: Attribute): Soc.this.type
    Definition Classes
    Component → SpinalTagReady
  3. def addAttribute(name: String, value: Int): Soc.this.type
    Definition Classes
    SpinalTagReady
  4. def addAttribute(name: String, value: String): Soc.this.type
    Definition Classes
    SpinalTagReady
  5. def addAttribute(name: String): Soc.this.type
    Definition Classes
    SpinalTagReady
  6. def addComment(str: String): Component
    Definition Classes
    Component
  7. def addPrePopTask(task: () ⇒ Unit): ArrayBuffer[PrePopTask]
    Definition Classes
    Component
  8. def addTag[T <: SpinalTag](spinalTag: T): Soc.this.type
    Definition Classes
    SpinalTagReady
  9. def addTags(h: SpinalTag, tail: SpinalTag*): Soc.this.type
    Definition Classes
    SpinalTagReady
  10. def addTags[T <: SpinalTag](tags: Iterable[T]): Soc.this.type
    Definition Classes
    SpinalTagReady
  11. def afterElaboration(body: ⇒ Unit): ArrayBuffer[PrePopTask]
    Definition Classes
    Component
  12. def asFormalDut(): Soc.this.type
    Definition Classes
    Component
  13. val children: ArrayBuffer[Component]
    Definition Classes
    Component
  14. val clockDomain: Handle[ClockDomain]
    Definition Classes
    Component
  15. def component: Component
    Definition Classes
    ContextUser
  16. val cpuCd: ClockDomain
  17. val cpuClk: ClockDomain
  18. val cpuResetCtrl: ResetCtrlFiber
  19. val debug: DebugModuleSocFiber
  20. val debugReset: Bool
  21. val definition: $anon forSome {type $anon <: SpinalTagReady { def addComment(str: String): $anon }}
    Definition Classes
    Component
  22. var definitionName: String
    Definition Classes
    Component
  23. var definitionNameNoMerge: Boolean
    Definition Classes
    Component
  24. val dslBody: ScopeStatement
    Definition Classes
    Component
  25. def equals(obj: Any): Boolean
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  26. def existsTag(cond: (SpinalTag) ⇒ Boolean): Boolean
    Definition Classes
    SpinalTagReady
  27. def filterTag(cond: (SpinalTag) ⇒ Boolean): Iterable[SpinalTag]
    Definition Classes
    SpinalTagReady
  28. def findTag(cond: (SpinalTag) ⇒ Boolean): Option[SpinalTag]
    Definition Classes
    SpinalTagReady
  29. def foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit
    Definition Classes
    Nameable
  30. def foreachTag(body: (SpinalTag) ⇒ Unit): Unit
    Definition Classes
    SpinalTagReady
  31. def getAllIo: Set[BaseType]
    Definition Classes
    Component
  32. def getDisplayName(): String
    Definition Classes
    Component → Nameable
  33. def getGroupedIO(ioBundleBypass: Boolean): Seq[Data]
    Definition Classes
    Component
  34. def getInstanceCounter: Int
    Definition Classes
    ContextUser
  35. def getName(default: String): String
    Definition Classes
    NameableByComponent → Nameable
  36. def getName(): String
    Definition Classes
    NameableByComponent → Nameable
  37. def getOrdredNodeIo: List[BaseType]
    Definition Classes
    Component
  38. def getParentsPath(sep: String): String
    Definition Classes
    Component
  39. def getPartialName(): String
    Definition Classes
    Nameable
  40. def getPath(sep: String): String
    Definition Classes
    Component
  41. def getPath(from: Component, to: Component): Seq[Component]
    Definition Classes
    NameableByComponent
  42. def getRefOwnersChain(): List[Any]
    Definition Classes
    OwnableRef
  43. def getRtlPath(separator: String): String
    Definition Classes
    Component
  44. def getScalaLocationLong: String
    Definition Classes
    ScalaLocated
  45. def getScalaLocationShort: String
    Definition Classes
    ScalaLocated
  46. def getScalaTrace(): Throwable
    Definition Classes
    ScalaLocated
  47. def getTag[T <: SpinalTag](clazz: Class[T]): Option[T]
    Definition Classes
    SpinalTagReady
  48. def getTags(): LinkedHashSet[SpinalTag]
    Definition Classes
    SpinalTagReady
  49. val globalData: GlobalData
    Definition Classes
    GlobalDataUser
  50. def hasTag[T <: SpinalTag](clazz: Class[T]): Boolean
    Definition Classes
    SpinalTagReady
  51. def hasTag(spinalTag: SpinalTag): Boolean
    Definition Classes
    SpinalTagReady
  52. def hashCode(): Int
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  53. def instanceAttributes(language: Language): Iterable[Attribute]
    Definition Classes
    SpinalTagReady
  54. def instanceAttributes: Iterable[Attribute]
    Definition Classes
    SpinalTagReady
  55. def isCompletelyUnnamed: Boolean
    Definition Classes
    Nameable
  56. def isEmptyOfTag: Boolean
    Definition Classes
    SpinalTagReady
  57. var isFormalTester: Boolean
    Definition Classes
    Component
  58. def isLogicLess: Boolean
    Definition Classes
    Component
  59. final def isNamed: Boolean
    Definition Classes
    Nameable
  60. def isPriorityApplicable(namePriority: Byte): Boolean
    Definition Classes
    Nameable
  61. def isUnnamed: Boolean
    Definition Classes
    NameableByComponent → Nameable
  62. val litexCd: ClockDomain
  63. var localNamingScope: NamingScope
    Definition Classes
    Component
  64. val name: String
    Definition Classes
    Nameable
  65. def noIoPrefix(): Soc.this.type
    Definition Classes
    Component
  66. def onBody[T](body: ⇒ T): T
    Definition Classes
    Component
  67. def onEachAttributes(doIt: (Attribute) ⇒ Unit): Unit
    Definition Classes
    SpinalTagReady
  68. def overrideLocalName(name: String): Soc.this.type
    Definition Classes
    Nameable
  69. def parent: Component
    Definition Classes
    Component
  70. val parentScope: ScopeStatement
    Definition Classes
    ContextUser
  71. def parents(of: Component, list: List[Component]): List[Component]
    Definition Classes
    Component
  72. def postInitCallback(): Soc.this.type
    Definition Classes
    Component → PostInitCallback
  73. def postPopEvent(): Unit
    Definition Classes
    Stackable
  74. def postPushEvent(): Unit
    Definition Classes
    Component → Stackable
  75. def prePop(): Unit
    Definition Classes
    Component
  76. def prePopEvent(): Unit
    Definition Classes
    Component → Stackable
  77. var pulledDataCache: Map[Data, Data]
    Definition Classes
    Component
  78. val refOwner: RefOwnerType
    Definition Classes
    OwnableRef
    Annotations
    @DontName()
  79. def reflectBaseType(name: String): BaseType
    Definition Classes
    Component
  80. def reflectNames(): Unit
    Definition Classes
    Nameable
  81. def removeTag(spinalTag: SpinalTag): Soc.this.type
    Definition Classes
    SpinalTagReady
  82. def removeTags(tags: Iterable[SpinalTag]): Soc.this.type
    Definition Classes
    SpinalTagReady
  83. def rework[T](gen: ⇒ T): T
    Definition Classes
    Component
  84. val scalaTrace: Throwable
    Definition Classes
    ScalaLocated
  85. val scopeProperties: Capture
    Definition Classes
    Component
  86. def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): Soc.this.type
    Definition Classes
    Nameable
  87. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): Soc.this.type
    Definition Classes
    Nameable
  88. def setCompositeName(nameable: Nameable, postfix: String): Soc.this.type
    Definition Classes
    Nameable
  89. def setCompositeName(nameable: Nameable, namePriority: Byte): Soc.this.type
    Definition Classes
    Nameable
  90. def setCompositeName(nameable: Nameable, weak: Boolean): Soc.this.type
    Definition Classes
    Nameable
  91. def setCompositeName(nameable: Nameable): Soc.this.type
    Definition Classes
    Nameable
  92. def setDefinitionName(name: String, noMerge: Boolean): Soc.this.type
    Definition Classes
    Component
  93. def setFormalTester(): Unit
    Definition Classes
    Component
  94. def setLambdaName(isNameBody: ⇒ Boolean)(nameGen: ⇒ String): Soc.this.type
    Definition Classes
    Nameable
  95. def setName(name: String, namePriority: Byte): Soc.this.type
    Definition Classes
    Nameable
  96. def setName(name: String, weak: Boolean): Soc.this.type
    Definition Classes
    Nameable
  97. def setName(name: String): Soc.this.type
    Definition Classes
    Nameable
  98. def setNameAsWeak(): Soc.this.type
    Definition Classes
    Nameable
  99. def setPartialName(name: String, namePriority: Byte, owner: Any): Soc.this.type
    Definition Classes
    Nameable
  100. def setPartialName(name: String, namePriority: Byte): Soc.this.type
    Definition Classes
    Nameable
  101. def setPartialName(name: String, weak: Boolean): Soc.this.type
    Definition Classes
    Nameable
  102. def setPartialName(owner: Nameable, name: String, namePriority: Byte): Soc.this.type
    Definition Classes
    Nameable
  103. def setPartialName(owner: Nameable, name: String, weak: Boolean): Soc.this.type
    Definition Classes
    Nameable
  104. def setPartialName(name: String): Soc.this.type
    Definition Classes
    Nameable
  105. def setPartialName(owner: Nameable, name: String): Soc.this.type
    Definition Classes
    Nameable
  106. def setPartialName(owner: Nameable): Soc.this.type
    Definition Classes
    Nameable
  107. def setRefOwner(that: Any): Unit
    Definition Classes
    OwnableRef
  108. def setScalaLocated(source: ScalaLocated): Soc.this.type
    Definition Classes
    ScalaLocated
  109. def setWeakName(name: String): Soc.this.type
    Definition Classes
    Nameable
  110. def spinalTags: LinkedHashSet[SpinalTag]
    Definition Classes
    SpinalTagReady
  111. def stub(): Soc.this.type
    Definition Classes
    Component
  112. val system: AreaRoot { ... /* 15 definitions in type refinement */ }
  113. def toString(): String
    Definition Classes
    Nameable → AnyRef → Any
  114. def traceDisable(recursive: Boolean): Soc.this.type
    Definition Classes
    Component
  115. def traceEnable(recursive: Boolean): Soc.this.type
    Definition Classes
    Component
  116. var traceEnabled: Boolean
    Definition Classes
    Component
  117. def unsetName(): Soc.this.type
    Definition Classes
    Nameable
  118. val userCache: Map[Any, Any]
    Definition Classes
    Component
  119. def valCallback[T](ref: T, name: String): T
    Definition Classes
    ValCallbackRec → ValCallback
  120. def valCallbackOn(ref: Any, name: String, refs: Set[Any]): Unit
    Definition Classes
    ValCallbackRec
  121. def valCallbackRec(ref: Any, name: String): Unit
    Definition Classes
    Component → ValCallbackRec
  122. def walkComponents(body: (Component) ⇒ Unit): Unit
    Definition Classes
    Component
  123. def withAutoPull(): Unit
    Definition Classes
    Component
  124. var withHierarchyAutoPull: Boolean
    Definition Classes
    Component
  125. def withKeywords(): Unit
    Definition Classes
    Component
  126. var withVitalOutputs: Boolean
    Definition Classes
    Component
  127. def withoutKeywords(): Unit
    Definition Classes
    Component
  128. var withoutReservedKeywords: Boolean
    Definition Classes
    Component