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

java.lang.Object
  extended by edu.byu.ece.edif.tools.replicate.nmr.xilinx.XilinxResourceMapper
All Implemented Interfaces:
ResourceMapper

public class XilinxResourceMapper
extends java.lang.Object
implements ResourceMapper

Maps cells and cell instances to resource types and LUT equivalents.

Version:
$Id: XilinxResourceMapper.java 151 2008-04-02 16:27:55Z jamesfcarroll $
Author:
Keith Morgan

Field Summary
protected static XilinxResourceMapper _instance
           
static java.lang.String BRAM
          Block Ram
static java.lang.String BUFG
          BUFG - Global clock buffer
protected static java.util.Map<java.lang.String,java.lang.Double> cellToLUTEquivalentMap
           
protected static java.util.Map<java.lang.String,java.lang.String> cellToResourceMap
           
static java.lang.String DCM
          Digital Clock Management / DLL
static java.lang.String DLL
           
static java.lang.String DSP
          DSP Element
static java.lang.String ETHERNET
          Ethernet MACs
static java.lang.String FF
          Flip-Flop
static java.lang.String FRAME_ECC
          V4 Frame ECC
static java.lang.String IBUFG
          IBUFGs
static java.lang.String ICAP
          V4-ICAP
static java.lang.String IO
          Input / Output Pad
static java.lang.String LUT
          Look-Up Table
static java.lang.String MGT
          MGT
static java.lang.String MULT
          Dedicated Multiplier
static java.lang.String PPC
          Power PC
static java.lang.String RES
          Resistor/Keeper element
static java.lang.String TRANSEIVER
          Rocket IO Transeiver
 
Constructor Summary
protected XilinxResourceMapper()
           
 
Method Summary
 double getApproxLutUsage(EdifCell cell)
           
 double getApproxLUTUsage(EdifCellInstance eci)
           
static XilinxResourceMapper getInstance()
           
 java.lang.String getResourceType(EdifCell cell)
           
 java.lang.String getResourceType(EdifCellInstance eci)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_instance

protected static XilinxResourceMapper _instance

BRAM

public static final java.lang.String BRAM
Block Ram

See Also:
Constant Field Values

BUFG

public static final java.lang.String BUFG
BUFG - Global clock buffer

Note:"In Virtex-II/II Pro, BUFG is available for instantiation, but will be implemented with BUFGMUX." (Source: "Using Global Clock Buffers")

"There are 32 global clock buffers in every Virtex-4 device." (Source: UG070 Xilinx Virtex-4 User Guide)

See Also:
Constant Field Values

DCM

public static final java.lang.String DCM
Digital Clock Management / DLL

BHP: DCMs and DLLs are mutually exlusive as far as availability goes, so they can be combined. Also, in later devices, a DLL in the source EDIF will automatically be interpreted as a DCM, so it makes sense for them to share the same resource type.

See Also:
Constant Field Values

DLL

public static final java.lang.String DLL
See Also:
Constant Field Values

FF

public static final java.lang.String FF
Flip-Flop

See Also:
Constant Field Values

IO

public static final java.lang.String IO
Input / Output Pad

See Also:
Constant Field Values

LUT

public static final java.lang.String LUT
Look-Up Table

See Also:
Constant Field Values

MGT

public static final java.lang.String MGT
MGT

See Also:
Constant Field Values

MULT

public static final java.lang.String MULT
Dedicated Multiplier

See Also:
Constant Field Values

RES

public static final java.lang.String RES
Resistor/Keeper element

See Also:
Constant Field Values

PPC

public static final java.lang.String PPC
Power PC

See Also:
Constant Field Values

DSP

public static final java.lang.String DSP
DSP Element

See Also:
Constant Field Values

ICAP

public static final java.lang.String ICAP
V4-ICAP

See Also:
Constant Field Values

FRAME_ECC

public static final java.lang.String FRAME_ECC
V4 Frame ECC

See Also:
Constant Field Values

TRANSEIVER

public static final java.lang.String TRANSEIVER
Rocket IO Transeiver

See Also:
Constant Field Values

ETHERNET

public static final java.lang.String ETHERNET
Ethernet MACs

See Also:
Constant Field Values

IBUFG

public static final java.lang.String IBUFG
IBUFGs

See Also:
Constant Field Values

cellToResourceMap

protected static final java.util.Map<java.lang.String,java.lang.String> cellToResourceMap

cellToLUTEquivalentMap

protected static final java.util.Map<java.lang.String,java.lang.Double> cellToLUTEquivalentMap
Constructor Detail

XilinxResourceMapper

protected XilinxResourceMapper()
Method Detail

getInstance

public static XilinxResourceMapper getInstance()

getApproxLutUsage

public double getApproxLutUsage(EdifCell cell)
Specified by:
getApproxLutUsage in interface ResourceMapper

getApproxLUTUsage

public double getApproxLUTUsage(EdifCellInstance eci)
Specified by:
getApproxLUTUsage in interface ResourceMapper

getResourceType

public java.lang.String getResourceType(EdifCell cell)
Specified by:
getResourceType in interface ResourceMapper

getResourceType

public java.lang.String getResourceType(EdifCellInstance eci)
Specified by:
getResourceType in interface ResourceMapper