class Scheduler extends LazyLogging
The scheduler holds the ordered assignment statements of the entire circuit. Clocks have magic shadow symbols "clockName/prev". These shadows are used to make the circuit evaluation idempotent, i.e. evaluating the circuit at the moment of an positive clock transition can be done repeatedly and registers will only be advanced on the first call.
- Source
- Scheduler.scala
Linear Supertypes
Type Hierarchy
Ordering
- Alphabetic
- By Inheritance
Inherited
- Scheduler
- LazyLogging
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
-
new
Scheduler(symbolTable: SymbolTable)
- symbolTable
symbol table is used to find orphans
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
- def addAssigner(symbol: Symbol, assigner: Assigner, excludeFromCombinational: Boolean = false): Unit
- def addEndOfCycleAssigner(assigner: Assigner): Unit
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- var combinationalAssigns: ArrayBuffer[Assigner]
- val endOfCycleAssigns: HashSet[Assigner]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
executeCombinationalAssigns(): Unit
updates signals that depend on inputs
-
def
executeOrphanedAssigns(): Unit
updates signals that depend on inputs
- var executionEngineOpt: Option[ExecutionEngine]
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def getAllAssigners: Seq[Assigner]
- def getAssignerInfo(symbolName: String): Info
- def getAssignerInfo(symbol: Symbol): Info
- def getAssigners(symbols: Seq[Symbol]): Seq[Assigner]
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hasAssigner(symbol: Symbol): Boolean
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def inputChildrenAssigners(): Seq[Assigner]
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
val
logger: Logger
- Attributes
- protected
- Definition Classes
- LazyLogging
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def organizeAssigners(): Unit
- val orphanedAssigns: ArrayBuffer[Assigner]
-
def
render(engine: ExecutionEngine): String
Render the assigners managed by this scheduler
- def setLeanMode(setLean: Boolean): Unit
- def setOrphanedAssigners(assigners: Seq[Assigner]): Unit
- def setVerboseAssign(isVerbose: Boolean): Unit
-
def
sortInputSensitiveAssigns(): Unit
de-duplicates and sorts assignments that depend on top level inputs.
- val symbolTable: SymbolTable
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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()