edu.byu.ece.edif.tools.replicate.nmr.xilinx
Class XilinxDaisyChainDetectionMerger

java.lang.Object
  extended by edu.byu.ece.edif.tools.replicate.nmr.dwc.DetectionOutputMerger
      extended by edu.byu.ece.edif.tools.replicate.nmr.xilinx.XilinxDaisyChainDetectionMerger
All Implemented Interfaces:
java.io.Serializable

public class XilinxDaisyChainDetectionMerger
extends DetectionOutputMerger

See Also:
Serialized Form

Field Summary
protected static XilinxDaisyChainDetectionMerger _instance
           
protected  EdifCell _mergerCell
           
protected static java.lang.String MERGER_NAME
           
 
Fields inherited from class edu.byu.ece.edif.tools.replicate.nmr.dwc.DetectionOutputMerger
_detectionType
 
Constructor Summary
protected XilinxDaisyChainDetectionMerger()
           
 
Method Summary
protected  EdifCellInstance addMergerInstance(EdifNameable mergerName, EdifCell topCell)
           
static XilinxDaisyChainDetectionMerger getInstance()
           
protected  EdifCell getORMergerCell(EdifCell parent)
          Creates a OR2 implementation of a merger cell if it has not been defined yet.
protected  PortConnection mergeConnections(java.util.List<PortConnection> connections, EdifCell topCell, NetManager netManager)
           
 java.util.List<PortConnection> mergeOutputs(java.util.List<java.util.List<PortConnection>> outputs, EdifCell topCell, NetManager netManager)
          Merge the outputs in the given list.
private  java.lang.Object readResolve()
          This method ensures that during deserialization, the _instance variable will be referred to and possibly modified so that extra instances (more than necessary) don't get created.
 
Methods inherited from class edu.byu.ece.edif.tools.replicate.nmr.dwc.DetectionOutputMerger
equals
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_mergerCell

protected EdifCell _mergerCell

_instance

protected static XilinxDaisyChainDetectionMerger _instance

MERGER_NAME

protected static java.lang.String MERGER_NAME
Constructor Detail

XilinxDaisyChainDetectionMerger

protected XilinxDaisyChainDetectionMerger()
Method Detail

getInstance

public static XilinxDaisyChainDetectionMerger getInstance()

mergeOutputs

public java.util.List<PortConnection> mergeOutputs(java.util.List<java.util.List<PortConnection>> outputs,
                                                   EdifCell topCell,
                                                   NetManager netManager)
Description copied from class: DetectionOutputMerger
Merge the outputs in the given list. (Each List of PortConnections is a single output).

Specified by:
mergeOutputs in class DetectionOutputMerger
Returns:

mergeConnections

protected PortConnection mergeConnections(java.util.List<PortConnection> connections,
                                          EdifCell topCell,
                                          NetManager netManager)

addMergerInstance

protected EdifCellInstance addMergerInstance(EdifNameable mergerName,
                                             EdifCell topCell)

getORMergerCell

protected EdifCell getORMergerCell(EdifCell parent)
Creates a OR2 implementation of a merger cell if it has not been defined yet. Adds it to the library to which the parent cell belongs. If the merger cell has already been built, a reference to that cell is simply returned.

Parameters:
parent - The parent cell from which all libraries will be extracted.
Returns:
A merger cell implemented as a OR2.

readResolve

private java.lang.Object readResolve()
                              throws java.io.ObjectStreamException
This method ensures that during deserialization, the _instance variable will be referred to and possibly modified so that extra instances (more than necessary) don't get created.

Returns:
Throws:
java.io.ObjectStreamException