byucc.jhdl.Xilinx.Virtex
Class VirtexTechMapper

java.lang.Object
  extended bybyucc.jhdl.Logic.BasicTechMapper
      extended bybyucc.jhdl.Logic.TechMapper
          extended bybyucc.jhdl.Xilinx.TechMapper
              extended bybyucc.jhdl.Xilinx.Virtex.VirtexTechMapper
All Implemented Interfaces:
TechMapPadInterface, TechMapPortInterface

public class VirtexTechMapper
extends TechMapper

This is the tech-mapper for the Virtex library. Takes care of instantiating gates for all circuit-methods in the Logic class. Uses a CLBPacker object to resolve all tech-mapping hints.


Field Summary
 
Fields inherited from class byucc.jhdl.Xilinx.TechMapper
addedPadsTable, insertTopLevelClockPad
 
Fields inherited from class byucc.jhdl.Logic.TechMapper
_ignore_placement_calls
 
Fields inherited from interface byucc.jhdl.Logic.TechMapPadInterface
DEFAULT_INSERT_PADS
 
Constructor Summary
VirtexTechMapper()
           
VirtexTechMapper(boolean tme)
           
VirtexTechMapper(boolean tme, int reporting_policy)
           
VirtexTechMapper(int reporting_policy)
           
 
Method Summary
 void add(Cell parent, Wire a, Wire b, Wire s, java.lang.String name)
           
 void add(Cell parent, Wire a, Wire b, Wire ci, Wire s, Wire co, java.lang.String name)
           
 void addsub(Cell parent, Wire a, Wire b, Wire ci, Wire add, Wire s, java.lang.String name)
           
 void addsub(Cell parent, Wire a, Wire b, Wire ci, Wire add, Wire s, Wire co, java.lang.String name)
           
 void and(Cell parent, Wire[] in, Wire out, java.lang.String name)
           
 Wire ashiftr(Cell parent, Wire in, int shift, Wire out)
           
 void buf(Cell parent, Wire in, Wire out, java.lang.String name)
           
 Wire concat(Cell parent, Wire[] wa, java.lang.String name)
           
 Wire concat(Cell parent, WireList wl, java.lang.String name)
           
 void constant(Cell parent, Wire out, BV value, java.lang.String name)
           
 void constant(Cell parent, Wire out, int value, java.lang.String name)
           
 PlacementInfo createPlacementInfo(Cell c)
           
 java.lang.String getLibName()
          Returns the name of the library targetted by the particular techmapper.
 java.lang.String getRLOCFromPlacementInfo(Cell c)
           
static Cell getSinkHierarchicalCell(Cell caller, Cell par, Wire w)
           
 Cell getSinkLeafCell(Logic requester, Cell par, Wire w)
          Deprecated. Returns any arbitrary leaf cell on the sink list of this wire.
static Cell getSourceHierarchicalCell(Cell caller, Wire w)
           
 Cell getSourceLeafCell(Logic requester, Wire w)
           
 Cell getSourcePlaceable(Cell requester, Wire w)
           
 Cell getSourcePlaceableLeaf(Cell requester, Wire w)
           
 java.lang.String getTechMapHint(Logic parent, Cell c)
           
 java.lang.String getTechMapHint(Logic parent, Wire w)
           
 void gnd(Cell parent, Wire o, java.lang.String name)
           
 Cell map(Logic parent, Wire[] in, Wire out, java.lang.String hints)
           
static boolean mapSmallGates()
          Method used to determine if small gates (4 inputs or less) are mapped to LUTs, or left unmapped.
static boolean mapSmallGates(boolean state)
          Method used to set whether or not small gates are mapped.
 void mux(Cell parent, Wire[] d, Wire sel, Wire out, java.lang.String name)
           
 void nand(Cell parent, Wire[] in, Wire out, java.lang.String name)
           
 void nor(Cell parent, Wire[] in, Wire out, java.lang.String name)
           
 void not(Cell parent, Wire in, Wire out, java.lang.String name)
           
 void or(Cell parent, Wire[] in, Wire out, java.lang.String name)
           
 void padClock(Cell parent, Wire pad, Wire in, java.lang.String[] mods, java.lang.String name)
           
 void padIn(Cell parent, boolean clocked, Wire pad, Wire in, java.lang.String[] mods, java.lang.String name)
           
 void padInout(Cell parent, boolean clockedIn, Wire in, boolean clockedOut, Wire out, Wire ctl, Wire pad, java.lang.String[] mods, java.lang.String name)
           
 void padInoutR(Cell parent, boolean clockedIn, Wire in, boolean clockedOut, Wire out, Wire ctl, Wire pad, java.lang.String[] mods, java.lang.String name)
           
 void padOut(Cell parent, boolean clocked, Wire out, Wire pad, java.lang.String[] mods, java.lang.String name)
           
 void padOutT(Cell parent, boolean clocked, Wire out, Wire ctl, Wire pad, java.lang.String[] mods, java.lang.String name)
           
 void place(Logic parent, Cell c1, int x, int y, java.lang.String hints)
           
 void place(Logic parent, Wire w1, int x, int y, int dx, int dy, java.lang.String hints)
          Deprecated. This does NOTHING don't use it!!!!
 void place(Logic parent, Wire w, int x, int y, java.lang.String hints)
           
 void pulldown(Cell parent, Wire out, java.lang.String name)
           
 void pullup(Cell parent, Wire out, java.lang.String name)
           
 Wire range(Cell parent, Wire src, int hi, int lo)
           
 void reg(Cell parent, Wire in, Wire out, java.lang.String name)
           
 void reg(Cell parent, Wire clk, Wire in, Wire out, java.lang.String name)
           
 void regc(Cell parent, Wire in, Wire out, java.lang.String name)
           
 void regc(Cell parent, Wire clk, Wire in, Wire out, java.lang.String name)
           
 void regce(Cell parent, Wire in, Wire ce, Wire out, java.lang.String name)
           
 void regce(Cell parent, Wire clk, Wire in, Wire ce, Wire out, java.lang.String name)
           
 void regp(Cell parent, Wire in, Wire out, java.lang.String name)
           
 void regp(Cell parent, Wire clk, Wire in, Wire out, java.lang.String name)
           
 void regpe(Cell parent, Wire in, Wire ce, Wire out, java.lang.String name)
           
 void regpe(Cell parent, Wire clk, Wire in, Wire ce, Wire out, java.lang.String name)
           
 void regr(Cell parent, Wire in, Wire r, Wire out, java.lang.String name)
           
 void regr(Cell parent, Wire clk, Wire in, Wire r, Wire out, java.lang.String name)
           
 void regre(Cell parent, Wire in, Wire ce, Wire r, Wire out, java.lang.String name)
           
 void regre(Cell parent, Wire clk, Wire in, Wire ce, Wire r, Wire out, java.lang.String name)
           
 void regs(Cell parent, Wire in, Wire s, Wire out, java.lang.String name)
           
 void regs(Cell parent, Wire clk, Wire in, Wire s, Wire out, java.lang.String name)
           
 void regse(Cell parent, Wire in, Wire ce, Wire s, Wire out, java.lang.String name)
           
 void regse(Cell parent, Wire clk, Wire in, Wire ce, Wire s, Wire out, java.lang.String name)
           
 Wire shiftl(Cell parent, Wire in, int shift, Wire out)
           
 Wire shiftr(Cell parent, Wire in, int shift, Wire out)
           
 Cell sink(Logic caller, Wire w1, Cell c1)
          Deprecated. use getSinkLeafCell
 Cell source(Logic caller, Wire w1)
          Deprecated. use getSourcePlaceable(byucc.jhdl.base.Cell, byucc.jhdl.base.Wire), getSourcePlaceableLeaf(byucc.jhdl.base.Cell, byucc.jhdl.base.Wire), or getSourceLeafCell(byucc.jhdl.Logic.Logic, byucc.jhdl.base.Wire)
 void sub(Cell parent, Wire a, Wire b, Wire s, java.lang.String name)
           
 void sub(Cell parent, Wire a, Wire b, Wire ci, Wire s, Wire co, java.lang.String name)
           
 void tbuf(Cell parent, Wire in, Wire en, Wire out, java.lang.String name)
           
 java.lang.String toString()
           
 void vcc(Cell parent, Wire o, java.lang.String name)
           
 Wire wire(Cell p, int width, java.lang.String name)
           
 Wire wire(Cell p, java.lang.String name)
           
 void xnor(Cell parent, Wire[] in, Wire out, java.lang.String name)
           
 void xor(Cell parent, Wire[] in, Wire out, java.lang.String name)
           
 
Methods inherited from class byucc.jhdl.Xilinx.TechMapper
checkAllPlacement, checkCellnameCoherency, checkGenericWidths, checkGenericWidths, checkGenericWidths, checkGenericWidths, checkGenericWidths, clockDriver, createDefaultNetlister, defaultNetlistIsFlat, deleteAddedPads, getCellName, getGenericWidth, getGenericWidth, getInsertPads, getParentCellName, getUniqueParentName, insertPads, insertTechMapHints, netlist, netlist, processParams, setErrorReportingPolicy, setInsertPads, setInsertTopLevelClockPad, setInsertTopLevelPorts, techmap, useBehavioralModel, useBehavioralModel
 
Methods inherited from class byucc.jhdl.Logic.TechMapper
ALIGN_BOTTOM, ALIGN_LEFT, ALIGN_LSB, ALIGN_MSB, ALIGN_RIGHT, ALIGN_TOP, DOWN, getIgnorePlacementCalls, getInsertTechMapHints, netlist, setIgnorePlacementCalls, setInsertTechMapHints, TOLEFT, TORIGHT, UP
 
Methods inherited from class byucc.jhdl.Logic.BasicTechMapper
getTechnology, netlist, netlist, setTechnology, unsupportedComponent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VirtexTechMapper

public VirtexTechMapper()

VirtexTechMapper

public VirtexTechMapper(int reporting_policy)

VirtexTechMapper

public VirtexTechMapper(boolean tme)

VirtexTechMapper

public VirtexTechMapper(boolean tme,
                        int reporting_policy)
Method Detail

mapSmallGates

public static boolean mapSmallGates()
Method used to determine if small gates (4 inputs or less) are mapped to LUTs, or left unmapped.


mapSmallGates

public static boolean mapSmallGates(boolean state)
Method used to set whether or not small gates are mapped.

Parameters:
state - Set to true if small gates should be mapped, false if they should not.

getLibName

public java.lang.String getLibName()
Description copied from class: TechMapper
Returns the name of the library targetted by the particular techmapper.

Specified by:
getLibName in class TechMapper
Returns:
A String holding the library name.

padClock

public final void padClock(Cell parent,
                           Wire pad,
                           Wire in,
                           java.lang.String[] mods,
                           java.lang.String name)
Overrides:
padClock in class BasicTechMapper

padIn

public final void padIn(Cell parent,
                        boolean clocked,
                        Wire pad,
                        Wire in,
                        java.lang.String[] mods,
                        java.lang.String name)
Overrides:
padIn in class BasicTechMapper

padInout

public final void padInout(Cell parent,
                           boolean clockedIn,
                           Wire in,
                           boolean clockedOut,
                           Wire out,
                           Wire ctl,
                           Wire pad,
                           java.lang.String[] mods,
                           java.lang.String name)
Overrides:
padInout in class BasicTechMapper

padInoutR

public final void padInoutR(Cell parent,
                            boolean clockedIn,
                            Wire in,
                            boolean clockedOut,
                            Wire out,
                            Wire ctl,
                            Wire pad,
                            java.lang.String[] mods,
                            java.lang.String name)

padOut

public final void padOut(Cell parent,
                         boolean clocked,
                         Wire out,
                         Wire pad,
                         java.lang.String[] mods,
                         java.lang.String name)
Overrides:
padOut in class BasicTechMapper

padOutT

public final void padOutT(Cell parent,
                          boolean clocked,
                          Wire out,
                          Wire ctl,
                          Wire pad,
                          java.lang.String[] mods,
                          java.lang.String name)
Overrides:
padOutT in class BasicTechMapper

buf

public final void buf(Cell parent,
                      Wire in,
                      Wire out,
                      java.lang.String name)
Overrides:
buf in class BasicTechMapper

tbuf

public final void tbuf(Cell parent,
                       Wire in,
                       Wire en,
                       Wire out,
                       java.lang.String name)
Overrides:
tbuf in class BasicTechMapper

not

public final void not(Cell parent,
                      Wire in,
                      Wire out,
                      java.lang.String name)
Overrides:
not in class BasicTechMapper

vcc

public final void vcc(Cell parent,
                      Wire o,
                      java.lang.String name)
Overrides:
vcc in class BasicTechMapper

gnd

public final void gnd(Cell parent,
                      Wire o,
                      java.lang.String name)
Overrides:
gnd in class BasicTechMapper

pullup

public final void pullup(Cell parent,
                         Wire out,
                         java.lang.String name)
Overrides:
pullup in class BasicTechMapper

pulldown

public final void pulldown(Cell parent,
                           Wire out,
                           java.lang.String name)
Overrides:
pulldown in class BasicTechMapper

wire

public Wire wire(Cell p,
                 java.lang.String name)
Overrides:
wire in class BasicTechMapper

wire

public Wire wire(Cell p,
                 int width,
                 java.lang.String name)
Overrides:
wire in class BasicTechMapper

concat

public Wire concat(Cell parent,
                   Wire[] wa,
                   java.lang.String name)
Overrides:
concat in class BasicTechMapper

concat

public Wire concat(Cell parent,
                   WireList wl,
                   java.lang.String name)
Overrides:
concat in class BasicTechMapper

range

public Wire range(Cell parent,
                  Wire src,
                  int hi,
                  int lo)
Overrides:
range in class BasicTechMapper

constant

public void constant(Cell parent,
                     Wire out,
                     int value,
                     java.lang.String name)
Overrides:
constant in class BasicTechMapper

constant

public void constant(Cell parent,
                     Wire out,
                     BV value,
                     java.lang.String name)
Overrides:
constant in class BasicTechMapper

mux

public final void mux(Cell parent,
                      Wire[] d,
                      Wire sel,
                      Wire out,
                      java.lang.String name)
Overrides:
mux in class BasicTechMapper

and

public final void and(Cell parent,
                      Wire[] in,
                      Wire out,
                      java.lang.String name)
Overrides:
and in class BasicTechMapper

or

public final void or(Cell parent,
                     Wire[] in,
                     Wire out,
                     java.lang.String name)
Overrides:
or in class BasicTechMapper

xor

public final void xor(Cell parent,
                      Wire[] in,
                      Wire out,
                      java.lang.String name)
Overrides:
xor in class BasicTechMapper

nand

public final void nand(Cell parent,
                       Wire[] in,
                       Wire out,
                       java.lang.String name)
Overrides:
nand in class BasicTechMapper

nor

public final void nor(Cell parent,
                      Wire[] in,
                      Wire out,
                      java.lang.String name)
Overrides:
nor in class BasicTechMapper

xnor

public final void xnor(Cell parent,
                       Wire[] in,
                       Wire out,
                       java.lang.String name)
Overrides:
xnor in class BasicTechMapper

reg

public final void reg(Cell parent,
                      Wire in,
                      Wire out,
                      java.lang.String name)
Overrides:
reg in class BasicTechMapper

regc

public final void regc(Cell parent,
                       Wire in,
                       Wire out,
                       java.lang.String name)
Overrides:
regc in class TechMapper

regp

public final void regp(Cell parent,
                       Wire in,
                       Wire out,
                       java.lang.String name)
Overrides:
regp in class TechMapper

regr

public void regr(Cell parent,
                 Wire in,
                 Wire r,
                 Wire out,
                 java.lang.String name)
Overrides:
regr in class TechMapper

regre

public void regre(Cell parent,
                  Wire in,
                  Wire ce,
                  Wire r,
                  Wire out,
                  java.lang.String name)
Overrides:
regre in class TechMapper

regs

public void regs(Cell parent,
                 Wire in,
                 Wire s,
                 Wire out,
                 java.lang.String name)
Overrides:
regs in class TechMapper

regse

public void regse(Cell parent,
                  Wire in,
                  Wire ce,
                  Wire s,
                  Wire out,
                  java.lang.String name)
Overrides:
regse in class TechMapper

reg

public final void reg(Cell parent,
                      Wire clk,
                      Wire in,
                      Wire out,
                      java.lang.String name)
Overrides:
reg in class BasicTechMapper

regc

public final void regc(Cell parent,
                       Wire clk,
                       Wire in,
                       Wire out,
                       java.lang.String name)
Overrides:
regc in class TechMapper

regp

public final void regp(Cell parent,
                       Wire clk,
                       Wire in,
                       Wire out,
                       java.lang.String name)
Overrides:
regp in class TechMapper

regr

public void regr(Cell parent,
                 Wire clk,
                 Wire in,
                 Wire r,
                 Wire out,
                 java.lang.String name)
Overrides:
regr in class TechMapper

regs

public void regs(Cell parent,
                 Wire clk,
                 Wire in,
                 Wire s,
                 Wire out,
                 java.lang.String name)
Overrides:
regs in class TechMapper

regse

public void regse(Cell parent,
                  Wire clk,
                  Wire in,
                  Wire ce,
                  Wire s,
                  Wire out,
                  java.lang.String name)
Overrides:
regse in class TechMapper

regre

public void regre(Cell parent,
                  Wire clk,
                  Wire in,
                  Wire ce,
                  Wire r,
                  Wire out,
                  java.lang.String name)
Overrides:
regre in class TechMapper

regce

public final void regce(Cell parent,
                        Wire in,
                        Wire ce,
                        Wire out,
                        java.lang.String name)
Overrides:
regce in class TechMapper

regpe

public final void regpe(Cell parent,
                        Wire in,
                        Wire ce,
                        Wire out,
                        java.lang.String name)
Overrides:
regpe in class TechMapper

regce

public final void regce(Cell parent,
                        Wire clk,
                        Wire in,
                        Wire ce,
                        Wire out,
                        java.lang.String name)
Overrides:
regce in class TechMapper

regpe

public final void regpe(Cell parent,
                        Wire clk,
                        Wire in,
                        Wire ce,
                        Wire out,
                        java.lang.String name)
Overrides:
regpe in class TechMapper

add

public final void add(Cell parent,
                      Wire a,
                      Wire b,
                      Wire ci,
                      Wire s,
                      Wire co,
                      java.lang.String name)
Overrides:
add in class BasicTechMapper

sub

public final void sub(Cell parent,
                      Wire a,
                      Wire b,
                      Wire ci,
                      Wire s,
                      Wire co,
                      java.lang.String name)
Overrides:
sub in class BasicTechMapper

addsub

public final void addsub(Cell parent,
                         Wire a,
                         Wire b,
                         Wire ci,
                         Wire add,
                         Wire s,
                         Wire co,
                         java.lang.String name)
Overrides:
addsub in class BasicTechMapper

add

public final void add(Cell parent,
                      Wire a,
                      Wire b,
                      Wire s,
                      java.lang.String name)
Overrides:
add in class BasicTechMapper

sub

public final void sub(Cell parent,
                      Wire a,
                      Wire b,
                      Wire s,
                      java.lang.String name)
Overrides:
sub in class BasicTechMapper

addsub

public final void addsub(Cell parent,
                         Wire a,
                         Wire b,
                         Wire ci,
                         Wire add,
                         Wire s,
                         java.lang.String name)
Overrides:
addsub in class BasicTechMapper

ashiftr

public Wire ashiftr(Cell parent,
                    Wire in,
                    int shift,
                    Wire out)
Overrides:
ashiftr in class BasicTechMapper

shiftr

public Wire shiftr(Cell parent,
                   Wire in,
                   int shift,
                   Wire out)
Overrides:
shiftr in class BasicTechMapper

shiftl

public Wire shiftl(Cell parent,
                   Wire in,
                   int shift,
                   Wire out)
Overrides:
shiftl in class BasicTechMapper

map

public final Cell map(Logic parent,
                      Wire[] in,
                      Wire out,
                      java.lang.String hints)
Overrides:
map in class TechMapper

getRLOCFromPlacementInfo

public java.lang.String getRLOCFromPlacementInfo(Cell c)
Overrides:
getRLOCFromPlacementInfo in class TechMapper

getSourceHierarchicalCell

public static Cell getSourceHierarchicalCell(Cell caller,
                                             Wire w)

getSinkHierarchicalCell

public static Cell getSinkHierarchicalCell(Cell caller,
                                           Cell par,
                                           Wire w)

getSourcePlaceable

public Cell getSourcePlaceable(Cell requester,
                               Wire w)
Overrides:
getSourcePlaceable in class TechMapper

getSourcePlaceableLeaf

public Cell getSourcePlaceableLeaf(Cell requester,
                                   Wire w)
Overrides:
getSourcePlaceableLeaf in class TechMapper

getSourceLeafCell

public Cell getSourceLeafCell(Logic requester,
                              Wire w)
Overrides:
getSourceLeafCell in class TechMapper

getSinkLeafCell

public Cell getSinkLeafCell(Logic requester,
                            Cell par,
                            Wire w)
Deprecated. Returns any arbitrary leaf cell on the sink list of this wire.

Returns any arbitrary leaf cell on the sink list of this wire.

Overrides:
getSinkLeafCell in class TechMapper

source

public Cell source(Logic caller,
                   Wire w1)
Deprecated. use getSourcePlaceable(byucc.jhdl.base.Cell, byucc.jhdl.base.Wire), getSourcePlaceableLeaf(byucc.jhdl.base.Cell, byucc.jhdl.base.Wire), or getSourceLeafCell(byucc.jhdl.Logic.Logic, byucc.jhdl.base.Wire)


sink

public Cell sink(Logic caller,
                 Wire w1,
                 Cell c1)
Deprecated. use getSinkLeafCell


createPlacementInfo

public PlacementInfo createPlacementInfo(Cell c)
Overrides:
createPlacementInfo in class TechMapper

place

public final void place(Logic parent,
                        Cell c1,
                        int x,
                        int y,
                        java.lang.String hints)
Overrides:
place in class TechMapper

place

public final void place(Logic parent,
                        Wire w,
                        int x,
                        int y,
                        java.lang.String hints)
Overrides:
place in class TechMapper

place

public final void place(Logic parent,
                        Wire w1,
                        int x,
                        int y,
                        int dx,
                        int dy,
                        java.lang.String hints)
Deprecated. This does NOTHING don't use it!!!!

This does NOTHING don't use it!!!!

Overrides:
place in class TechMapper

getTechMapHint

public java.lang.String getTechMapHint(Logic parent,
                                       Cell c)
Overrides:
getTechMapHint in class TechMapper

getTechMapHint

public java.lang.String getTechMapHint(Logic parent,
                                       Wire w)
Overrides:
getTechMapHint in class TechMapper

toString

public java.lang.String toString()


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