|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbyucc.jhdl.base.Nameable
byucc.jhdl.base.Node
byucc.jhdl.base.Cell
byucc.jhdl.base.CL
byucc.jhdl.base.ClockDriver
Class used to create clock drivers. User's specify the schedule for the clock driver using a String of 1s and 0s.
Field Summary |
Constructor Summary | |
protected |
ClockDriver(Node parent,
java.lang.String schedule,
Wire clock)
Main constructor for class. |
protected |
ClockDriver(Node parent,
java.lang.String schedule,
Wire clock,
java.lang.String name)
Main constructor for class. |
protected |
ClockDriver(Node parent,
Wire clock)
Alternate constructor for the class, which allows delayed determination of the schedule. |
protected |
ClockDriver(Node parent,
Wire clock,
java.lang.String name)
Alternate constructor for the class, which allows delayed determination of the schedule. |
Method Summary | |
protected java.lang.String |
determineSchedule()
If this clockDriver was constructed without a schedule, this method will be called just before simulation begins. |
java.lang.String |
getSchedule()
Just returns the String representation of the clock driver schedule. |
protected int |
getScheduledValue(int schedule_index)
Returns the integer value for the ClockDriver for that time index of its schedule. |
boolean |
needsToBeAsynchronouslyScheduled()
Because this is currently a CL -- may change in the future (probably). |
boolean |
portMayBeUndriven(java.lang.String name)
Returns true, as the clock driver never reads its input (if any exist, they are for netlisting only) |
protected boolean |
preorderCheck()
Used to check validity of this ClockDriver before recursing down. |
void |
propagate()
Does nothing, as clock drivers are scheduled directly by the simulator. |
java.lang.String |
toString()
Provides a String describing this ClockDriver. |
Methods inherited from class byucc.jhdl.base.CL |
behavioralModelIsAvailable, defaultSimulationModelIsBehavioral, hasBeenTraced, hasBeenTraced, hasBehaviorInClockMethod, hasBehaviorInPropagateMethod, isAsynchronouslyScheduled, isAsynchronouslyScheduled, isReadyToBeAsynchronouslyScheduled |
Methods inherited from class byucc.jhdl.base.Node |
addObservable, addSimulatorCallback, checkAll, delete, getBuildingFlag, getChildren, getChildrenEnumeration, getDefaultClock, getInstanceName, getParent, getParentCell, getRelatives, getSystem, getWires, optimize, orphanAllowed, printAllChildren, printTree, removeSimulatorCallback, setDefaultClock |
Methods inherited from class byucc.jhdl.base.Nameable |
caseSensitivity, caseSensitivity, disableNameClashChecking, getFullName, getFullNameNoTestBench, getHierNameNoTestBench, getInstanceNo, getInstanceNumber, getLeafName, getLeafName, getRelativeName, getUserName, getUserName, hasUserSpecifiedName, isDescendantOf, setInstanceNumber |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
protected ClockDriver(Node parent, java.lang.String schedule, Wire clock, java.lang.String name)
parent
- the parent of the clock driver.schedule
- the String representation, e.g., "1010" of the schedule of the clock driver.clock
- the output clock wire of this driver.name
- the name of the clock driver.protected ClockDriver(Node parent, Wire clock, java.lang.String name)
determineSchedule()
will be
called, and must return a clock schedule that is compatible with existing
ones.
parent
- the parent of the clock driver.clock
- the output clock wire of this driver.name
- the name of the clock driver.protected ClockDriver(Node parent, java.lang.String schedule, Wire clock)
parent
- the parent of the clock driver.schedule
- the String representation, e.g., "1010" of the schedule of the clock driver.clock
- the output clock wire of this driver.protected ClockDriver(Node parent, Wire clock)
determineSchedule()
will be called, and
must return a clock schedule that is compatible with existing ones.
parent
- the parent of the clock driver.clock
- the output clock wire of this driver.Method Detail |
protected boolean preorderCheck()
Cell.preorderCheck()
to include a check
for a valid clock schedule. If this was created without a
schedule, the method determineSchedule()
will be called
to generate the schedule.
preorderCheck
in class Cell
BuildException
- if the clock schedule is invalid.Cell#checkAllNodes().
protected java.lang.String determineSchedule()
protected int getScheduledValue(int schedule_index)
schedule_index
- indicates what point of the schedule you
are interested in.
BuildException
- if this clockDriver does not yet have
a schedulepublic java.lang.String getSchedule()
public boolean needsToBeAsynchronouslyScheduled()
needsToBeAsynchronouslyScheduled
in interface byucc.jhdl.base.Propagateable
needsToBeAsynchronouslyScheduled
in class CL
public java.lang.String toString()
toString
in class Cell
public void propagate()
propagate
in interface byucc.jhdl.base.Propagateable
public final boolean portMayBeUndriven(java.lang.String name)
portMayBeUndriven
in interface UndrivenInputsAllowable
name
- the name of the port to check (ignored)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |