|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbyucc.jhdl.synth.operators.LogicSynthesizer
byucc.jhdl.synth.operators.MuxSynthesizer
A class responsible for synthesizing mux operators in a DataFlowGraph This class extends LogicSynthesizer and will call LogicSynthesizer.createCell after sorting the inputWires as appropriate so that the mux wires are connected correctly.
Constructor Summary | |
MuxSynthesizer()
|
Method Summary | |
Wire |
createCell(Logic parent,
DFVertex operator,
Wire[] inputWires)
Create a cell from the given DFVertex operator. |
void |
resolveInputWidths(DFVertex operator)
Determine the widths for one or more inputs to the given operator vertex based on the output width and other inputs with established widths. |
void |
resolveOutputWidth(DFVertex operator)
Determine the width for the output of the given operator based on one or more of the inputs with established widths. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public MuxSynthesizer()
Method Detail |
public Wire createCell(Logic parent, DFVertex operator, Wire[] inputWires)
Specifically MuxSynthesizer simply finds the input wires by tracing edges back from operator to their tail vertices and calling getAssociatedWire on each of those vertices. After locating all wires, they will be sorted in the appropriate order for the mux, then control will be passed up to super.createCell for the reflection and cell creation.
The approriate order for mux inputs is that all input edges with a non-null weight come before any with null weights. Also, all input edges with non-null weights will be sorted in ascending numerical order.
createCell
in interface OperatorSynthesizer
createCell
in class LogicSynthesizer
operator
- an operator in a DataFlowGraph specifying the operation to
be performed by the new cell.inputWires
- ignored
public void resolveOutputWidth(DFVertex operator)
resolveOutputWidth
in interface OperatorSynthesizer
resolveOutputWidth
in class LogicSynthesizer
operator
- The operator vertex whose output width is
to be resolved.public void resolveInputWidths(DFVertex operator)
resolveInputWidths
in interface OperatorSynthesizer
resolveInputWidths
in class LogicSynthesizer
operator
- The operator vertex whose input widths are to be
resolved.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |