Class/Object

spinal.core

ClockDomain

Related Docs: object ClockDomain | package core

Permalink

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

Represents the combined clock and reset signals for an hardware 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.

clock

Clock signal that defines the domain

reset

Reset signal. If a register exists which needs a reset and the clock domain doesn’t provide one, an error message will be displayed.

softReset

Reset which infers an additional synchronous reset

clockEnable

Disable the clock on the whole clock domain without having to manually implement that on each synchronous element.

config

Specify the polarity of signals and the nature of the reset.

frequency

Allows you to specify the frequency of the given clock domain and later read it in your design. This parameter does not generate a PLL or more hardware to control the frequency.

See also

clock domains documentation

Linear Supertypes
Serializable, Serializable, Product, Equals, SpinalTagReady, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ClockDomain
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. SpinalTagReady
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new 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())

    Permalink

    clock

    Clock signal that defines the domain

    reset

    Reset signal. If a register exists which needs a reset and the clock domain doesn’t provide one, an error message will be displayed.

    softReset

    Reset which infers an additional synchronous reset

    clockEnable

    Disable the clock on the whole clock domain without having to manually implement that on each synchronous element.

    config

    Specify the polarity of signals and the nature of the reset.

    frequency

    Allows you to specify the frequency of the given clock domain and later read it in your design. This parameter does not generate a PLL or more hardware to control the frequency.

Type Members

  1. class Area extends ClockingArea

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. var _spinalTags: LinkedHashSet[SpinalTag]

    Permalink
    Definition Classes
    SpinalTagReady
  5. def addAttribute(name: String, value: Int): ClockDomain.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  6. def addAttribute(name: String, value: String): ClockDomain.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  7. def addAttribute(name: String): ClockDomain.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  8. def addAttribute(attribute: Attribute): ClockDomain.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  9. def addTag[T <: SpinalTag](spinalTag: T): ClockDomain.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  10. def addTags(h: SpinalTag, tail: SpinalTag*): ClockDomain.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  11. def addTags[T <: SpinalTag](tags: Iterable[T]): ClockDomain.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  12. def apply[T](block: ⇒ T): T

    Permalink
  13. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  14. def canInit: Boolean

    Permalink
  15. val clock: Bool

    Permalink

    Clock signal that defines the domain

  16. val clockEnable: Bool

    Permalink

    Disable the clock on the whole clock domain without having to manually implement that on each synchronous element.

  17. val clockEnableDivisionRate: DivisionRate

    Permalink
  18. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  19. val config: ClockDomainConfig

    Permalink

    Specify the polarity of signals and the nature of the reset.

  20. val dummyArg: DummyTrait

    Permalink
  21. def duringReset(body: ⇒ Unit): Unit

    Permalink
  22. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  23. def existsTag(cond: (SpinalTag) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    SpinalTagReady
  24. def filterTag(cond: (SpinalTag) ⇒ Boolean): Iterable[SpinalTag]

    Permalink
    Definition Classes
    SpinalTagReady
  25. def findTag(cond: (SpinalTag) ⇒ Boolean): Option[SpinalTag]

    Permalink
    Definition Classes
    SpinalTagReady
  26. def foreachTag(body: (SpinalTag) ⇒ Unit): Unit

    Permalink
    Definition Classes
    SpinalTagReady
  27. var frequency: ClockFrequency

    Permalink

    Allows you to specify the frequency of the given clock domain and later read it in your design.

    Allows you to specify the frequency of the given clock domain and later read it in your design. This parameter does not generate a PLL or more hardware to control the frequency.

  28. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  29. def getTag[T <: SpinalTag](clazz: Class[T]): Option[T]

    Permalink
    Definition Classes
    SpinalTagReady
  30. def getTags(): LinkedHashSet[SpinalTag]

    Permalink
    Definition Classes
    SpinalTagReady
  31. def getTagsOf[T <: SpinalTag]()(implicit tag: ClassTag[T]): Iterable[T]

    Permalink
    Definition Classes
    SpinalTagReady
  32. def hasClockEnableSignal: Boolean

    Permalink
  33. def hasResetSignal: Boolean

    Permalink
  34. def hasSoftResetSignal: Boolean

    Permalink
  35. def hasTag[T <: SpinalTag](clazz: Class[T]): Boolean

    Permalink
    Definition Classes
    SpinalTagReady
  36. def hasTag(spinalTag: SpinalTag): Boolean

    Permalink
    Definition Classes
    SpinalTagReady
  37. def instanceAttributes(language: Language): Iterable[Attribute]

    Permalink
    Definition Classes
    SpinalTagReady
  38. def instanceAttributes: Iterable[Attribute]

    Permalink
    Definition Classes
    SpinalTagReady
  39. val instanceCounter: Int

    Permalink
  40. def isClockEnableActive: Bool

    Permalink
  41. def isEmptyOfTag: Boolean

    Permalink
    Definition Classes
    SpinalTagReady
  42. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  43. def isResetActive: Bool

    Permalink
  44. def isSoftResetActive: Bool

    Permalink
  45. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  46. def newClockDomainSlowedBy(factor: BigInt): ClockDomain

    Permalink

    Slow down the current clock to factor time

  47. def newSlowedClockDomain(freq: HertzNumber): ClockDomain

    Permalink
  48. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  49. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  50. def on[T](block: ⇒ T): T

    Permalink
  51. def onEachAttributes(doIt: (Attribute) ⇒ Unit): Unit

    Permalink
    Definition Classes
    SpinalTagReady
  52. def push(): ClockDomainStack.SetReturn

    Permalink
  53. def readClockEnableWire: Bool

    Permalink
  54. def readClockWire: Bool

    Permalink
  55. def readResetWire: Bool

    Permalink
  56. def readSoftResetWire: Bool

    Permalink
  57. def removeTag(spinalTag: SpinalTag): ClockDomain.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  58. def removeTags(tags: Iterable[SpinalTag]): ClockDomain.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  59. def renamePulledWires(clock: String = null, reset: String = null, softReset: String = null, enable: String = null): ClockDomain.this.type

    Permalink
  60. val reset: Bool

    Permalink

    Reset signal.

    Reset signal. If a register exists which needs a reset and the clock domain doesn’t provide one, an error message will be displayed.

  61. def samplingRate: IClockDomainFrequency

    Permalink
  62. def setSyncWith(that: ClockDomain): ClockDomain.this.type

    Permalink
  63. def setSynchronousWith(that: ClockDomain): ClockDomain.this.type

    Permalink
  64. val softReset: Bool

    Permalink

    Reset which infers an additional synchronous reset

  65. def spinalTags: LinkedHashSet[SpinalTag]

    Permalink
    Definition Classes
    SpinalTagReady
  66. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  67. def toString(): String

    Permalink
    Definition Classes
    ClockDomain → AnyRef → Any
  68. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  69. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  70. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  71. def withAsyncReset(): ClockDomain

    Permalink
  72. def withBootReset(): ClockDomain

    Permalink
  73. def withRevertedClockEdge(): ClockDomain

    Permalink
  74. def withSyncReset(): ClockDomain

    Permalink
  75. def withoutReset(): ClockDomain

    Permalink

Deprecated Value Members

  1. def clone(config: ClockDomainConfig = config, clock: Bool = clock, reset: Bool = reset, dummyArg: DummyTrait = null, softReset: Bool = softReset, clockEnable: Bool = clockEnable): ClockDomain

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.3.0) Use copy instead of clone

  2. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

  3. def setSyncronousWith(that: ClockDomain): ClockDomain

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version SpinalHDL 1.2.3) misspelled method will be removed

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from SpinalTagReady

Inherited from AnyRef

Inherited from Any

Ungrouped