Packages

class Scheduler extends LazyLogging

The scheduler holds the assignment statements of the entire circuit. Clocks introduce a level of complexity, in that when they flip registers who use those clocks must copy there inputs to their outputs. Also since registers are triggered by the derived highest level clock that can be found, child clocks must be separately driven. This is what the triggeredUnassigns are for.

Source
Scheduler.scala
Linear Supertypes
LazyLogging, AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Scheduler
  2. LazyLogging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Scheduler(symbolTable: SymbolTable)

    symbolTable

    symbol table is used to find orphans

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. def addAssigner(symbol: Symbol, assigner: Assigner, triggerOption: Option[Symbol] = None, excludeFromCombinational: Boolean = false): Unit
  5. def addUnassigner(symbol: Symbol, assigner: Assigner): Unit
  6. val allUnassigners: ArrayBuffer[Assigner]
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. val clockAssigners: ArrayBuffer[Assigner]
  9. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  10. var combinationalAssigns: ArrayBuffer[Assigner]
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def executeCombinationalAssigns(): Unit

    updates signals that depend on inputs

  14. def executeOrphanedAssigns(): Unit

    updates signals that depend on inputs

  15. def executeTriggeredAssigns(trigger: Symbol): Unit

    updates signals that depend on inputs

  16. def executeTriggeredUnassigns(trigger: Symbol): Unit

    this is like executeTriggeredAssigns but is a hack to propagate clock down signals to child clocks

  17. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. def getAllAssigners: Seq[Assigner]
  19. def getAssignerInfo(symbolName: String): Info
  20. def getAssignerInfo(symbol: Symbol): Info
  21. def getAssigners(symbols: Seq[Symbol]): Seq[Assigner]
  22. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  23. def hasAssigner(symbol: Symbol): Boolean
  24. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  25. def inputChildrenAssigners(): Seq[Assigner]
  26. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  27. def isTrigger(symbol: Symbol): Boolean
  28. val logger: Logger
    Definition Classes
    LazyLogging
  29. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  30. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  31. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  32. def organizeAssigners(): Unit
  33. val orphanedAssigns: ArrayBuffer[Assigner]
  34. val registerClocks: HashSet[Symbol]
  35. def render(engine: ExecutionEngine): String

    Render the assigners managed by this scheduler

  36. def setLeanMode(setLean: Boolean): Unit
  37. def setOrphanedAssigners(assigners: Seq[Assigner]): Unit
  38. def setVerboseAssign(isVerbose: Boolean): Unit
  39. def sortInputSensitiveAssigns(): Unit

    de-duplicates and sorts assignments that depend on top level inputs.

  40. val symbolTable: SymbolTable
  41. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  42. def toString(): String
    Definition Classes
    AnyRef → Any
  43. val triggeredAssigns: HashMap[Symbol, ArrayBuffer[Assigner]]
  44. val triggeredUnassigns: HashMap[Symbol, ArrayBuffer[Assigner]]
  45. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  47. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from LazyLogging

Inherited from AnyRef

Inherited from Any

Ungrouped