Class ShiftSynthesizer

  extended bybyucc.jhdl.synth.operators.LogicSynthesizer
      extended bybyucc.jhdl.synth.operators.ShiftSynthesizer
All Implemented Interfaces:

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


public ShiftSynthesizer()
Method Detail


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
createCell in class LogicSynthesizer
operator - an operator in a DataFlowGraph specifying the operation to be performed by the new cell.
inputWires - ignored
the output wire of the newly created cell.

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