edu.byu.ece.edif.tools.sterilize.halflatch
Class XilinxHalfLatchArchitecture

java.lang.Object
  extended by edu.byu.ece.edif.tools.sterilize.halflatch.XilinxHalfLatchArchitecture
All Implemented Interfaces:
HalfLatchArchitecture, java.io.Serializable

public class XilinxHalfLatchArchitecture
extends java.lang.Object
implements HalfLatchArchitecture, java.io.Serializable

Since:
Created on Oct 29, 2005
See Also:
Serialized Form

Field Summary
private  java.util.Set<java.lang.String> _badCutPins
           
private  java.lang.String[] _constantPrimitives
           
private  int[] _constantPrimitiveValues
           
private  EdifCell _primitiveInputBufferCell
           
private  EdifCell _primitiveInverterCell
           
private  ProblemPrimitiveMap _problemPrimitiveMap
           
 
Constructor Summary
XilinxHalfLatchArchitecture()
           
XilinxHalfLatchArchitecture(IOBAnalyzer iobAnalyzer)
           
 
Method Summary
 EdifCellInstance addConstantCellInstance(EdifCell cell, int safeConstantPolarity)
           
 boolean cellRequiresReplacement(EdifCellInstance edifCellInstance)
           
 EdifCell findOrAddPrimitiveInputBufferCell(EdifLibraryManager elm)
           
 EdifCell findOrAddPrimitiveInverterCell(EdifLibraryManager elm)
           
 EdifCell findOrAddPrimitiveReplacementCell(EdifLibraryManager elm, java.lang.String safePrimitiveType)
           
private  int getConstantCellArrayIndex(java.lang.String edifCellInstanceType)
           
 int getConstantCellValue(java.lang.String edifCellInstanceType)
           
 java.lang.String getPrimitiveInputBufferCellInputPortName()
           
 java.lang.String getPrimitiveInputBufferOutputBufferName()
           
 java.lang.String getPrimitiveInverterCellInputPortName()
           
 java.lang.String getPrimitiveInverterCellOutputPortName()
           
 int getPrimitiveReplacementFloatingPortDefaultValue(EdifCellInstance edifCellInstance, java.lang.String floatingPort)
           
 java.lang.String[] getPrimitiveReplacementFloatingPorts(EdifCellInstance edifCellInstance)
           
 java.lang.String getPrimitiveReplacementType(EdifCellInstance edifCellInstance)
           
 java.lang.String getSafeConstantCellOutputPortName()
           
private  void initializeBadCutPins()
           
 boolean isBadCutPin(EdifPort port)
           
 boolean isConstantCell(java.lang.String edifCellInstanceType)
           
static void main(java.lang.String[] args)
           
 void tagIOBRegisters(java.util.Collection iobRegisters)
           
static int test()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_primitiveInverterCell

private EdifCell _primitiveInverterCell

_primitiveInputBufferCell

private EdifCell _primitiveInputBufferCell

_constantPrimitives

private java.lang.String[] _constantPrimitives

_constantPrimitiveValues

private int[] _constantPrimitiveValues

_problemPrimitiveMap

private ProblemPrimitiveMap _problemPrimitiveMap

_badCutPins

private java.util.Set<java.lang.String> _badCutPins
Constructor Detail

XilinxHalfLatchArchitecture

public XilinxHalfLatchArchitecture()

XilinxHalfLatchArchitecture

public XilinxHalfLatchArchitecture(IOBAnalyzer iobAnalyzer)
Method Detail

initializeBadCutPins

private void initializeBadCutPins()

isBadCutPin

public boolean isBadCutPin(EdifPort port)
Specified by:
isBadCutPin in interface HalfLatchArchitecture

addConstantCellInstance

public EdifCellInstance addConstantCellInstance(EdifCell cell,
                                                int safeConstantPolarity)
Specified by:
addConstantCellInstance in interface HalfLatchArchitecture

getSafeConstantCellOutputPortName

public java.lang.String getSafeConstantCellOutputPortName()
Specified by:
getSafeConstantCellOutputPortName in interface HalfLatchArchitecture

cellRequiresReplacement

public boolean cellRequiresReplacement(EdifCellInstance edifCellInstance)
Specified by:
cellRequiresReplacement in interface HalfLatchArchitecture

isConstantCell

public boolean isConstantCell(java.lang.String edifCellInstanceType)
Specified by:
isConstantCell in interface HalfLatchArchitecture

getConstantCellValue

public int getConstantCellValue(java.lang.String edifCellInstanceType)
Specified by:
getConstantCellValue in interface HalfLatchArchitecture

getConstantCellArrayIndex

private int getConstantCellArrayIndex(java.lang.String edifCellInstanceType)

getPrimitiveReplacementType

public java.lang.String getPrimitiveReplacementType(EdifCellInstance edifCellInstance)
Specified by:
getPrimitiveReplacementType in interface HalfLatchArchitecture

getPrimitiveReplacementFloatingPorts

public java.lang.String[] getPrimitiveReplacementFloatingPorts(EdifCellInstance edifCellInstance)
Specified by:
getPrimitiveReplacementFloatingPorts in interface HalfLatchArchitecture

getPrimitiveReplacementFloatingPortDefaultValue

public int getPrimitiveReplacementFloatingPortDefaultValue(EdifCellInstance edifCellInstance,
                                                           java.lang.String floatingPort)
Specified by:
getPrimitiveReplacementFloatingPortDefaultValue in interface HalfLatchArchitecture

findOrAddPrimitiveReplacementCell

public EdifCell findOrAddPrimitiveReplacementCell(EdifLibraryManager elm,
                                                  java.lang.String safePrimitiveType)
Specified by:
findOrAddPrimitiveReplacementCell in interface HalfLatchArchitecture

findOrAddPrimitiveInverterCell

public EdifCell findOrAddPrimitiveInverterCell(EdifLibraryManager elm)
Specified by:
findOrAddPrimitiveInverterCell in interface HalfLatchArchitecture

getPrimitiveInverterCellInputPortName

public java.lang.String getPrimitiveInverterCellInputPortName()
Specified by:
getPrimitiveInverterCellInputPortName in interface HalfLatchArchitecture

getPrimitiveInverterCellOutputPortName

public java.lang.String getPrimitiveInverterCellOutputPortName()
Specified by:
getPrimitiveInverterCellOutputPortName in interface HalfLatchArchitecture

findOrAddPrimitiveInputBufferCell

public EdifCell findOrAddPrimitiveInputBufferCell(EdifLibraryManager elm)
Specified by:
findOrAddPrimitiveInputBufferCell in interface HalfLatchArchitecture

getPrimitiveInputBufferCellInputPortName

public java.lang.String getPrimitiveInputBufferCellInputPortName()
Specified by:
getPrimitiveInputBufferCellInputPortName in interface HalfLatchArchitecture

getPrimitiveInputBufferOutputBufferName

public java.lang.String getPrimitiveInputBufferOutputBufferName()
Specified by:
getPrimitiveInputBufferOutputBufferName in interface HalfLatchArchitecture

tagIOBRegisters

public void tagIOBRegisters(java.util.Collection iobRegisters)

test

public static int test()

main

public static void main(java.lang.String[] args)