Packages

package core

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. Protected

Package Members

  1. package fiber
  2. package formal
  3. package internals
  4. package sim

    Simulation package

Type Members

  1. class AFix extends MultiData
  2. trait AllowIoBundle extends AnyRef
  3. trait Area extends NameableByComponent with ContextUser with OwnableRef with ScalaLocated with ValCallbackRec with OverridedEqualsHashCode
  4. trait AreaObject extends Area
  5. trait AreaRoot extends Area
  6. trait AssertNodeSeverity extends AnyRef
  7. trait Assignable extends AnyRef

    Assignable trait

  8. trait Attribute extends SpinalTag
  9. class AttributeFlag extends Attribute
  10. class AttributeInteger extends Attribute
  11. sealed trait AttributeKind extends AnyRef
  12. class AttributeString extends Attribute
  13. abstract class BaseType extends Data with DeclarationStatement with StatementDoubleLinkedContainer[BaseType, AssignmentStatement] with Expression

    Abstract base class of all Spinal types

  14. trait BaseTypeCast extends SFixCast with UFixCast

    Base type Cast

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

    Base type factory

  16. class BaseTypePimper[T <: BaseType] extends AnyRef
  17. trait BaseTypePrimitives[T <: BaseType] extends AnyRef
  18. implicit class BigDecimalBuilder extends AnyRef

    BigDecimal Builder

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

    BigInt Builder

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

    Represent the number of bit of a data

  21. abstract class BitVector extends BaseType with Widthable

    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

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

    Base class to create Bit Vector from literal

  23. class Bits extends BitVector with DataPrimitives[Bits] with BaseTypePrimitives[Bits] with BitwiseOp[Bits]

    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

  24. trait BitsFactory extends AnyRef

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

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

    Bitwise Operation

    Bitwise Operation

    T

    the type which is associated with the bitwise operation

  26. abstract class BlackBox extends Component

    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)
      }
  27. class BlackBoxImpl extends AnyRef
  28. abstract class BlackBoxULogic extends BlackBox

    Create a blackBox with std_ulogic instead of std_logic

  29. class Bool extends BaseType with DataPrimitives[Bool] with BaseTypePrimitives[Bool] with BitwiseOp[Bool]

    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

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

    Bundle for the edge detection

  31. trait BoolFactory extends AnyRef

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

  32. class Bundle extends MultiData with Nameable with ValCallbackRec
  33. class BundleCase extends Bundle
  34. 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 SpinalTagReady with Product with Serializable

    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

  35. sealed trait ClockDomainBoolTag extends SpinalTag
  36. case class ClockDomainConfig(clockEdge: EdgeKind = RISING, resetKind: ResetKind = ASYNC, resetActiveLevel: Polarity = HIGH, softResetActiveLevel: Polarity = HIGH, clockEnableActiveLevel: Polarity = HIGH) extends Product with Serializable
  37. case class ClockDomainTag(clockDomain: ClockDomain) extends SpinalTag with Product with Serializable
  38. case class ClockDrivedTag(driver: Bool) extends SpinalTag with Product with Serializable
  39. case class ClockDriverTag(drived: Bool) extends SpinalTag with Product with Serializable
  40. class ClockEnableArea extends Area with PostInitCallback

    Clock Area with a special clock enable

  41. case class ClockEnableTag(clockDomain: ClockDomain) extends ClockDomainBoolTag with Product with Serializable
  42. case class ClockSyncTag(a: Bool, b: Bool) extends SpinalTag with Product with Serializable
  43. case class ClockTag(clockDomain: ClockDomain) extends ClockDomainBoolTag with Product with Serializable
  44. class ClockingArea extends Area with PostInitCallback

    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

  45. class CommentTag extends SpinalTag
  46. abstract class Component extends NameableByComponent with ContextUser with ScalaLocated with PostInitCallback with Stackable with OwnableRef with SpinalTagReady with OverridedEqualsHashCode with ValCallbackRec

    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

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

    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

  48. trait ConditionalContext extends GlobalDataUser
  49. trait ContextUser extends GlobalDataUser with ScalaLocated
  50. case class CyclesCount(value: BigInt) extends Product with Serializable

    Cycles number representation

  51. trait Data extends ContextUser with NameableByComponent with Assignable with SpinalTagReady with GlobalDataUser with ScalaLocated with OwnableRef with OverridedEqualsHashCode with InComponent
  52. class DataPimper[T <: Data] extends DataPrimitives[T]

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

  53. trait DataPrimitives[T <: Data] extends AnyRef
  54. trait DataWrapper extends Data
  55. class DefaultTag extends SpinalTag
  56. case class Device(vendor: String = "?", family: String = "?", name: String = "?") extends Product with Serializable

    target device

  57. trait DontName extends Annotation
    Annotations
    @Retention()
  58. case class DoubleBuilder(d: Double) extends Product with Serializable

    Double Builder

  59. trait DummyTrait extends AnyRef
  60. case class DumpWaveConfig(depth: Int = 0, vcdPath: String = "wave.vcd") extends Product with Serializable
  61. trait DuringWritePolicy extends AnyRef
  62. sealed trait EdgeKind extends AnyRef
  63. class ElseWhenClause extends AnyRef
  64. implicit class ElseWhenClauseBuilder extends AnyRef

    Implicit clause builder for elseWhen

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

    Node representation which contains the value of an SpinalEnumElement

  66. class EnumPoison extends Literal with InferableEnumEncodingImpl
  67. case class ExpNumber(value: Int) extends Product with Serializable

    Exponent representation

  68. class ExternalDriverTag extends SpinalTag
  69. case class FixPointConfig(roundType: RoundType, symmetric: Boolean) extends Product with Serializable
  70. type FixedFrequency = core.ClockDomain.FixedFrequency
  71. class GenerationFlags extends AnyRef
  72. class Generic extends AnyRef

    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 { ... }
      }
  73. case class GenericValue(e: Expression) extends SpinalTag with Product with Serializable
  74. class GlobalData extends AnyRef

    Global data

  75. trait GlobalDataUser extends AnyRef

    Get a link to the globalData

  76. class HardType[T <: Data] extends AnyRef
  77. case class HertzNumber(v: BigDecimal) extends PhysicalNumber[HertzNumber] with Product with Serializable

    Frequency representation

  78. type IClockDomainFrequency = ClockFrequency
  79. trait IODirection extends BaseTypeFactory

    Trait used to set the direction of a data

  80. class IfDefTag extends SpinalTag
  81. abstract class ImplicitArea[T] extends Area

    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
  82. trait InComponent extends AnyRef
  83. final class IntBuilder extends AnyVal

    Integer Builder

  84. sealed trait Language extends AnyRef
  85. implicit class LiteralBuilder extends AnyRef

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

  86. class MaskedBoolean extends AnyRef

    Masked Literal

    Masked Literal

    Example:
    1. val itMatch = myBits === M"00--10--" // - don't care value
  87. class MaskedLiteral extends AnyRef
  88. class Mem[T <: Data] extends DeclarationStatement with StatementDoubleLinkedContainer[Mem[_], MemPortStatement] with WidthProvider with SpinalTagReady with InComponent
  89. trait MemBlackboxingPolicy extends AnyRef
  90. trait MemPortStatement extends LeafStatement with StatementDoubleLinkedContainerElement[Mem[_], MemPortStatement]
  91. class MemReadAsync extends MemPortStatement with WidthProvider with SpinalTagReady with ContextUser with Expression
  92. class MemReadSync extends MemPortStatement with WidthProvider with SpinalTagReady with ContextUser with Expression
  93. class MemReadWrite extends MemPortStatement with WidthProvider with SpinalTagReady with ContextUser with Expression
  94. case class MemSymbolesMapping(name: String, range: Range) extends Product with Serializable
  95. case class MemSymbolesTag(mapping: Seq[MemSymbolesMapping]) extends SpinalTag with Product with Serializable
  96. trait MemTechnologyKind extends AnyRef
  97. class MemWrite extends MemPortStatement with WidthProvider with SpinalTagReady
  98. class MemWritePayload[T <: Data] extends Bundle
  99. trait MinMaxProvider extends AnyRef

    Min max base function

  100. type Module = Component
  101. abstract class MultiData extends Data

    Base class for multi data like Vec, Bundle

  102. trait Nameable extends OwnableRef with ContextUser
  103. trait NameableByComponent extends Nameable with GlobalDataUser
  104. class NamingScope extends AnyRef
  105. trait Num[T <: Data] extends AnyRef

    Base operations for numbers

    Base operations for numbers

    T

    the type which is associated with the base operation

  106. trait OverridedEqualsHashCode extends AnyRef
  107. trait OwnableRef extends AnyRef
  108. abstract class PhysicalNumber[T <: PhysicalNumber[_]] extends AnyRef

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

  109. sealed trait Polarity extends AnyRef
  110. case class PosCount(value: Int) extends Product with Serializable

    Position representation

  111. case class QFormat(width: Int, fraction: Int, signed: Boolean) extends Product with Serializable
  112. class Ram_1w_1ra extends BlackBox

    Ram 1w 1ra

  113. class Ram_1w_1rs extends BlackBox

    Ram 1w 1rs

  114. class Ram_1wors extends BlackBox

    Ram 1wors

  115. class Ram_1wrs extends BlackBox

    Ram 1wrs

  116. class Ram_2c_1w_1rs extends BlackBox

    Ram 2c 1w 1rs

  117. class Ram_2wrs extends BlackBox

    Ram 2wrs

  118. implicit class RangePimper extends AnyRef

    Implicit Range helper

  119. trait ReadUnderWritePolicy extends AnyRef
  120. case class Ref[T](value: T) extends Product with Serializable

    Use to give value by reference to a function

  121. class ResetArea extends Area with PostInitCallback

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

  122. sealed trait ResetKind extends AnyRef
  123. case class ResetTag(clockDomain: ClockDomain) extends ClockDomainBoolTag with Product with Serializable
  124. sealed trait RoundType extends AnyRef
  125. class SFix extends XFix[SFix, SInt]

    Signed fix point

    Signed fix point

    See also

    SFix Documentation

  126. class SFix2D extends Bundle
  127. trait SFixCast extends AnyRef
  128. trait SFixFactory extends TypeFactory
  129. class SInt extends BitVector with Num[SInt] with MinMaxProvider with DataPrimitives[SInt] with BaseTypePrimitives[SInt] with BitwiseOp[SInt]

    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

  130. trait SIntFactory extends AnyRef

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

  131. implicit class SIntPimper extends AnyRef

    Implicit SInt helper

  132. class SafeStack[T] extends AnyRef

    Safe Stack

  133. class SafeStackWithStackable[T <: Stackable] extends SafeStack[T]
  134. trait ScalaLocated extends GlobalDataUser
  135. class ScopeProperty[T] extends AnyRef
  136. class ScopePropertyContext extends AnyRef
  137. class ScopePropertyValue extends AnyRef
  138. case class SlicesCount(value: Int) extends Product with Serializable

    Slice size representation

  139. class SlowArea extends ClockingArea

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

  140. 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, romReuse: 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] = ArrayBuffer[(ArrayBuffer[Phase]) => Unit](), transformationPhases: ArrayBuffer[Phase] = ArrayBuffer[Phase](), memBlackBoxers: ArrayBuffer[Phase] = ArrayBuffer[Phase] (/*new PhaseMemBlackBoxerDefault(blackboxNothing)*/), rtlHeader: String = null, scopeProperties: LinkedHashMap[ScopeProperty[_], Any] = mutable.LinkedHashMap[ScopeProperty[_], Any](), _withEnumString: Boolean = true, enumPrefixEnable: Boolean = true, enumGlobalEnable: Boolean = false) extends Product with Serializable

    Spinal configuration for the generation of the RTL

  141. class SpinalEnum extends Nameable with ScalaLocated

    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

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

    Hardware representation of an enumeration

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

    Definition of an element of the enumeration

  144. trait SpinalEnumEncoding extends Nameable with ScalaLocated

    Trait to define an encoding

  145. class SpinalExit extends Exception
  146. trait SpinalMode extends AnyRef
  147. class SpinalReport[T <: Component] extends AnyRef

    Spinal report give after the generation of the RTL

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

    Class representing Verilog Struct and VHDL Record data types.

  149. trait SpinalTag extends AnyRef
  150. trait SpinalTagReady extends AnyRef
  151. trait Stackable extends AnyRef
  152. class SwitchContext extends AnyRef
  153. class TagAFixTruncated extends SpinalTag
  154. case class TimeNumber(v: BigDecimal) extends PhysicalNumber[TimeNumber] with Product with Serializable

    Time representation

  155. class ToBitsPimper extends AnyRef
  156. implicit class Tuple10Pimper extends TuplePimperBase
  157. implicit class Tuple11Pimper extends TuplePimperBase
  158. implicit class Tuple2Pimper extends TuplePimperBase
  159. implicit class Tuple3Pimper extends TuplePimperBase
  160. implicit class Tuple4Pimper extends TuplePimperBase
  161. implicit class Tuple5Pimper extends TuplePimperBase
  162. implicit class Tuple6Pimper extends TuplePimperBase
  163. implicit class Tuple7Pimper extends TuplePimperBase
  164. implicit class Tuple8Pimper extends TuplePimperBase
  165. implicit class Tuple9Pimper extends TuplePimperBase
  166. class TuplePimperBase extends AnyRef
  167. trait TypeFactory extends AnyRef
  168. class UFix extends XFix[UFix, UInt]

    Unsigned fix point

    Unsigned fix point

    See also

    UFix Documentation

  169. class UFix2D extends Bundle

    Two-dimensional XFix

  170. trait UFixCast extends AnyRef
  171. trait UFixFactory extends TypeFactory
  172. class UInt extends BitVector with Num[UInt] with MinMaxProvider with DataPrimitives[UInt] with BaseTypePrimitives[UInt] with BitwiseOp[UInt]

    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

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

    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))
  174. trait UIntFactory extends AnyRef

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

  175. implicit class UIntPimper extends AnyRef

    Implicit UInt helper

  176. type UnknownFrequency = core.ClockDomain.UnknownFrequency
  177. trait ValCallbackRec extends ValCallback

    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

  178. class VarAssignementTag extends SpinalTag
  179. class Vec[T <: Data] extends MultiData with IndexedSeq[T]

    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

  180. class VecAccessAssign[T <: Data] extends Assignable
  181. trait VecFactory extends AnyRef

    Vec factory

  182. class VecBuilder extends AnyRef
    Definition Classes
    VecFactory
  183. class WhenContext extends ConditionalContext with ScalaLocated

    else / else if statement

    else / else if statement

    See also

    when Documentation

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

    Base class for SFix and UFix

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

Value Members

  1. implicit def BaseTypePimped[T <: BaseType](that: T): BaseTypePimper[T]
  2. implicit def BigIntToBits(that: BigInt): Bits
  3. implicit def BigIntToBuilder(value: BigInt): BigIntBuilder
  4. implicit def BigIntToSInt(that: BigInt): SInt
  5. implicit def BigIntToUInt(that: BigInt): UInt
  6. def Bits(width: BitCount): Bits

    Create a new Bits of a given width

    Create a new Bits of a given width

    Definition Classes
    BitsFactory
  7. def Bits(u: Unit = null): Bits

    Create a new Bits

    Create a new Bits

    Definition Classes
    BitsFactory
  8. def Bool(value: Boolean): Bool
  9. def Bool(u: DummyTrait = DummyObject): Bool
  10. def Bool: Bool
  11. implicit def BooleanPimped(that: Boolean): BooleanPimped
  12. implicit def DataPimped[T <: Data](that: T): DataPimper[T]

    Implicit Data helper

  13. val DefaultFixPointConfig: FixPointConfig
  14. implicit def DoubleToBuilder(value: Double): DoubleBuilder
  15. implicit def EnumCtoEnumC2[T <: SpinalEnum, T2 <: T](craft: SpinalEnumCraft[T2]): SpinalEnumCraft[T]
  16. implicit def EnumCtoEnumC3[T <: SpinalEnum, T2 <: T](craft: SpinalEnumCraft[T]): SpinalEnumCraft[T2]
  17. implicit def EnumElementToCraft[T <: SpinalEnum](element: SpinalEnumElement[T]): SpinalEnumCraft[T]
  18. implicit def EnumEtoEnumE2[T <: SpinalEnum, T2 <: T](element: SpinalEnumElement[T2]): SpinalEnumElement[T]

    Implicit senum conversion

  19. implicit def EnumEtoEnumE3[T <: SpinalEnum, T2 <: T](element: SpinalEnumElement[T]): SpinalEnumElement[T2]
  20. def False: Bool
  21. def FixedFrequency(value: HertzNumber): core.ClockDomain.FixedFrequency
  22. implicit def IntPimped(that: Int): IntPimped
  23. implicit def IntToBits(that: Int): Bits
  24. implicit def IntToBuilder(value: Int): IntBuilder

    Implicit Int/BigInt/Double to Builder

  25. implicit def IntToSInt(that: Int): SInt
  26. implicit def IntToUInt(that: Int): UInt

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

  27. implicit def LongToBits(that: Long): Bits
  28. implicit def LongToSInt(that: Long): SInt
  29. implicit def LongToUInt(that: Long): UInt
  30. val LowCostFixPointConfig: FixPointConfig
  31. def SFix(peak: ExpNumber, resolution: ExpNumber): SFix
    Definition Classes
    SFixFactory
  32. def SFix(peak: ExpNumber, width: BitCount): SFix
    Definition Classes
    SFixFactory
  33. def SInt(width: BitCount): SInt

    Create a new SInt of a given width

    Create a new SInt of a given width

    Definition Classes
    SIntFactory
  34. def SInt(u: Unit = null): SInt

    Create a new SInt

    Create a new SInt

    Definition Classes
    SIntFactory
  35. def True: Bool

    True / False definition

  36. def UFix(peak: ExpNumber, resolution: ExpNumber): UFix
    Definition Classes
    UFixFactory
  37. def UFix(peak: ExpNumber, width: BitCount): UFix
    Definition Classes
    UFixFactory
  38. def UInt(width: BitCount): UInt

    Create a new UInt of a given width

    Create a new UInt of a given width

    Definition Classes
    UIntFactory
  39. def UInt(u: Unit = null): UInt

    Create a new UInt

    Create a new UInt

    Definition Classes
    UIntFactory
  40. def UnknownFrequency(): core.ClockDomain.UnknownFrequency
  41. def Vec[T <: Data](firstElement: T, followingElements: T*): Vec[T]
    Definition Classes
    VecFactory
  42. def Vec[T <: Data](gen: HardType[T], size: Int): Vec[T]
    Definition Classes
    VecFactory
  43. def Vec[T <: Data](gen: => T, size: Int): Vec[T]
    Definition Classes
    VecFactory
  44. def Vec[T <: Data](elements: TraversableOnce[T], dataType: HardType[T] = null): Vec[T]
    Definition Classes
    VecFactory
  45. val Vec: VecBuilder
    Definition Classes
    VecFactory
  46. def assert(assertion: Bool, message: Seq[Any], severity: AssertNodeSeverity)(implicit loc: Location): AssertStatement
  47. def assert(assertion: Bool, message: String, severity: AssertNodeSeverity)(implicit loc: Location): AssertStatement
  48. def assert(assertion: Bool, message: Seq[Any])(implicit loc: Location): AssertStatement
  49. def assert(assertion: Bool, message: String)(implicit loc: Location): AssertStatement
  50. def assert(assertion: Bool, severity: AssertNodeSeverity)(implicit loc: Location): AssertStatement
  51. def assert(assertion: Bool)(implicit loc: Location): AssertStatement
  52. final def assert(assertion: Boolean, message: => Any)(implicit loc: Location): Unit
    Annotations
    @elidable() @inline()
  53. def assert(assertion: Boolean): Unit

    Assertion

    Assertion

    Annotations
    @elidable()
  54. def assume(assertion: Bool)(implicit loc: Location): AssertStatement
  55. def assumeInitial(assertion: Bool)(implicit loc: Location): AssertStatement
  56. def cover(assertion: Bool)(implicit loc: Location): AssertStatement
  57. implicit lazy val implicitConversions: implicitConversions

    Scala implicit

  58. def postTypeFactory[T <: Data](that: T): T
    Definition Classes
    TypeFactory
  59. implicit lazy val postfixOps: postfixOps
  60. implicit lazy val reflectiveCalls: reflectiveCalls
  61. def report(message: Seq[Any], severity: AssertNodeSeverity): AssertStatement
  62. def report(message: String, severity: AssertNodeSeverity): AssertStatement
  63. def report(message: Seq[Any]): AssertStatement
  64. def report(message: String): AssertStatement
  65. object AFix
  66. object ASYNC extends ResetKind
  67. object AllowMixedWidth extends SpinalTag
  68. object AllowPartialyAssignedTag extends SpinalTag
  69. object Analog

    Set a data to Analog

  70. object AnnotationUtils
  71. object ArrayManager
  72. object B extends BitVectorLiteralFactory[Bits]

    Used to create a new Bits or cast to Bits

  73. object BOOT extends ResetKind
  74. object BaseType
  75. object COMMENT_ATTRIBUTE extends AttributeKind
  76. object Cat

    Concatenate a list of data

  77. object ClassName
  78. object Clock
  79. object ClockDomain extends Serializable
  80. object ClockDomainStack extends ScopeProperty[Handle[ClockDomain]]
  81. object CombInit

    Declare a register with an initialize value

  82. object Component
  83. object ConditionalContext
  84. object CyclesCount extends Serializable
  85. object DEFAULT_ATTRIBUTE extends AttributeKind
  86. object Data
  87. object DataAssign
  88. object Device extends Serializable
  89. object Driver
  90. object DslScopeStack extends ScopeProperty[ScopeStatement]
  91. object DummyObject extends DummyTrait
  92. object ERROR extends AssertNodeSeverity
  93. object FAILURE extends AssertNodeSeverity
  94. object FALLING extends EdgeKind
  95. object FixPointProperty extends ScopeProperty[FixPointConfig]
  96. object GenerationFlags
  97. object GlobalData
  98. object HIGH extends Polarity
  99. object HardType
  100. object ImplicitArea
  101. object Info
  102. object InitAssign
  103. object InitialAssign
  104. object LOW extends Polarity
  105. object Language
  106. object LocatedPendingError
  107. object LutInputs extends ScopeProperty[Int]
  108. object MaskedLiteral
  109. object Mem
  110. object MemReadAsync
  111. object MemReadSync
  112. object MemReadWrite
  113. object MemWrite
  114. object Mux

    Mux operation

  115. object NOTE extends AssertNodeSeverity
  116. object Nameable
  117. object OwnableRef
  118. object PendingError
  119. object REPORT_TIME
  120. object RISING extends EdgeKind
  121. object Reg

    Create a register

  122. object RegInit

    Declare a register with an initialize value

  123. object RegNext

    Register a signal of one clock

  124. object RegNextWhen

    Register a signal when a condition is true

  125. object RoundType
  126. object S extends BitVectorLiteralFactory[SInt]

    Used to create a new SInt or cast to SInt

  127. object SF
  128. object SFix2D

    Two-dimensional SFix

  129. object SQ
  130. object SYNC extends ResetKind
  131. object ScalaLocated
  132. object ScopeProperty
  133. object Select
  134. object Spinal
  135. object SpinalConfig extends Serializable
  136. object SpinalEnumEncoding

    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 )
      }
  137. object SpinalError
  138. object SpinalExit extends Serializable
  139. object SpinalInfo
  140. object SpinalLog
  141. object SpinalMap

    Spinal map

  142. object SpinalProgress
  143. object SpinalSystemVerilog
  144. object SpinalTagReady
  145. object SpinalVerilog
  146. object SpinalVhdl
  147. object SpinalWarning
  148. object SwitchStack extends ScopeProperty[SwitchContext]
  149. object SystemVerilog extends SpinalMode
  150. object U extends BitVectorLiteralFactory[UInt]

    Used to create a new UInt or cast to UInt

  151. object UF
  152. object UFix2D

    Two-dimensional UFix

  153. object UInt2D extends Serializable
  154. object UQ
  155. object VHDL extends SpinalMode
  156. object Verilator
  157. object Verilog extends SpinalMode
  158. object WARNING extends AssertNodeSeverity
  159. object addDefaultGenericValue extends SpinalTag

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

  160. object allowAssignmentOverride extends SpinalTag
  161. object allowDirectionLessIoTag extends SpinalTag
  162. object auto extends MemTechnologyKind
  163. object binaryOneHot extends SpinalEnumEncoding

    Binary One hot encoding

    Binary One hot encoding

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

    Binary Sequential

    Binary Sequential

    Example:
    1. 000, 001, 010, 011, 100, 101, ....
  165. object blackboxAll extends MemBlackboxingPolicy
  166. object blackboxAllWhatsYouCan extends MemBlackboxingPolicy
  167. object blackboxByteEnables extends MemBlackboxingPolicy
  168. object blackboxOnlyIfRequested extends MemBlackboxingPolicy
  169. object blackboxRequestedAndUninferable extends MemBlackboxingPolicy
  170. object cloneOf

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

  171. object crossClockBuffer extends SpinalTag
  172. object crossClockDomain extends SpinalTag
  173. object default

    default statement of a switch case

    default statement of a switch case

    See also

    switch Documentation

  174. object distributedLut extends MemTechnologyKind
  175. object doRead extends DuringWritePolicy
  176. object dontCare extends ReadUnderWritePolicy with DuringWritePolicy
  177. object dontRead extends DuringWritePolicy
  178. object getFixRound
  179. object getFixSym
  180. object globalCache
  181. object ifGen
  182. object in extends IODirection

    Set a data to input

  183. object inWithNull extends IODirection

    Set a data to in if the data is not null

  184. object inferred extends SpinalEnumEncoding

    Inferred encoding

  185. object inout extends IODirection

    Set a data to inout

  186. object is

    is statement of a switch case

    is statement of a switch case

    See also

    switch Documentation

  187. object isPow2

    Check if a number is a power of 2

  188. object log2Up

    Give number of bit to encode a given number of states

  189. object native extends SpinalEnumEncoding

    Native encoding

  190. object noBackendCombMerge extends SpinalTag
  191. object noCombinatorialLoopCheck extends SpinalTag
  192. object noNumericType extends SpinalTag

    Transform all unsigned/signed into std_logic_vector

  193. object out extends IODirection

    Set a data to output

  194. object outWithNull extends IODirection

    Set a data to out if the data is not null

  195. object ramBlock extends MemTechnologyKind
  196. object randomBoot extends SpinalTag
  197. object readFirst extends ReadUnderWritePolicy
  198. object registerFile extends MemTechnologyKind
  199. object roundUp

    Round up a BigInt

  200. object signalCache
  201. object switch

    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

  202. object tagAFixResized extends SpinalTag
  203. object tagAutoResize extends SpinalTag
  204. object tagTruncated extends SpinalTag
  205. object uLogic extends SpinalTag

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

  206. object unsetRegIfNoAssignementTag extends SpinalTag
  207. object unusedTag extends SpinalTag
  208. object weakCloneOf

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

  209. object when

    If statement

    If statement

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

    when Documentation

  210. object widthOf

    Return the number of bit of the given data

  211. object writeFirst extends ReadUnderWritePolicy

Deprecated Value Members

  1. def toSFix(sint: SInt): SFix
    Definition Classes
    SFixCast
    Annotations
    @deprecated
    Deprecated

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

  2. def toUFix(uint: UInt): UFix
    Definition Classes
    UFixCast
    Annotations
    @deprecated
    Deprecated

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

  3. object Sel

    Sel operation

    Sel operation

    Annotations
    @deprecated
    Deprecated

    (Since version ???) Use Select instead

  4. object cloneable
    Annotations
    @deprecated
    Deprecated

    (Since version ???) Use HardType instead

  5. object wrap
    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