Packages

class JohnsonCounter extends ImplicitArea[Bits] with CounterLike[Bits]

Johnson (twisted-ring / Möbius) counter with 2 * width legal states.

Implementation note: the counter is self-recovering — any illegal start-up pattern reaches the legal cycle within at most width increments — but recovery is not guaranteed in a single cycle.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JohnsonCounter
  2. CounterLike
  3. ImplicitArea
  4. Area
  5. OverridedEqualsHashCode
  6. ValCallbackRec
  7. ValCallback
  8. NameableByComponent
  9. Nameable
  10. ContextUser
  11. ScalaLocated
  12. GlobalDataUser
  13. OwnableRef
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new JohnsonCounter(width: Int, upper: BoundaryPolicy = BoundaryPolicy.Wrap)

    width

    Width of the underlying shift register; total legal state count is 2 * width. Must be at least 2 (single-bit Johnson counters cannot self-recover).

    upper

    Policy at the top of the cycle. BoundaryPolicy.Saturate is rejected because Johnson cycles do not have a meaningful saturate point.

Type Members

  1. abstract type RefOwnerType
    Definition Classes
    OwnableRef

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val _context: Capture
    Definition Classes
    Area
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def childNamePriority: Byte
    Definition Classes
    Area
  7. def clear(): Unit

    Schedule a reset to the initial value on this cycle.

    Schedule a reset to the initial value on this cycle.

    Definition Classes
    CounterLike
  8. def clkDiv: Bool

    A 50%-duty-cycle signal at 1/(2*width) of the clock.

  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  10. def component: Component
    Definition Classes
    ContextUser
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(obj: Any): Boolean
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  13. def foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit
    Definition Classes
    Nameable
  14. def freeRun(): JohnsonCounter.this.type

    Make this counter free-running (increments every cycle)

  15. def frozen: Bool

    True when the counter is currently latched at a BoundaryPolicy.Freeze boundary.

    True when the counter is currently latched at a BoundaryPolicy.Freeze boundary.

    Definition Classes
    JohnsonCounterCounterLike
  16. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  17. def getDisplayName(): String
    Definition Classes
    Nameable
  18. def getInstanceCounter: Int
    Definition Classes
    ContextUser
  19. def getMode: Byte
    Attributes
    protected
    Definition Classes
    Nameable
  20. def getName(default: String): String
    Definition Classes
    NameableByComponentNameable
  21. def getName(): String
    Definition Classes
    NameableByComponentNameable
  22. def getPartialName(): String
    Definition Classes
    Nameable
  23. def getPath(from: Component, to: Component): Seq[Component]
    Definition Classes
    NameableByComponent
  24. def getRefOwnersChain(): List[Any]
    Definition Classes
    OwnableRef
  25. def getScalaLocationLong: String
    Definition Classes
    ScalaLocated
  26. def getScalaLocationShort: String
    Definition Classes
    ScalaLocated
  27. def getScalaTrace(): Throwable
    Definition Classes
    ScalaLocated
  28. val globalData: GlobalData
    Definition Classes
    GlobalDataUser
  29. def hashCode(): Int
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  30. def implicitValue: Bits
    Definition Classes
    JohnsonCounterCounterLikeImplicitArea
  31. def increment(): Unit

    Schedule an increment on this cycle.

  32. def isCompletelyUnnamed: Boolean
    Definition Classes
    Nameable
  33. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  34. final def isNamed: Boolean
    Definition Classes
    Nameable
  35. def isPriorityApplicable(namePriority: Byte): Boolean
    Definition Classes
    Nameable
  36. def isUnnamed: Boolean
    Definition Classes
    NameableByComponentNameable
  37. def load(raw: Bits): Unit

    Schedule loading raw into the counter on this cycle.

    Schedule loading raw into the counter on this cycle.

    Definition Classes
    CounterLike
  38. val name: String
    Definition Classes
    Nameable
  39. val nameableRef: Nameable
    Attributes
    protected
    Definition Classes
    Nameable
    Annotations
    @DontName()
  40. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  41. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  42. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  43. def overrideLocalName(name: String): JohnsonCounter.this.type
    Definition Classes
    Nameable
  44. val parentScope: ScopeStatement
    Definition Classes
    ContextUser
  45. val refOwner: RefOwnerType
    Definition Classes
    OwnableRef
    Annotations
    @DontName()
  46. def reflectNames(): Unit
    Definition Classes
    Nameable
  47. def rework[T](body: ⇒ T): T
    Definition Classes
    Area
  48. val scalaTrace: Throwable
    Definition Classes
    ScalaLocated
  49. def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): JohnsonCounter.this.type
    Definition Classes
    Nameable
  50. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): JohnsonCounter.this.type
    Definition Classes
    Nameable
  51. def setCompositeName(nameable: Nameable, postfix: String): JohnsonCounter.this.type
    Definition Classes
    Nameable
  52. def setCompositeName(nameable: Nameable, namePriority: Byte): JohnsonCounter.this.type
    Definition Classes
    Nameable
  53. def setCompositeName(nameable: Nameable, weak: Boolean): JohnsonCounter.this.type
    Definition Classes
    Nameable
  54. def setCompositeName(nameable: Nameable): JohnsonCounter.this.type
    Definition Classes
    Nameable
  55. def setLambdaName(isNameBody: ⇒ Boolean)(nameGen: ⇒ String): JohnsonCounter.this.type
    Definition Classes
    Nameable
  56. def setName(name: String, namePriority: Byte): JohnsonCounter.this.type
    Definition Classes
    Nameable
  57. def setName(name: String, weak: Boolean): JohnsonCounter.this.type
    Definition Classes
    Nameable
  58. def setName(name: String): JohnsonCounter.this.type
    Definition Classes
    Nameable
  59. def setNameAsWeak(): JohnsonCounter.this.type
    Definition Classes
    Nameable
  60. def setPartialName(name: String, namePriority: Byte, owner: Any): JohnsonCounter.this.type
    Definition Classes
    Nameable
  61. def setPartialName(name: String, namePriority: Byte): JohnsonCounter.this.type
    Definition Classes
    Nameable
  62. def setPartialName(name: String, weak: Boolean): JohnsonCounter.this.type
    Definition Classes
    Nameable
  63. def setPartialName(owner: Nameable, name: String, namePriority: Byte): JohnsonCounter.this.type
    Definition Classes
    Nameable
  64. def setPartialName(owner: Nameable, name: String, weak: Boolean): JohnsonCounter.this.type
    Definition Classes
    Nameable
  65. def setPartialName(name: String): JohnsonCounter.this.type
    Definition Classes
    Nameable
  66. def setPartialName(owner: Nameable, name: String): JohnsonCounter.this.type
    Definition Classes
    Nameable
  67. def setPartialName(owner: Nameable): JohnsonCounter.this.type
    Definition Classes
    Nameable
  68. def setRefOwner(that: Any): Unit
    Definition Classes
    OwnableRef
  69. def setScalaLocated(source: ScalaLocated): JohnsonCounter.this.type
    Definition Classes
    ScalaLocated
  70. def setWeakName(name: String): JohnsonCounter.this.type
    Definition Classes
    Nameable
  71. def stateCount: BigInt

    Total number of legal states the counter can occupy.

    Total number of legal states the counter can occupy.

    Definition Classes
    JohnsonCounterCounterLike
  72. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  73. def toFlow(): Flow[Bits]

    Stream the counter as a Flow whose payload carries value and whose valid follows willAdvance.

    Stream the counter as a Flow whose payload carries value and whose valid follows willAdvance.

    Definition Classes
    CounterLike
  74. def toString(): String
    Definition Classes
    AreaNameable → AnyRef → Any
  75. def unsetName(): JohnsonCounter.this.type
    Definition Classes
    Nameable
  76. val upper: BoundaryPolicy
  77. def valCallback[T](ref: T, name: String): T
    Definition Classes
    ValCallbackRec → ValCallback
  78. def valCallbackOn(ref: Any, name: String, refs: Set[Any]): Unit
    Definition Classes
    ValCallbackRec
  79. def valCallbackRec(obj: Any, name: String): Unit
    Definition Classes
    AreaValCallbackRec
  80. val value: Bits

    Current registered counter value.

    Current registered counter value.

    Definition Classes
    JohnsonCounterCounterLike
  81. val valueNext: Bits

    Combinational next value driven into the register this cycle.

    Combinational next value driven into the register this cycle.

    Definition Classes
    JohnsonCounterCounterLike
  82. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  83. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  84. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  85. val width: Int
  86. val willAdvance: Bool

    True on the cycle the counter is moving (incrementing or decrementing).

    True on the cycle the counter is moving (incrementing or decrementing).

    Definition Classes
    JohnsonCounterCounterLike
  87. val willClear: Bool

    True on the cycle the counter is being reset to its initial value.

    True on the cycle the counter is being reset to its initial value.

    Definition Classes
    JohnsonCounterCounterLike
  88. val willComplete: Bool

    True on the cycle the counter is completing a wrap (overflow or underflow).

    True on the cycle the counter is completing a wrap (overflow or underflow).

    Definition Classes
    JohnsonCounterCounterLike
  89. val willIncrement: Bool
  90. val willLoad: Bool

    True on the cycle the counter is being loaded from an external value.

    True on the cycle the counter is being loaded from an external value.

    Definition Classes
    JohnsonCounterCounterLike
  91. val willOverflow: Bool
  92. val willOverflowIfInc: Bool

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from CounterLike[Bits]

Inherited from ImplicitArea[Bits]

Inherited from Area

Inherited from OverridedEqualsHashCode

Inherited from ValCallbackRec

Inherited from ValCallback

Inherited from NameableByComponent

Inherited from Nameable

Inherited from ContextUser

Inherited from ScalaLocated

Inherited from GlobalDataUser

Inherited from OwnableRef

Inherited from AnyRef

Inherited from Any

Ungrouped