byucc.jhdl.Xilinx.XC9000
Class XC9000TechMapper

java.lang.Object
  extended bybyucc.jhdl.Logic.BasicTechMapper
      extended bybyucc.jhdl.Logic.TechMapper
          extended bybyucc.jhdl.Xilinx.TechMapper
              extended bybyucc.jhdl.Xilinx.XC9000.XilinxTechMapper
                  extended bybyucc.jhdl.Xilinx.XC9000.XC9000TechMapper
All Implemented Interfaces:
TechMapPadInterface, TechMapPortInterface

public class XC9000TechMapper
extends XilinxTechMapper

This is the tech-mapper for the XC9000 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
XC9000TechMapper()
           
XC9000TechMapper(boolean dummy)
          warning! regardless of boolean passed in, tech mapping does not exist for XC9000 (CPLDs)
XC9000TechMapper(boolean dummy, int reporting_policy)
          warning! regardless of boolean passed in, tech mapping does not exist for XC9000 (CPLDs)
XC9000TechMapper(int reporting_policy)
           
XC9000TechMapper(Logic l, boolean tme)
          Deprecated. use XC9000TechMapper(boolean)
 
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)
           
 java.awt.Dimension checkAllPlacement(Cell c)
           
 void checkCellnameCoherency(Cell c)
           
 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)
           
 Cell map(Logic parent, Wire[] in, Wire out, java.lang.String hints)
           
 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 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 padClockR(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 padInR(Cell parent, boolean clocked, Wire pad, Wire in, 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 padOutR(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 ram(Cell parent, Wire din, Wire we, Wire addr, Wire dout, long[] init, java.lang.String name)
           
 void ramd(Cell parent, Wire din, Wire we, Wire addrA, Wire addrB, Wire outA, Wire outB, long[] init, java.lang.String name)
           
 void rams(Cell parent, Wire din, Wire we, Wire addr, Wire dout, long[] init, java.lang.String name)
           
 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 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 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)
           
 void rom(Cell parent, Wire addr, Wire data, long[] init, java.lang.String name)
           
static void setErrorReportingPolicy(int policy)
           
 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)
           
 java.lang.String toString()
           
 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.XC9000.XilinxTechMapper
and, and, and, and, and, and, and, and, buf, concat, concat, constant, constant, constant, constant, gnd, mux, nand, nand, nand, nand, nand, nand, nand, nand, nor, nor, nor, nor, nor, nor, nor, nor, not, or, or, or, or, or, or, or, or, pulldown, pullup, range, regce, regce, regpe, regpe, tbuf, vcc, wire, wire, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xnor, xor, xor, xor, xor, xor, xor, xor, xor
 
Methods inherited from class byucc.jhdl.Xilinx.TechMapper
checkGenericWidths, checkGenericWidths, checkGenericWidths, checkGenericWidths, checkGenericWidths, clockDriver, createDefaultNetlister, defaultNetlistIsFlat, deleteAddedPads, getCellName, getGenericWidth, getGenericWidth, getInsertPads, getParentCellName, getUniqueParentName, insertPads, insertTechMapHints, netlist, netlist, processParams, 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

XC9000TechMapper

public XC9000TechMapper()

XC9000TechMapper

public XC9000TechMapper(int reporting_policy)

XC9000TechMapper

public XC9000TechMapper(boolean dummy)
warning! regardless of boolean passed in, tech mapping does not exist for XC9000 (CPLDs)


XC9000TechMapper

public XC9000TechMapper(boolean dummy,
                        int reporting_policy)
warning! regardless of boolean passed in, tech mapping does not exist for XC9000 (CPLDs)


XC9000TechMapper

public XC9000TechMapper(Logic l,
                        boolean tme)
Deprecated. use XC9000TechMapper(boolean)

Method Detail

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.

setErrorReportingPolicy

public static void setErrorReportingPolicy(int policy)

checkCellnameCoherency

public void checkCellnameCoherency(Cell c)
Specified by:
checkCellnameCoherency in class XilinxTechMapper

checkAllPlacement

public java.awt.Dimension checkAllPlacement(Cell c)
Specified by:
checkAllPlacement in class XilinxTechMapper

padClock

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

padClockR

public final void padClockR(Cell parent,
                            Wire pad,
                            Wire in,
                            java.lang.String[] mods,
                            java.lang.String name)

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

padInR

public final void padInR(Cell parent,
                         boolean clocked,
                         Wire pad,
                         Wire in,
                         java.lang.String[] mods,
                         java.lang.String name)

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

padOutR

public final void padOutR(Cell parent,
                          boolean clocked,
                          Wire out,
                          Wire pad,
                          java.lang.String[] mods,
                          java.lang.String name)

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

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

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

rom

public void rom(Cell parent,
                Wire addr,
                Wire data,
                long[] init,
                java.lang.String name)

ram

public void ram(Cell parent,
                Wire din,
                Wire we,
                Wire addr,
                Wire dout,
                long[] init,
                java.lang.String name)

rams

public void rams(Cell parent,
                 Wire din,
                 Wire we,
                 Wire addr,
                 Wire dout,
                 long[] init,
                 java.lang.String name)

ramd

public void ramd(Cell parent,
                 Wire din,
                 Wire we,
                 Wire addrA,
                 Wire addrB,
                 Wire outA,
                 Wire outB,
                 long[] init,
                 java.lang.String name)

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)
Specified by:
getRLOCFromPlacementInfo in class XilinxTechMapper

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.