|
|||||||||||
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 |