|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbyucc.jhdl.Logic.BasicTechMapper
byucc.jhdl.Logic.TechMapper
byucc.jhdl.Xilinx.TechMapper
Simple extension of TechMapper class. Forces all Xilinx tech-mappers to have an insertPads method -- used by netlister to add IO pads & bufs and all that good stuff.
Field Summary | |
java.util.Hashtable |
addedPadsTable
|
protected boolean |
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 | |
TechMapper()
|
|
TechMapper(boolean tme)
|
|
TechMapper(boolean tme,
int reporting_policy)
|
|
TechMapper(int reporting_policy)
|
Method Summary | |
java.awt.Dimension |
checkAllPlacement(Cell c)
|
void |
checkCellnameCoherency(Cell c)
|
protected void |
checkGenericWidths(Wire[] in,
Wire out,
java.lang.String gate)
|
protected void |
checkGenericWidths(Wire in1,
Wire out,
java.lang.String gate)
|
protected void |
checkGenericWidths(Wire in1,
Wire in2,
Wire out,
java.lang.String gate)
|
protected void |
checkGenericWidths(Wire in1,
Wire in2,
Wire in3,
Wire out,
java.lang.String gate)
|
protected void |
checkGenericWidths(Wire in1,
Wire in2,
Wire in3,
Wire in4,
Wire out,
java.lang.String gate)
|
void |
clockDriver(Cell parent,
Wire clock,
java.lang.String schedule,
java.lang.String name)
|
Netlister |
createDefaultNetlister()
Returns an EDIFNetlister |
protected boolean |
defaultNetlistIsFlat()
As EDIF can be hierarchical, this returns false. |
void |
deleteAddedPads()
|
java.lang.String |
getCellName(Cell c)
|
static int |
getGenericWidth(Wire[] in)
Checks a Wire array and returns the 'generic' width of the wires. |
static int |
getGenericWidth(Wire[] in,
int[] widths)
Checks a Wire array and returns the 'generic' width of the wires. |
boolean |
getInsertPads()
Returns the current setting of insertPads. |
java.lang.String |
getParentCellName(Cell c)
|
java.lang.String |
getRLOCFromPlacementInfo(Cell cell)
|
java.lang.String |
getUniqueParentName(Cell c)
|
void |
insertPads(Cell top)
Called by the netlister to add I/O pads to all inputs and outputs to the "top" cell. |
protected void |
insertTechMapHints(Cell c)
Adds the hints to the tree - recurses through all cells and puts RLOC properties on placed cells |
void |
netlist(Cell c,
boolean flat,
java.lang.String file)
Netlists the given cell downward hierarchically into the given file. |
void |
netlist(Cell c,
java.lang.String file)
Netlists the given cell downward hierarchically into the given file. |
protected boolean[] |
processParams(java.lang.String[] names,
java.lang.String[] mods)
Evaluates which modifiers in a valid list were specified. |
static void |
setErrorReportingPolicy(int policy)
|
void |
setInsertPads(boolean b)
Inserting pads is a convenience method for Xilinx parts for the moment. |
void |
setInsertTopLevelClockPad(boolean b)
Set a flag indicating whether a top level clock pad is inserted |
void |
setInsertTopLevelPorts(boolean b)
Inserting top level ports is simply a convenience method passed on to the netlister created by the techmapper |
void |
techmap(Logic parent,
java.lang.Object arg)
Used to change whether a techmapper inserts placement hints before netlisting. |
static boolean |
useBehavioralModel()
|
static void |
useBehavioralModel(boolean b)
|
Methods inherited from class byucc.jhdl.Logic.TechMapper |
ALIGN_BOTTOM, ALIGN_LEFT, ALIGN_LSB, ALIGN_MSB, ALIGN_RIGHT, ALIGN_TOP, createPlacementInfo, DOWN, getIgnorePlacementCalls, getInsertTechMapHints, getLibName, getSinkLeafCell, getSourceLeafCell, getSourcePlaceable, getSourcePlaceableLeaf, getTechMapHint, getTechMapHint, map, netlist, place, place, place, regc, regc, regce, regce, regp, regp, regpe, regpe, regr, regr, regre, regre, regs, regs, regse, regse, setIgnorePlacementCalls, setInsertTechMapHints, TOLEFT, TORIGHT, UP |
Methods inherited from class byucc.jhdl.Logic.BasicTechMapper |
add, add, addsub, addsub, and, ashiftr, buf, concat, concat, constant, constant, getTechnology, gnd, mux, nand, netlist, netlist, nor, not, or, padClock, padIn, padInout, padOut, padOutT, pulldown, pullup, range, reg, reg, setTechnology, shiftl, shiftr, sub, sub, tbuf, unsupportedComponent, vcc, wire, wire, xnor, xor |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public java.util.Hashtable addedPadsTable
protected boolean insertTopLevelClockPad
Constructor Detail |
public TechMapper()
public TechMapper(int reporting_policy)
public TechMapper(boolean tme)
public TechMapper(boolean tme, int reporting_policy)
Method Detail |
public static void setErrorReportingPolicy(int policy)
public void checkCellnameCoherency(Cell c)
public java.awt.Dimension checkAllPlacement(Cell c)
public java.lang.String getRLOCFromPlacementInfo(Cell cell)
public void insertPads(Cell top)
insertPads
in interface TechMapPadInterface
top
- the top-level cell to insert I/O pads intoprotected final boolean[] processParams(java.lang.String[] names, java.lang.String[] mods)
names
- The list of valid modifiersmods
- The list of modifiers to evaluate
BuildException
- if a modifier not listed in name is encountered.protected void insertTechMapHints(Cell c)
insertTechMapHints
in class TechMapper
c
- the cell (and possibly its subtree) to add techmap hints to.public void setInsertPads(boolean b)
setInsertPads
in interface TechMapPadInterface
b
- boolean flagpublic boolean getInsertPads()
getInsertPads
in interface TechMapPadInterface
public void setInsertTopLevelClockPad(boolean b)
TechMapPadInterface
setInsertTopLevelClockPad
in interface TechMapPadInterface
b
- boolean flagpublic void setInsertTopLevelPorts(boolean b)
setInsertTopLevelPorts
in interface TechMapPortInterface
b
- boolean flagpublic Netlister createDefaultNetlister()
createDefaultNetlister
in class BasicTechMapper
EDIFNetlister
set for hierarchical netlistingprotected final boolean defaultNetlistIsFlat()
public void netlist(Cell c, java.lang.String file)
TechMapper
netlist
in class TechMapper
c
- the root node of the netlistfile
- A String with the name of the target file.public void netlist(Cell c, boolean flat, java.lang.String file)
TechMapper
netlist
in class TechMapper
c
- the root node of the netlistflat
- whether the netlist should be flatfile
- A String with the name of the target file.public void deleteAddedPads()
public static boolean useBehavioralModel()
public static void useBehavioralModel(boolean b)
public static int getGenericWidth(Wire[] in)
in
- the array of wires to determine the generic width of
public static int getGenericWidth(Wire[] in, int[] widths)
in
- the array of wires to determine the generic width ofwidths
- the array to modify to list the width of each wire
protected void checkGenericWidths(Wire[] in, Wire out, java.lang.String gate)
protected void checkGenericWidths(Wire in1, Wire in2, Wire in3, Wire in4, Wire out, java.lang.String gate)
protected void checkGenericWidths(Wire in1, Wire in2, Wire in3, Wire out, java.lang.String gate)
protected void checkGenericWidths(Wire in1, Wire in2, Wire out, java.lang.String gate)
protected void checkGenericWidths(Wire in1, Wire out, java.lang.String gate)
public final void clockDriver(Cell parent, Wire clock, java.lang.String schedule, java.lang.String name)
clockDriver
in class BasicTechMapper
public final void techmap(Logic parent, java.lang.Object arg)
BasicTechMapper
techmap
in class TechMapper
public java.lang.String getCellName(Cell c)
public java.lang.String getParentCellName(Cell c)
public java.lang.String getUniqueParentName(Cell c)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |