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

java.lang.Object
  extended by edu.byu.ece.edif.tools.replicate.nmr.AbstractOrgan
      extended by edu.byu.ece.edif.tools.replicate.nmr.xilinx.XilinxTMRComparator
All Implemented Interfaces:
Organ, java.io.Serializable

public class XilinxTMRComparator
extends AbstractOrgan

This class represents a dual-rail TMR comparator implemented as a LUT3 with init string "7E".

See Also:
Serialized Form

Field Summary
protected static XilinxTMRComparator _instance
           
protected static java.lang.String[] COMPARATOR_INPUT_NAMES
           
 
Fields inherited from class edu.byu.ece.edif.tools.replicate.nmr.AbstractOrgan
_createdOrgans, _organCell, _organOutputs, _organSuffix
 
Constructor Summary
protected XilinxTMRComparator()
           
 
Method Summary
 void createOrgan(OrganSpecification organSpec, EdifNet origNet, EdifCell newCell)
          Create a dual-rail TMR comparator.
static XilinxTMRComparator getInstance()
          Get the singleton instance of the XilinxTMRComparator class.
protected  EdifCell getLUT3ComparatorCell(EdifCell parent)
          Create a LUT3 implementation of a comparator cell if it has not been defined yet.
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.
 void wireInputs(OrganSpecification organSpecification, EdifNet origNet, java.util.List<PortConnection> driverConnections, NetManager netManager, ReplicationType replicationType)
          Wire the inputs of a previously created dual-rail TMR comparator.
 
Methods inherited from class edu.byu.ece.edif.tools.replicate.nmr.AbstractOrgan
createOrgan, getOrganCell, getOrganSuffix, getOutputs, toString, wireInputs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

COMPARATOR_INPUT_NAMES

protected static java.lang.String[] COMPARATOR_INPUT_NAMES

_instance

protected static XilinxTMRComparator _instance
Constructor Detail

XilinxTMRComparator

protected XilinxTMRComparator()
Method Detail

createOrgan

public void createOrgan(OrganSpecification organSpec,
                        EdifNet origNet,
                        EdifCell newCell)
Create a dual-rail TMR comparator.


wireInputs

public void wireInputs(OrganSpecification organSpecification,
                       EdifNet origNet,
                       java.util.List<PortConnection> driverConnections,
                       NetManager netManager,
                       ReplicationType replicationType)
Wire the inputs of a previously created dual-rail TMR comparator.


getLUT3ComparatorCell

protected EdifCell getLUT3ComparatorCell(EdifCell parent)
Create a LUT3 implementation of a comparator cell if it has not been defined yet. Add it to the library to which the parent cell belongs. If the comparator cell has already been added, a reference to that cell is simply returned.

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

getInstance

public static XilinxTMRComparator getInstance()
Get the singleton instance of the XilinxTMRComparator class.

Returns:

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