byucc.jhdl.synth.operators
Class ShiftSynthesizer

java.lang.Object
  extended bybyucc.jhdl.synth.operators.LogicSynthesizer
      extended bybyucc.jhdl.synth.operators.ShiftSynthesizer
All Implemented Interfaces:
OperatorSynthesizer

public class ShiftSynthesizer
extends LogicSynthesizer

A class responsible for synthesizing shift operators in a DataFlowGraph This class extends LogicSynthesizer and will call LogicSynthesizer.createCell after sorting the inputWires as appropriate so that the shifter's wires are connected correctly.


Constructor Summary
ShiftSynthesizer()
           
 
Method Summary
 Wire createCell(Logic parent, DFVertex operator, Wire[] inputWires)
          Create a cell from the given DFVertex operator.
 
Methods inherited from class byucc.jhdl.synth.operators.LogicSynthesizer
resolveInputWidths, resolveOutputWidth
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ShiftSynthesizer

public ShiftSynthesizer()
Method Detail

createCell

public Wire createCell(Logic parent,
                       DFVertex operator,
                       Wire[] inputWires)
Create a cell from the given DFVertex operator. This method will create the appropriate cell with parent as its parent and input wires from inputWires. It will return a new wire created for the output. The new cell should implement the function defined by operator.getOperation()

The only way in which ShiftSynthesizer is different from LogicSynthesizer is that we have to manually make the Logic call to create the cell. The parameter order for shift calls must be wire first and shift amount second.

Specified by:
createCell in interface OperatorSynthesizer
Overrides:
createCell in class LogicSynthesizer
Parameters:
operator - an operator in a DataFlowGraph specifying the operation to be performed by the new cell.
inputWires - ignored
Returns:
the output wire of the newly created cell.


Copyright ? 2006 Brigham Young University, Configurable Computing Laboratory. All Rights Reserved.