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
- Alphabetic
- By Inheritance
- ClockDomain
- Serializable
- Serializable
- Product
- Equals
- SpinalTagReady
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
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())
- 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
- class Area extends ClockingArea
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
val
_spinalTags: LinkedHashSet[SpinalTag]
- Definition Classes
- SpinalTagReady
-
def
addAttribute(name: String, value: Int): ClockDomain.this.type
- Definition Classes
- SpinalTagReady
-
def
addAttribute(name: String, value: String): ClockDomain.this.type
- Definition Classes
- SpinalTagReady
-
def
addAttribute(name: String): ClockDomain.this.type
- Definition Classes
- SpinalTagReady
-
def
addAttribute(attribute: Attribute): ClockDomain.this.type
- Definition Classes
- SpinalTagReady
-
def
addTag[T <: SpinalTag](spinalTag: T): ClockDomain.this.type
- Definition Classes
- SpinalTagReady
-
def
addTags(h: SpinalTag, tail: SpinalTag*): ClockDomain.this.type
- Definition Classes
- SpinalTagReady
-
def
addTags[T <: SpinalTag](tags: Iterable[T]): ClockDomain.this.type
- Definition Classes
- SpinalTagReady
- def apply[T](block: ⇒ T): T
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- def canInit: Boolean
- val clock: Bool
- val clockEnable: Bool
- val clockEnableDivisionRate: DivisionRate
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
- val config: ClockDomainConfig
- val dummyArg: DummyTrait
- def duringReset(body: ⇒ Unit): Unit
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
existsTag(cond: (SpinalTag) ⇒ Boolean): Boolean
- Definition Classes
- SpinalTagReady
-
def
filterTag(cond: (SpinalTag) ⇒ Boolean): Iterable[SpinalTag]
- Definition Classes
- SpinalTagReady
-
def
findTag(cond: (SpinalTag) ⇒ Boolean): Option[SpinalTag]
- Definition Classes
- SpinalTagReady
-
def
foreachTag(body: (SpinalTag) ⇒ Unit): Unit
- Definition Classes
- SpinalTagReady
- var frequency: ClockFrequency
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
getTag[T <: SpinalTag](clazz: Class[T]): Option[T]
- Definition Classes
- SpinalTagReady
-
def
getTags(): LinkedHashSet[SpinalTag]
- Definition Classes
- SpinalTagReady
-
def
getTagsOf[T <: SpinalTag]()(implicit tag: ClassTag[T]): Iterable[T]
- Definition Classes
- SpinalTagReady
- def hasClockEnableSignal: Boolean
- def hasResetSignal: Boolean
- def hasSoftResetSignal: Boolean
-
def
hasTag[T <: SpinalTag](clazz: Class[T]): Boolean
- Definition Classes
- SpinalTagReady
-
def
hasTag(spinalTag: SpinalTag): Boolean
- Definition Classes
- SpinalTagReady
-
def
instanceAttributes(language: Language): Iterable[Attribute]
- Definition Classes
- SpinalTagReady
-
def
instanceAttributes: Iterable[Attribute]
- Definition Classes
- SpinalTagReady
- val instanceCounter: Int
- def isClockEnableActive: Bool
-
def
isEmptyOfTag: Boolean
- Definition Classes
- SpinalTagReady
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isResetActive: Bool
- def isSoftResetActive: Bool
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
newClockDomainSlowedBy(factor: BigInt): ClockDomain
Slow down the current clock to factor time
- def newSlowedClockDomain(freq: HertzNumber): ClockDomain
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def on[T](block: ⇒ T): T
-
def
onEachAttributes(doIt: (Attribute) ⇒ Unit): Unit
- Definition Classes
- SpinalTagReady
- def push(): ClockDomainStack.SetReturn
- def readClockEnableWire: Bool
- def readClockWire: Bool
- def readResetWire: Bool
- def readSoftResetWire: Bool
-
def
removeTag(spinalTag: SpinalTag): ClockDomain.this.type
- Definition Classes
- SpinalTagReady
-
def
removeTags(tags: Iterable[SpinalTag]): ClockDomain.this.type
- Definition Classes
- SpinalTagReady
- def renamePulledWires(clock: String = null, reset: String = null, softReset: String = null, enable: String = null): ClockDomain.this.type
- val reset: Bool
- def samplingRate: IClockDomainFrequency
- def setSyncWith(that: ClockDomain): ClockDomain.this.type
- def setSynchronousWith(that: ClockDomain): ClockDomain.this.type
- val softReset: Bool
-
def
spinalTags: LinkedHashSet[SpinalTag]
- Definition Classes
- SpinalTagReady
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- ClockDomain → AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def withAsyncReset(): ClockDomain
- def withBootReset(): ClockDomain
- def withRevertedClockEdge(): ClockDomain
- def withSyncReset(): ClockDomain
- def withoutReset(): ClockDomain
Deprecated Value Members
-
def
clone(config: ClockDomainConfig = config, clock: Bool = clock, reset: Bool = reset, dummyArg: DummyTrait = null, softReset: Bool = softReset, clockEnable: Bool = clockEnable): ClockDomain
- Annotations
- @deprecated
- Deprecated
(Since version 1.3.0) Use copy instead of clone
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated
-
def
setSyncronousWith(that: ClockDomain): ClockDomain
- Annotations
- @deprecated
- Deprecated
(Since version SpinalHDL 1.2.3) misspelled method will be removed