|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectbyucc.jhdl.synth.DFSubGraph
An object used to represent a subset of a DataFlowGraph. DFSubGraph will maintain the following data:
| Constructor Summary | |
DFSubGraph(DataFlowGraph parent,
java.lang.String name)
Create a new DFSubGraph under the given DataFlowGraph and with the given name. |
|
| Method Summary | |
DFVertex |
addAnnotation(java.lang.String name)
Add a new annotation to this DFSubGraph. |
DFVertex |
addConstant(int width,
int value)
Add a new constant to the subGraph with the given value, or return a previously existing. |
DFEdge |
addDFEdge(Vertex tail,
java.lang.String tailPort,
Vertex head)
Add a new DFEdge with the given tail port name to the subGraph. |
DFEdge |
addDFEdge(Vertex tail,
java.lang.String tailPort,
Vertex head,
java.lang.String headPort)
Add a new DFEdge with the given port names to the subGraph. |
DFEdge |
addDFEdge(Vertex tail,
Vertex head)
Add a new DFEdge to the subGraph. |
DFEdge |
addDFEdge(Vertex tail,
Vertex head,
java.lang.String headPort)
Add a new DFEdge with the given head port name to the subGraph. |
DFVertex |
addDFVertex(java.lang.String name)
Add a new DFVertex to the graph. |
Edge |
addEdge(Vertex tail,
Vertex head)
Add a new Edge to the subGraph. |
DFVertex |
addOperator(java.lang.String operation)
Add a new operator to this DFSubGraph. |
DFVertex |
addSignal(int width,
java.lang.String name)
Add a new signal to the subGraph with the given name, or return a previously existing one. |
DFVertex |
addUnsharedConstant(int width,
int value)
Add a new unshared constant to this DFSubGraph. |
DFVertex |
addUnsharedSignal(int width,
java.lang.String name)
Add a new unshared signal to this DFSubGraph. |
Vertex |
addVertex(java.lang.String name)
Add a new Vertex to the graph. |
void |
connectSourceAndSink()
Connect the source and sink vertices to all dangling vertices. |
DFVertex |
findDecisionSignal()
Find a signal in this subGraph that is named DataFlowGraph.DECISION_VERTEX_NAME. |
DFVertex |
getConstant(int width,
int value)
Get a constant from the subGraph that has the given value, (null if none exists) |
GenericIterator |
getInputSignals()
Get a GenericIterator of all input signals in the subgraph. |
java.lang.String |
getName()
Get the name of this subGraph. |
GenericIterator |
getOutputSignals()
Get a GenericIterator of all output signals in the subgraph. |
DataFlowGraph |
getParent()
Get the parent graph of this subGraph. |
DFVertex |
getSignal(java.lang.String name)
Get a signal from the subGraph that has the given name, (null if none exists) |
GenericIterator |
getSignals()
Get a GenericIterator of all signals in the subgraph. |
DFVertex |
getSink()
Get the sink vertex for this DFSubGraph. |
DFVertex |
getSource()
Get the source vertex for this DFSubGraph. |
boolean |
hasConstant(int width,
int value)
Does this subGraph have a constant with the given width and value. |
boolean |
hasSignal(java.lang.String name)
Does this subGraph have a signal with the given name. |
void |
resolveInputSignalsAndConstants()
Resolve the state of this subGraph in terms of input signals and constants. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public DFSubGraph(DataFlowGraph parent,
java.lang.String name)
parent - the DataFlowGraph to which this DFSubGraph belongs.name - the name for the new subGraph.| Method Detail |
public DataFlowGraph getParent()
public java.lang.String getName()
public DFVertex getSource()
public DFVertex getSink()
public Vertex addVertex(java.lang.String name)
name - The name for the new vertex.
public DFVertex addDFVertex(java.lang.String name)
name - The name for the new vertex.
public Edge addEdge(Vertex tail,
Vertex head)
tail - the tail vertex for the new edge.head - the head vertex for the new edge.
public DFEdge addDFEdge(Vertex tail,
Vertex head)
tail - the tail vertex for the new edge.head - the head vertex for the new edge.
public DFEdge addDFEdge(Vertex tail,
java.lang.String tailPort,
Vertex head)
tail - the tail vertex for the new edge.tailPort - the name for the port at the tail of the edge.head - the head vertex for the new edge.
public DFEdge addDFEdge(Vertex tail,
Vertex head,
java.lang.String headPort)
tail - the tail vertex for the new edge.head - the head vertex for the new edge.headPort - the name for the port at the head of the edge.
public DFEdge addDFEdge(Vertex tail,
java.lang.String tailPort,
Vertex head,
java.lang.String headPort)
tail - the tail vertex for the new edge.tailPort - the name for the port at the tail of the edge.head - the head vertex for the new edge.headPort - the name for the port at the head of the edge.
public boolean hasSignal(java.lang.String name)
name - The name of a signal to look up in the subGraph.
getSignal(java.lang.String)
public boolean hasConstant(int width,
int value)
width - The width of a constant to look up in the subGraph.
public DFVertex getSignal(java.lang.String name)
name - the name of the signal of interest.
hasSignal(java.lang.String),
addSignal(int, java.lang.String)public GenericIterator getSignals()
public GenericIterator getInputSignals()
public GenericIterator getOutputSignals()
public DFVertex getConstant(int width,
int value)
width - the width of the constant of interest.value - the value of the constant of interest.
hasConstant(int, int),
addConstant(int, int)
public DFVertex addSignal(int width,
java.lang.String name)
width - the width of the signal.name - the name for the signal.
DFSubGraph#hasSignal,,
addUnsharedSignal(int, java.lang.String)
public DFVertex addConstant(int width,
int value)
width - the width of the constant.value - the value for the constant.
hasConstant(int, int),
addUnsharedConstant(int, int)
public DFVertex addUnsharedSignal(int width,
java.lang.String name)
This method creates a new signal DFVertex named name. The behavior of this method is different from addSignal in that addUnsharedSignal will always make a new vertex named name, even if there is already a vertex in the graph with the same name. If you would like to share signal vertices with the same name, use addSignal rather than addUnsharedSignal.
width - the width of the new signal.name - the name for the new signal.
addSignal(int, java.lang.String)
public DFVertex addUnsharedConstant(int width,
int value)
This method creates a new constant DFVertex with value set to value. The behavior of this method is different from addConstant in that addUnsharedConstant will always make a new vertex with value value, even if there is already a vertex in the graph with the same value. If you would like to share constant vertices with the same value, use addConstant rather than addUnsharedConstant.
width - the width for the new constant.value - the value for the new constant.
addConstant(int, int)public DFVertex addOperator(java.lang.String operation)
operation - the operation performed by the new operator.
public DFVertex addAnnotation(java.lang.String name)
name - the name for this annotation.
public void connectSourceAndSink()
public void resolveInputSignalsAndConstants()
public DFVertex findDecisionSignal()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||