Package

spinal

core

Permalink

package core

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. core
  2. BaseTypeCast
  3. UFixCast
  4. SFixCast
  5. BaseTypeFactory
  6. UFixFactory
  7. SFixFactory
  8. TypeFactory
  9. VecFactory
  10. SIntFactory
  11. UIntFactory
  12. BitsFactory
  13. BoolFactory
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait AllowIoBundle extends AnyRef

    Permalink
  2. trait Area extends NameableByComponent with ContextUser with OwnableRef with ScalaLocated with ValCallbackRec with OverridedEqualsHashCode

    Permalink
  3. trait AssertNodeSeverity extends AnyRef

    Permalink
  4. trait Assignable extends AnyRef

    Permalink

    Assignable trait

  5. trait Attribute extends SpinalTag

    Permalink
  6. class AttributeFlag extends Attribute

    Permalink
  7. class AttributeInteger extends Attribute

    Permalink
  8. sealed trait AttributeKind extends AnyRef

    Permalink
  9. class AttributeString extends Attribute

    Permalink
  10. abstract class BaseType extends Data with DeclarationStatement with StatementDoubleLinkedContainer[BaseType, AssignmentStatement] with Expression

    Permalink

    Abstract base class of all Spinal types

  11. trait BaseTypeCast extends SFixCast with UFixCast

    Permalink

    Base type Cast

  12. trait BaseTypeFactory extends BoolFactory with BitsFactory with UIntFactory with SIntFactory with VecFactory with SFixFactory with UFixFactory

    Permalink

    Base type factory

  13. implicit class BigDecimalBuilder extends AnyRef

    Permalink

    BigDecimal Builder

  14. case class BigIntBuilder(i: BigInt) extends Product with Serializable

    Permalink

    BigInt Builder

  15. case class BitCount(value: Int) extends Product with Serializable

    Permalink

    Represent the number of bit of a data

  16. abstract class BitVector extends BaseType with Widthable

    Permalink

    BitVector is a family of types for storing multiple bits of information in a single value.

    BitVector is a family of types for storing multiple bits of information in a single value. This type has three subtypes that can be used to model different behaviours:

    • Bits
    • UInt (unsigned integer)
    • SInt (signed integer)
    See also

    BitVector Documentation

  17. abstract class BitVectorLiteralFactory[T <: BitVector] extends AnyRef

    Permalink

    Base class to create Bit Vector from literal

  18. class Bits extends BitVector with DataPrimitives[Bits] with BitwiseOp[Bits]

    Permalink

    The Bits type corresponds to a vector of bits that does not convey any arithmetic meaning.

    The Bits type corresponds to a vector of bits that does not convey any arithmetic meaning.

    Example:
    1. val myBits1 = Bits(32 bits)
      val myBits2 = B(25, 8 bits)
      val myBits3 = B"8'xFF"
      val myBits4 = B"1001_0011
    See also

    Bits Documentation

  19. trait BitsFactory extends AnyRef

    Permalink

    Bits factory used for instance by the IODirection to create a in/out Bits

  20. trait BitwiseOp[T <: Data] extends AnyRef

    Permalink

    Bitwise Operation

    Bitwise Operation

    T

    the type which is associated with the bitwise operation

  21. abstract class BlackBox extends Component

    Permalink

    A blackbox allows the user to integrate an existing VHDL/Verilog component into the design by just specifying the interfaces.

    A blackbox allows the user to integrate an existing VHDL/Verilog component into the design by just specifying the interfaces.

    Example:
    1.  class Ram_1w_1r(wordWidth: Int, wordCount: Int) extends BlackBox {
           val generic = new Generic {
               val wordCount = Ram_1w_1r.this.wordCount
               val wordWidth = Ram_1w_1r.this.wordWidth
           }
           val io = new Bundle {
               val clk = in Bool
               val wr = new Bundle {
                   val en   = in Bool
                   val addr = in UInt (log2Up(wordCount) bit)
                   val data = in Bits (wordWidth bit)
               }
               val rd = new Bundle {
                   val en   = in Bool
                   val addr = in UInt (log2Up(wordCount) bit)
                   val data = out Bits (wordWidth bit)
               }
           }
           mapClockDomain(clock=io.clk)
      }
  22. abstract class BlackBoxULogic extends BlackBox

    Permalink

    Create a blackBox with std_ulogic instead of std_logic

  23. class Bool extends BaseType with DataPrimitives[Bool] with BitwiseOp[Bool]

    Permalink

    The Bool type corresponds to a boolean value (True or False)

    The Bool type corresponds to a boolean value (True or False)

    Example:
    1. val myBool = Bool()
      myBool := False
      myBool := Bool(false)
    See also

    Bool Documentation

  24. case class BoolEdges() extends Bundle with Product with Serializable

    Permalink

    Bundle for the edge detection

  25. trait BoolFactory extends AnyRef

    Permalink

    Bool factory used for instance by the IODirection to create a in/out Bool

  26. class Bundle extends MultiData with Nameable with ValCallbackRec

    Permalink
  27. class BundleCase extends Bundle

    Permalink
  28. case class ClockDomain(clock: Bool, reset: Bool = null, dummyArg: DummyTrait = null, softReset: Bool = null, clockEnable: Bool = null, config: ClockDomainConfig = GlobalData.get.commonClockConfig, frequency: ClockFrequency = UnknownFrequency(), clockEnableDivisionRate: DivisionRate = ClockDomain.UnknownDivisionRate()) extends Product with Serializable

    Permalink

    clock and reset signals can be combined to create a clock domain.

    clock and reset signals can be combined to create a clock domain. Clock domains could be applied to some area of the design and then all synchronous elements instantiated into this area will then implicitly use this clock domain. Clock domain application work like a stack, which mean, if you are in a given clock domain, you can still apply another clock domain locally

    See also

    ClockDomain Documentation

  29. sealed trait ClockDomainBoolTag extends SpinalTag

    Permalink
  30. case class ClockDomainConfig(clockEdge: EdgeKind = RISING, resetKind: ResetKind = ASYNC, resetActiveLevel: Polarity = HIGH, softResetActiveLevel: Polarity = HIGH, clockEnableActiveLevel: Polarity = HIGH) extends Product with Serializable

    Permalink
  31. case class ClockDomainTag(clockDomain: ClockDomain) extends SpinalTag with Product with Serializable

    Permalink
  32. case class ClockDrivedTag(driver: Bool) extends SpinalTag with Product with Serializable

    Permalink
  33. case class ClockDriverTag(drived: Bool) extends SpinalTag with Product with Serializable

    Permalink
  34. class ClockEnableArea extends Area with PostInitCallback

    Permalink

    Clock Area with a specila clock enable

  35. case class ClockEnableTag(clockDomain: ClockDomain) extends ClockDomainBoolTag with Product with Serializable

    Permalink
  36. case class ClockSyncTag(a: Bool, b: Bool) extends SpinalTag with Product with Serializable

    Permalink
  37. case class ClockTag(clockDomain: ClockDomain) extends ClockDomainBoolTag with Product with Serializable

    Permalink
  38. class ClockingArea extends Area with PostInitCallback

    Permalink

    Clock domains could be applied to some area of the design and then all synchronous elements instantiated into this area will then implicitly use this clock domain.

    Clock domains could be applied to some area of the design and then all synchronous elements instantiated into this area will then implicitly use this clock domain.

    See also

    ClockDomain Documentation

  39. abstract class Component extends NameableByComponent with ContextUser with ScalaLocated with PostInitCallback with Stackable with OwnableRef with SpinalTagReady with OverridedEqualsHashCode with ValCallbackRec

    Permalink

    Abstract class used to create a new Component

    Abstract class used to create a new Component

    Example:
    1. class MyAndGate extends Component {
        val io = new Bundle{
          val a,b = in Bool
          val res = out Bool
        }
        io.res := io.a & io.b
      }
    See also

    Component Documentation

  40. class Composite[T <: Nameable] extends Area

    Permalink

    Sometime, creating a Component to define some logic is overkill.

    Sometime, creating a Component to define some logic is overkill. For this kind of cases you can use Area to define a group of signals/logic.

    Example:
    1. val tickConter = new Area{
        val tick = Reg(UInt(8 bits) init(0)
        tick := tick + 1
      }
    See also

    Area Documentation

  41. trait ConditionalContext extends GlobalDataUser

    Permalink
  42. trait ContextUser extends GlobalDataUser with ScalaLocated

    Permalink
  43. case class CyclesCount(value: BigInt) extends Product with Serializable

    Permalink

    Cycles number representation

  44. trait Data extends ContextUser with NameableByComponent with Assignable with SpinalTagReady with GlobalDataUser with ScalaLocated with OwnableRef with OverridedEqualsHashCode with InComponent

    Permalink
  45. class DataPimper[T <: Data] extends DataPrimitives[T]

    Permalink

    Should not extends AnyVal, Because it create kind of strange call stack move that make error reporting miss accurate

  46. trait DataPrimitives[T <: Data] extends AnyRef

    Permalink
  47. trait DataWrapper extends Data

    Permalink
  48. class DefaultTag extends SpinalTag

    Permalink
  49. case class Device(vendor: String = "?", family: String = "?", name: String = "?") extends Product with Serializable

    Permalink

    target device

  50. class DontName extends Annotation with Annotation with ClassfileAnnotation

    Permalink
  51. case class DoubleBuilder(d: Double) extends Product with Serializable

    Permalink

    Double Builder

  52. trait DummyTrait extends AnyRef

    Permalink
  53. case class DumpWaveConfig(depth: Int = 0, vcdPath: String = "wave.vcd") extends Product with Serializable

    Permalink
  54. sealed trait EdgeKind extends AnyRef

    Permalink
  55. class ElseWhenClause extends AnyRef

    Permalink
  56. implicit class ElseWhenClauseBuilder extends AnyRef

    Permalink

    Implicit clause builder for elseWhen

  57. class EnumLiteral[T <: SpinalEnum] extends Literal with InferableEnumEncodingImpl

    Permalink

    Node representation which contains the value of an SpinalEnumElement

  58. class EnumPoison extends Literal with InferableEnumEncodingImpl

    Permalink
  59. case class ExpNumber(value: Int) extends Product with Serializable

    Permalink

    Exponent representation

  60. class ExternalDriverTag extends SpinalTag

    Permalink
  61. case class FixPointConfig(roundType: RoundType, symmetric: Boolean) extends Product with Serializable

    Permalink
  62. type FixedFrequency = core.ClockDomain.FixedFrequency

    Permalink
  63. class GenerationFlags extends AnyRef

    Permalink
  64. class Generic extends AnyRef

    Permalink

    Create a generic for a BlackBox

    Create a generic for a BlackBox

    Example:
    1. class myMemory(sizeMem: Int) extends BlackBox{
          val generic = new Generic{
           val size = sizeMem
          }
          val io = new Bundle { ... }
      }
  65. case class GenericValue(e: Expression) extends SpinalTag with Product with Serializable

    Permalink
  66. class GlobalData extends AnyRef

    Permalink

    Global data

  67. trait GlobalDataUser extends AnyRef

    Permalink

    Get a link to the globalData

  68. class HardType[T <: Data] extends AnyRef

    Permalink
  69. case class HertzNumber(v: BigDecimal) extends PhysicalNumber[HertzNumber] with Product with Serializable

    Permalink

    Frequency representation

  70. type IClockDomainFrequency = ClockFrequency

    Permalink
  71. trait IODirection extends BaseTypeFactory

    Permalink

    Trait used to set the direction of a data

  72. class IfDefTag extends SpinalTag

    Permalink
  73. abstract class ImplicitArea[T] extends Area

    Permalink

    Create an Area which can be assign to a data

    Create an Area which can be assign to a data

    Example:
    1. class Counter extends ImplicitArea[UInt]{
         val cnt = Reg(UInt(8 bits)
         ...
         override def implicitValue: UInt = cnt
      }
      val myCounter = Counter()
      io.myUInt = myCounter
  74. trait InComponent extends AnyRef

    Permalink
  75. final class IntBuilder extends AnyVal

    Permalink

    Integer Builder

  76. sealed trait Language extends AnyRef

    Permalink
  77. implicit class LiteralBuilder extends AnyRef

    Permalink

    Literal builder S/U/B"e.g. : B"8'xFF"

  78. class MaskedBoolean extends AnyRef

    Permalink

    Masked Literal

    Masked Literal

    Example:
    1. val itMatch = myBits === M"00--10--" // - don't care value
  79. class MaskedLiteral extends AnyRef

    Permalink
  80. class Mem[T <: Data] extends DeclarationStatement with StatementDoubleLinkedContainer[Mem[_], MemPortStatement] with WidthProvider with SpinalTagReady with InComponent

    Permalink
  81. trait MemBlackboxingPolicy extends AnyRef

    Permalink
  82. trait MemPortStatement extends LeafStatement with StatementDoubleLinkedContainerElement[Mem[_], MemPortStatement]

    Permalink
  83. class MemReadAsync extends MemPortStatement with WidthProvider with SpinalTagReady with ContextUser with Expression

    Permalink
  84. class MemReadSync extends MemPortStatement with WidthProvider with SpinalTagReady with ContextUser with Expression

    Permalink
  85. class MemReadWrite extends MemPortStatement with WidthProvider with SpinalTagReady with ContextUser with Expression

    Permalink
  86. case class MemSymbolesMapping(name: String, range: Range) extends Product with Serializable

    Permalink
  87. case class MemSymbolesTag(mapping: Seq[MemSymbolesMapping]) extends SpinalTag with Product with Serializable

    Permalink
  88. trait MemTechnologyKind extends AnyRef

    Permalink
  89. class MemWrite extends MemPortStatement with WidthProvider with SpinalTagReady

    Permalink
  90. class MemWritePayload[T <: Data] extends Bundle

    Permalink
  91. trait MinMaxProvider extends AnyRef

    Permalink

    Min max base function

  92. abstract class MultiData extends Data

    Permalink

    Base class for multi data like Vec, Bundle

  93. trait Nameable extends OwnableRef with ContextUser

    Permalink
  94. trait NameableByComponent extends Nameable with GlobalDataUser

    Permalink
  95. class NamingScope extends AnyRef

    Permalink
  96. trait Num[T <: Data] extends AnyRef

    Permalink

    Base operations for numbers

    Base operations for numbers

    T

    the type which is associated with the base operation

  97. trait OverridedEqualsHashCode extends AnyRef

    Permalink
  98. trait OwnableRef extends AnyRef

    Permalink
  99. abstract class PhysicalNumber[T <: PhysicalNumber[_]] extends AnyRef

    Permalink

    Base class for the Physical representation (Hertz, Time, ...)

  100. sealed trait Polarity extends AnyRef

    Permalink
  101. case class PosCount(value: Int) extends Product with Serializable

    Permalink

    Position representation

  102. case class QFormat(width: Int, fraction: Int, signed: Boolean) extends Product with Serializable

    Permalink
  103. class Ram_1w_1ra extends BlackBox

    Permalink

    Ram 1w 1ra

  104. class Ram_1w_1rs extends BlackBox

    Permalink

    Ram 1w 1rs

  105. class Ram_1wors extends BlackBox

    Permalink

    Ram 1wors

  106. class Ram_1wrs extends BlackBox

    Permalink

    Ram 1wrs

  107. class Ram_2c_1w_1rs extends BlackBox

    Permalink

    Ram 2c 1w 1rs

  108. class Ram_2wrs extends BlackBox

    Permalink

    Ram 2wrs

  109. implicit class RangePimper extends AnyRef

    Permalink

    Implicit Range helper

  110. trait ReadUnderWritePolicy extends AnyRef

    Permalink
  111. case class Ref[T](value: T) extends Product with Serializable

    Permalink

    Use to give value by reference to a function

  112. class ResetArea extends Area with PostInitCallback

    Permalink

    ResetArea allow to reset an area with a special reset combining with the current reset (cumulative)

  113. sealed trait ResetKind extends AnyRef

    Permalink
  114. case class ResetTag(clockDomain: ClockDomain) extends ClockDomainBoolTag with Product with Serializable

    Permalink
  115. sealed trait RoundType extends AnyRef

    Permalink
  116. class SFix extends XFix[SFix, SInt]

    Permalink

    Signed fix point

    Signed fix point

    See also

    SFix Documentation

  117. class SFix2D extends Bundle

    Permalink
  118. trait SFixCast extends AnyRef

    Permalink
  119. trait SFixFactory extends TypeFactory

    Permalink
  120. class SInt extends BitVector with Num[SInt] with MinMaxProvider with DataPrimitives[SInt] with BitwiseOp[SInt]

    Permalink

    The SInt type corresponds to a vector of bits that can be used for signed integer arithmetic.

    The SInt type corresponds to a vector of bits that can be used for signed integer arithmetic.

    Example:
    1. val mySInt = SInt(8 bits)
      mySInt    := S(4, 8 bits) + S"0000_1111"
      mySInt    := S(4) - S"h1A"
    See also

    SInt Documentation

  121. trait SIntFactory extends AnyRef

    Permalink

    SInt factory used for instance by the IODirection to create a in/out SInt

  122. implicit class SIntPimper extends AnyRef

    Permalink

    Implicit SInt helper

  123. class SafeStack[T] extends AnyRef

    Permalink

    Safe Stack

  124. class SafeStackWithStackable[T <: Stackable] extends SafeStack[T]

    Permalink
  125. trait ScalaLocated extends GlobalDataUser

    Permalink
  126. trait ScopeProperty[T] extends AnyRef

    Permalink
  127. class ScopePropertyValue extends AnyRef

    Permalink
  128. case class SlicesCount(value: Int) extends Product with Serializable

    Permalink

    Slice size representation

  129. class SlowArea extends ClockingArea

    Permalink

    Define a clock domain which is x time slower than the current clock

  130. case class SpinalConfig(mode: SpinalMode = null, flags: HashSet[Any] = mutable.HashSet[Any](), debugComponents: HashSet[Class[_]] = mutable.HashSet[Class[_]](), keepAll: Boolean = false, defaultConfigForClockDomains: ClockDomainConfig = ClockDomainConfig(), onlyStdLogicVectorAtTopLevelIo: Boolean = false, defaultClockDomainFrequency: IClockDomainFrequency = UnknownFrequency(), targetDirectory: String = ".", oneFilePerComponent: Boolean = false, netlistFileName: String = null, dumpWave: DumpWaveConfig = null, globalPrefix: String = "", privateNamespace: Boolean = false, formalAsserts: Boolean = false, anonymSignalPrefix: String = null, device: Device = Device(), inlineRom: Boolean = false, genVhdlPkg: Boolean = true, verbose: Boolean = false, mergeAsyncProcess: Boolean = false, asyncResetCombSensitivity: Boolean = false, anonymSignalUniqueness: Boolean = false, noRandBoot: Boolean = false, randBootFixValue: Boolean = true, noAssert: Boolean = false, fixToWithWrap: Boolean = true, headerWithDate: Boolean = false, headerWithRepoHash: Boolean = true, removePruned: Boolean = false, phasesInserters: ArrayBuffer[(ArrayBuffer[Phase]) ⇒ Unit] = ..., transformationPhases: ArrayBuffer[Phase] = ArrayBuffer[Phase](), memBlackBoxers: ArrayBuffer[Phase] = ..., rtlHeader: String = null, scopeProperties: LinkedHashMap[ScopeProperty[_], Any] = ..., _withEnumString: Boolean = true) extends Product with Serializable

    Permalink

    Spinal configuration for the generation of the RTL

  131. class SpinalEnum extends Nameable with ScalaLocated

    Permalink

    Base class for creating enumeration

    Base class for creating enumeration

    Example:
    1. object MyEnum extends SpinalEnum(binarySequential){
        val s1, s2, s3, s4 = newElement()
      }

      SpinalEnum contains a list of SpinalEnumElement that is the definition of an element. SpinalEnumCraft is the hardware representation of the the element.

    See also

    Enumeration Documentation

  132. class SpinalEnumCraft[T <: SpinalEnum] extends BaseType with InferableEnumEncodingImpl with DataPrimitives[SpinalEnumCraft[T]]

    Permalink

    Hardware representation of an enumeration

  133. class SpinalEnumElement[T <: SpinalEnum] extends Nameable

    Permalink

    Definition of an element of the enumeration

  134. trait SpinalEnumEncoding extends Nameable with ScalaLocated

    Permalink

    Trait to define an encoding

  135. class SpinalExit extends Exception

    Permalink
  136. trait SpinalMode extends AnyRef

    Permalink
  137. class SpinalReport[T <: Component] extends AnyRef

    Permalink

    Spinal report give after the generation of the RTL

  138. abstract class SpinalStruct extends BaseType with Nameable with ValCallbackRec with DataPrimitives[SpinalStruct] with Suffixable

    Permalink

    Class representing Verilog Struct and VHDL Record data types.

  139. trait SpinalTag extends AnyRef

    Permalink
  140. trait SpinalTagReady extends AnyRef

    Permalink
  141. trait Stackable extends AnyRef

    Permalink
  142. class SwitchContext extends AnyRef

    Permalink
  143. case class TimeNumber(v: BigDecimal) extends PhysicalNumber[TimeNumber] with Product with Serializable

    Permalink

    Time representation

  144. implicit class Tuple10Pimper extends TuplePimperBase

    Permalink
  145. implicit class Tuple11Pimper extends TuplePimperBase

    Permalink
  146. implicit class Tuple2Pimper extends TuplePimperBase

    Permalink
  147. implicit class Tuple3Pimper extends TuplePimperBase

    Permalink
  148. implicit class Tuple4Pimper extends TuplePimperBase

    Permalink
  149. implicit class Tuple5Pimper extends TuplePimperBase

    Permalink
  150. implicit class Tuple6Pimper extends TuplePimperBase

    Permalink
  151. implicit class Tuple7Pimper extends TuplePimperBase

    Permalink
  152. implicit class Tuple8Pimper extends TuplePimperBase

    Permalink
  153. implicit class Tuple9Pimper extends TuplePimperBase

    Permalink
  154. class TuplePimperBase extends AnyRef

    Permalink
  155. trait TypeFactory extends AnyRef

    Permalink
  156. class UFix extends XFix[UFix, UInt]

    Permalink

    Unsigned fix point

    Unsigned fix point

    See also

    UFix Documentation

  157. class UFix2D extends Bundle

    Permalink

    Two-dimensional XFix

  158. trait UFixCast extends AnyRef

    Permalink
  159. trait UFixFactory extends TypeFactory

    Permalink
  160. class UInt extends BitVector with Num[UInt] with MinMaxProvider with DataPrimitives[UInt] with BitwiseOp[UInt]

    Permalink

    The UInt type corresponds to a vector of bits that can be used for unsigned integer arithmetic.

    The UInt type corresponds to a vector of bits that can be used for unsigned integer arithmetic.

    Example:
    1. val myUInt = UInt(8 bits)
       myUInt := U(2,8 bits)
       myUInt := U(2)
       myUInt := U"0000_0101"
       myUInt := U"h1A"
    See also

    UInt Documentation

  161. case class UInt2D(xBitCount: BitCount, yBitCount: BitCount) extends Bundle with Product with Serializable

    Permalink

    Define an UInt 2D point

    Define an UInt 2D point

    xBitCount

    width of the x point

    yBitCount

    width of the y point

    Example:
    1. val positionOnScreen = Reg(UInt2D(log2Up(p.screenResX) bits, log2Up(p.screenResY) bits))
  162. trait UIntFactory extends AnyRef

    Permalink

    UInt factory used for instance by the IODirection to create a in/out UInt

  163. implicit class UIntPimper extends AnyRef

    Permalink

    Implicit UInt helper

  164. type UnknownFrequency = core.ClockDomain.UnknownFrequency

    Permalink
  165. trait ValCallbackRec extends ValCallback

    Permalink

    The Bundle is a composite type that defines a group of named signals (of any SpinalHDL basic type) under a single name.

    The Bundle is a composite type that defines a group of named signals (of any SpinalHDL basic type) under a single name. The Bundle can be used to model data structures, buses and interfaces.

    Example:
    1. val cmd = new Bundle{
        val init   = in Bool
        val start  = in Bool
        val result = out Bits(32 bits)
      }
    See also

    Bundle Documentation

  166. class VarAssignementTag extends SpinalTag

    Permalink
  167. class Vec[T <: Data] extends MultiData with IndexedSeq[T]

    Permalink

    The Vec is a composite type that defines a group of indexed signals (of any SpinalHDL basic type) under a single name

    The Vec is a composite type that defines a group of indexed signals (of any SpinalHDL basic type) under a single name

    Example:
    1. val myVecOfSInt = Vec(SInt(8 bits), 2)
    See also

    Vec Documentation

  168. class VecAccessAssign[T <: Data] extends Assignable

    Permalink
  169. class VecBuilder extends AnyRef

    Permalink
    Definition Classes
    VecFactory
  170. trait VecFactory extends AnyRef

    Permalink

    Vec factory

  171. class WhenContext extends ConditionalContext with ScalaLocated

    Permalink

    else / else if statement

    else / else if statement

    See also

    when Documentation

  172. abstract class XFix[T <: XFix[T, R], R <: BitVector with Num[R]] extends MultiData

    Permalink

    Base class for SFix and UFix

  173. type dontName = spinal.core.DontName @scala.annotation.meta.field

    Permalink

Value Members

  1. object ASYNC extends ResetKind

    Permalink
  2. object AllowMixedWidth extends SpinalTag

    Permalink
  3. object AllowPartialyAssignedTag extends SpinalTag

    Permalink
  4. object Analog

    Permalink

    Set a data to Analog

  5. object AnnotationUtils

    Permalink
  6. object ArrayManager

    Permalink
  7. object B extends BitVectorLiteralFactory[Bits]

    Permalink

    Used to create a new Bits or cast to Bits

  8. object BOOT extends ResetKind

    Permalink
  9. object BaseType

    Permalink
  10. implicit def BigIntToBits(that: BigInt): Bits

    Permalink
  11. implicit def BigIntToBuilder(value: BigInt): BigIntBuilder

    Permalink
  12. implicit def BigIntToSInt(that: BigInt): SInt

    Permalink
  13. implicit def BigIntToUInt(that: BigInt): UInt

    Permalink
  14. def Bits(width: BitCount): Bits

    Permalink

    Create a new Bits of a given width

    Create a new Bits of a given width

    Definition Classes
    BitsFactory
  15. def Bits(): Bits

    Permalink

    Create a new Bits

    Create a new Bits

    Definition Classes
    BitsFactory
  16. def Bool(value: Boolean): Bool

    Permalink

    Create a new Bool initialized with a boolean value

    Create a new Bool initialized with a boolean value

    Definition Classes
    BoolFactory
  17. def Bool(): Bool

    Permalink

    Create a new Bool

    Create a new Bool

    Definition Classes
    BoolFactory
  18. implicit def BooleanPimped[T <: Data](that: Boolean): BooleanPimped

    Permalink
  19. object COMMENT_ATTRIBUTE extends AttributeKind

    Permalink
  20. object Cat

    Permalink

    Concatenate a list of data

  21. object Clock

    Permalink
  22. object ClockDomain extends Serializable

    Permalink
  23. object ClockDomainStack extends ScopeProperty[Handle[ClockDomain]]

    Permalink
  24. object CombInit

    Permalink

    Declare a register with an initialize value

  25. object Component

    Permalink
  26. object ConditionalContext

    Permalink
  27. object CyclesCount extends Serializable

    Permalink
  28. object DEFAULT_ATTRIBUTE extends AttributeKind

    Permalink
  29. object Data

    Permalink
  30. object DataAssign

    Permalink
  31. implicit def DataPimped[T <: Data](that: T): DataPimper[T]

    Permalink

    Implicit Data helper

  32. val DefaultFixPointConfig: FixPointConfig

    Permalink
  33. object Device extends Serializable

    Permalink
  34. implicit def DoubleToBuilder(value: Double): DoubleBuilder

    Permalink
  35. object Driver

    Permalink
  36. object DslScopeStack extends ScopeProperty[ScopeStatement]

    Permalink
  37. object ERROR extends AssertNodeSeverity

    Permalink
  38. implicit def EnumCtoEnumC2[T <: SpinalEnum, T2 <: T](craft: SpinalEnumCraft[T2]): SpinalEnumCraft[T]

    Permalink
  39. implicit def EnumCtoEnumC3[T <: SpinalEnum, T2 <: T](craft: SpinalEnumCraft[T]): SpinalEnumCraft[T2]

    Permalink
  40. implicit def EnumElementToCraft[T <: SpinalEnum](element: SpinalEnumElement[T]): SpinalEnumCraft[T]

    Permalink
  41. implicit def EnumEtoEnumE2[T <: SpinalEnum, T2 <: T](element: SpinalEnumElement[T2]): SpinalEnumElement[T]

    Permalink

    Implicit enum conversion

  42. implicit def EnumEtoEnumE3[T <: SpinalEnum, T2 <: T](element: SpinalEnumElement[T]): SpinalEnumElement[T2]

    Permalink
  43. object FAILURE extends AssertNodeSeverity

    Permalink
  44. object FALLING extends EdgeKind

    Permalink
  45. def False: Bool

    Permalink
  46. object FixPointProperty extends ScopeProperty[FixPointConfig]

    Permalink
  47. def FixedFrequency(value: HertzNumber): core.ClockDomain.FixedFrequency

    Permalink
  48. object Formal

    Permalink
  49. object GenerationFlags

    Permalink
  50. object GlobalData

    Permalink
  51. object HIGH extends Polarity

    Permalink
  52. object HardType

    Permalink
  53. object ImplicitArea

    Permalink
  54. object Info

    Permalink
  55. object InitAssign

    Permalink
  56. implicit def IntToBits(that: Int): Bits

    Permalink
  57. implicit def IntToBuilder(value: Int): IntBuilder

    Permalink

    Implicit Int/BigInt/Double to Builder

  58. implicit def IntToSInt(that: Int): SInt

    Permalink
  59. implicit def IntToUInt(that: Int): UInt

    Permalink

    Implicit conversion from Int/BigInt/String to UInt/SInt/Bits

  60. object LOW extends Polarity

    Permalink
  61. object Language

    Permalink
  62. object LocatedPendingError

    Permalink
  63. implicit def LongToBits(that: Long): Bits

    Permalink
  64. implicit def LongToSInt(that: Long): SInt

    Permalink
  65. implicit def LongToUInt(that: Long): UInt

    Permalink
  66. val LowCostFixPointConfig: FixPointConfig

    Permalink
  67. object MaskedLiteral

    Permalink
  68. object Mem

    Permalink
  69. object MemReadAsync

    Permalink
  70. object MemReadSync

    Permalink
  71. object MemReadWrite

    Permalink
  72. object MemWrite

    Permalink
  73. object Mux

    Permalink

    Mux operation

  74. object NOTE extends AssertNodeSeverity

    Permalink
  75. object Nameable

    Permalink
  76. object OwnableRef

    Permalink
  77. object PendingError

    Permalink
  78. object REPORT_TIME

    Permalink
  79. object RISING extends EdgeKind

    Permalink
  80. object Reg

    Permalink

    Create a register

  81. object RegInit

    Permalink

    Declare a register with an initialize value

  82. object RegNext

    Permalink

    Register a signal of one clock

  83. object RegNextWhen

    Permalink

    Register a signal when a condition is true

  84. object RoundType

    Permalink
  85. object S extends BitVectorLiteralFactory[SInt]

    Permalink

    Used to create a new SInt or cast to SInt

  86. object SF

    Permalink
  87. def SFix(peak: ExpNumber, resolution: ExpNumber): SFix

    Permalink
    Definition Classes
    SFixFactory
  88. def SFix(peak: ExpNumber, width: BitCount): SFix

    Permalink
    Definition Classes
    SFixFactory
  89. object SFix2D

    Permalink

    Two-dimensional SFix

  90. def SInt(width: BitCount): SInt

    Permalink

    Create a new SInt of a given width

    Create a new SInt of a given width

    Definition Classes
    SIntFactory
  91. def SInt(): SInt

    Permalink

    Create a new SInt

    Create a new SInt

    Definition Classes
    SIntFactory
  92. object SQ

    Permalink
  93. object SYNC extends ResetKind

    Permalink
  94. object ScalaLocated

    Permalink
  95. object ScopeProperty

    Permalink
  96. object Select

    Permalink
  97. object Spinal

    Permalink
  98. object SpinalConfig extends Serializable

    Permalink
  99. object SpinalEnumEncoding

    Permalink

    Used to create a custom encoding

    Used to create a custom encoding

    Example:
    1. object BR extends SpinalEnum{
        val NE, EQ, J, JR = newElement()
        defaultEncoding = SpinalEnumEncoding("opt")(
            EQ -> 0,
            NE -> 1,
            J  -> 2,
            JR -> 3 )
      }
  100. object SpinalError

    Permalink
  101. object SpinalExit extends Serializable

    Permalink
  102. object SpinalInfo

    Permalink
  103. object SpinalLog

    Permalink
  104. object SpinalMap

    Permalink

    Spinal map

  105. object SpinalProgress

    Permalink
  106. object SpinalSystemVerilog

    Permalink
  107. object SpinalTagReady

    Permalink
  108. object SpinalVerilog

    Permalink
  109. object SpinalVhdl

    Permalink
  110. object SpinalWarning

    Permalink
  111. object SwitchStack extends ScopeProperty[SwitchContext]

    Permalink
  112. object SystemVerilog extends SpinalMode

    Permalink
  113. def True: Bool

    Permalink

    True / False definition

  114. object U extends BitVectorLiteralFactory[UInt]

    Permalink

    Used to create a new UInt or cast to UInt

  115. object UF

    Permalink
  116. def UFix(peak: ExpNumber, resolution: ExpNumber): UFix

    Permalink
    Definition Classes
    UFixFactory
  117. def UFix(peak: ExpNumber, width: BitCount): UFix

    Permalink
    Definition Classes
    UFixFactory
  118. object UFix2D

    Permalink

    Two-dimensional UFix

  119. def UInt(width: BitCount): UInt

    Permalink

    Create a new UInt of a given width

    Create a new UInt of a given width

    Definition Classes
    UIntFactory
  120. def UInt(): UInt

    Permalink

    Create a new UInt

    Create a new UInt

    Definition Classes
    UIntFactory
  121. object UInt2D extends Serializable

    Permalink
  122. object UQ

    Permalink
  123. def UnknownFrequency(): core.ClockDomain.UnknownFrequency

    Permalink
  124. object VHDL extends SpinalMode

    Permalink
  125. def Vec[T <: Data](firstElement: T, followingElements: T*): Vec[T]

    Permalink
    Definition Classes
    VecFactory
  126. def Vec[T <: Data](gen: HardType[T], size: Int): Vec[T]

    Permalink
    Definition Classes
    VecFactory
  127. def Vec[T <: Data](gen: ⇒ T, size: Int): Vec[T]

    Permalink
    Definition Classes
    VecFactory
  128. def Vec[T <: Data](elements: TraversableOnce[T], dataType: HardType[T] = null): Vec[T]

    Permalink
    Definition Classes
    VecFactory
  129. val Vec: VecBuilder

    Permalink
    Definition Classes
    VecFactory
  130. object Verilator

    Permalink
  131. object Verilog extends SpinalMode

    Permalink
  132. object WARNING extends AssertNodeSeverity

    Permalink
  133. object addDefaultGenericValue extends SpinalTag

    Permalink

    In VHDL add the generic value in the definition of the blackbox

  134. object allowAssignmentOverride extends SpinalTag

    Permalink
  135. object allowDirectionLessIoTag extends SpinalTag

    Permalink
  136. def assert(assertion: Bool, message: Seq[Any], severity: AssertNodeSeverity): AssertStatement

    Permalink
  137. def assert(assertion: Bool, message: String, severity: AssertNodeSeverity): AssertStatement

    Permalink
  138. def assert(assertion: Bool, message: Seq[Any]): AssertStatement

    Permalink
  139. def assert(assertion: Bool, message: String): AssertStatement

    Permalink
  140. def assert(assertion: Bool, severity: AssertNodeSeverity): AssertStatement

    Permalink
  141. def assert(assertion: Bool): AssertStatement

    Permalink
  142. final def assert(assertion: Boolean, message: ⇒ Any): Unit

    Permalink
    Annotations
    @elidable( ASSERTION ) @inline()
  143. def assert(assertion: Boolean): Unit

    Permalink

    Assertion

    Assertion

    Annotations
    @elidable( ASSERTION )
  144. def assume(assertion: Bool): AssertStatement

    Permalink
  145. object auto extends MemTechnologyKind

    Permalink
  146. object binaryOneHot extends SpinalEnumEncoding

    Permalink

    Binary One hot encoding

    Binary One hot encoding

    Example:
    1. 001, 010, 100
  147. object binarySequential extends SpinalEnumEncoding

    Permalink

    Binary Sequential

    Binary Sequential

    Example:
    1. 000, 001, 010, 011, 100, 101, ....
  148. object blackboxAll extends MemBlackboxingPolicy

    Permalink
  149. object blackboxAllWhatsYouCan extends MemBlackboxingPolicy

    Permalink
  150. object blackboxByteEnables extends MemBlackboxingPolicy

    Permalink
  151. object blackboxOnlyIfRequested extends MemBlackboxingPolicy

    Permalink
  152. object blackboxRequestedAndUninferable extends MemBlackboxingPolicy

    Permalink
  153. object cloneOf

    Permalink

    Return a new data with the same data structure as the given parameter (including bit width)

  154. def cover(assertion: Bool): AssertStatement

    Permalink
  155. object crossClockBuffer extends SpinalTag

    Permalink
  156. object crossClockDomain extends SpinalTag

    Permalink
  157. object default

    Permalink

    default statement of a switch case

    default statement of a switch case

    See also

    switch Documentation

  158. object distributedLut extends MemTechnologyKind

    Permalink
  159. object dontCare extends ReadUnderWritePolicy

    Permalink
  160. package fiber

    Permalink
  161. object getFixRound

    Permalink
  162. object getFixSym

    Permalink
  163. object ifGen

    Permalink
  164. implicit lazy val implicitConversions: implicitConversions

    Permalink

    Scala implicit

  165. object in extends IODirection

    Permalink

    Set a data to input

  166. object inWithNull extends IODirection

    Permalink

    Set a data to in if the data is not null

  167. object inferred extends SpinalEnumEncoding

    Permalink

    Inferred encoding

  168. object inout extends IODirection

    Permalink

    Set a data to inout

  169. package internals

    Permalink
  170. object is

    Permalink

    is statement of a switch case

    is statement of a switch case

    See also

    switch Documentation

  171. object isPow2

    Permalink

    Check if a number is a power of 2

  172. object log2Up

    Permalink

    Give number of bit to encode a given number of states

  173. object native extends SpinalEnumEncoding

    Permalink

    Native encoding

  174. object noBackendCombMerge extends SpinalTag

    Permalink
  175. object noCombinatorialLoopCheck extends SpinalTag

    Permalink
  176. object noNumericType extends SpinalTag

    Permalink

    Transform all unsigned/signed into std_logic_vector

  177. object out extends IODirection

    Permalink

    Set a data to output

  178. object outWithNull extends IODirection

    Permalink

    Set a data to out if the data is not null

  179. def postTypeFactory[T <: Data](that: T): T

    Permalink
    Definition Classes
    TypeFactory
  180. implicit lazy val postfixOps: postfixOps

    Permalink
  181. object ramBlock extends MemTechnologyKind

    Permalink
  182. object randomBoot extends SpinalTag

    Permalink
  183. object readFirst extends ReadUnderWritePolicy

    Permalink
  184. implicit lazy val reflectiveCalls: reflectiveCalls

    Permalink
  185. object registerFile extends MemTechnologyKind

    Permalink
  186. def report(message: Seq[Any], severity: AssertNodeSeverity): AssertStatement

    Permalink
  187. def report(message: String, severity: AssertNodeSeverity): AssertStatement

    Permalink
  188. def report(message: Seq[Any]): AssertStatement

    Permalink
  189. def report(message: String): AssertStatement

    Permalink
  190. object roundUp

    Permalink

    Round up a BigInt

  191. object signalCache

    Permalink
  192. package sim

    Permalink

    Simulation package

  193. object switch

    Permalink

    case/switch statement

    case/switch statement

    Example:
    1. switch(x){
          is(value1){
              //execute when x === value1
          }
          is(value2){
              //execute when x === value2
          }
          default{
             //execute if none of precedent condition meet
          }
       }
    See also

    switch Documentation

  194. object tagAutoResize extends SpinalTag

    Permalink
  195. object tagTruncated extends SpinalTag

    Permalink
  196. object uLogic extends SpinalTag

    Permalink

    Create a Ulogic tag used by Blackbox in order to transform std_logic into std_ulogic

  197. object unsetRegIfNoAssignementTag extends SpinalTag

    Permalink
  198. object unusedTag extends SpinalTag

    Permalink
  199. object weakCloneOf

    Permalink

    Return a new data with the same data structure as the given parameter (except bit width)

  200. object when

    Permalink

    If statement

    If statement

    Example:
    1. when(cond1){
        myCnt := 0
      }elsewhen(cond2){
        myCnt := myCnt + 1
      }otherwise{
        myCnt := myCnt - 1
      }
    See also

    when Documentation

  201. object widthOf

    Permalink

    Return the number of bit of the given data

  202. object writeFirst extends ReadUnderWritePolicy

    Permalink

Deprecated Value Members

  1. object Sel

    Permalink

    Sel operation

    Sel operation

    Annotations
    @deprecated
    Deprecated

    (Since version ???) Use Select instead

  2. object cloneable

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version ???) Use HardType instead

  3. def toSFix(sint: SInt): SFix

    Permalink
    Definition Classes
    SFixCast
    Annotations
    @deprecated
    Deprecated

    (Since version ???) Use xxx.toSFix instead

  4. def toUFix(uint: UInt): UFix

    Permalink
    Definition Classes
    UFixCast
    Annotations
    @deprecated
    Deprecated

    (Since version ???) Use xxx.toUFix instead

  5. object wrap

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version ???) Use HardType instead

Inherited from BaseTypeCast

Inherited from UFixCast

Inherited from SFixCast

Inherited from BaseTypeFactory

Inherited from UFixFactory

Inherited from SFixFactory

Inherited from TypeFactory

Inherited from VecFactory

Inherited from SIntFactory

Inherited from UIntFactory

Inherited from BitsFactory

Inherited from BoolFactory

Inherited from AnyRef

Inherited from Any

Ungrouped