|
|||||||||||
| 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 CellBuildException - 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.PropagateableneedsToBeAsynchronouslyScheduled in class CLpublic java.lang.String toString()
toString in class Cellpublic void propagate()
propagate in interface byucc.jhdl.base.Propagateablepublic final boolean portMayBeUndriven(java.lang.String name)
portMayBeUndriven in interface UndrivenInputsAllowablename - the name of the port to check (ignored)
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||