|
|||||||||||
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
This is the abstract TechMapper class. It defines all the things that a TechMapper must do to successfully interface with the Logic class. The implementation of each of these methods provides the back-end specific gate instantiation and tech-mapping annotation.
Field Summary | |
protected boolean |
_ignore_placement_calls
|
Constructor Summary | |
protected |
TechMapper()
Default constructor, enables tech-mapping. |
protected |
TechMapper(boolean enabled)
Sets the techmapping enabled flag. |
Method Summary | |
int |
ALIGN_BOTTOM()
|
int |
ALIGN_LEFT()
|
int |
ALIGN_LSB()
|
int |
ALIGN_MSB()
|
int |
ALIGN_RIGHT()
|
int |
ALIGN_TOP()
|
PlacementInfo |
createPlacementInfo(Cell c)
|
int |
DOWN()
|
boolean |
getIgnorePlacementCalls()
|
boolean |
getInsertTechMapHints()
Returns whether a techmapper inserts placement hints before netlisting. |
abstract java.lang.String |
getLibName()
Returns the name of the library targetted by the particular techmapper. |
Cell |
getSinkLeafCell(Logic parent,
Cell c,
Wire w1)
|
Cell |
getSourceLeafCell(Logic parent,
Wire w1)
|
Cell |
getSourcePlaceable(Cell parent,
Wire w1)
|
Cell |
getSourcePlaceableLeaf(Cell parent,
Wire w1)
|
java.lang.String |
getTechMapHint(Logic parent,
Cell c)
|
java.lang.String |
getTechMapHint(Logic parent,
Wire w)
|
protected void |
insertTechMapHints(Cell cell)
Does the work necessary to insert hints in the netlist of the cell. |
Cell |
map(Logic parent,
Wire[] in,
Wire out,
java.lang.String hints)
|
void |
netlist(Cell cell,
boolean flat,
NetlistWriter nw)
Netlists the given cell downward hierarchically into the given file. |
void |
netlist(Cell cell,
boolean flat,
java.lang.String filename)
Netlists the given cell downward hierarchically into the given file. |
void |
netlist(Cell cell,
java.lang.String filename)
Netlists the given cell downward hierarchically into the given file. |
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)
|
void |
place(Logic parent,
Wire w1,
int x,
int y,
java.lang.String hints)
|
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)
|
void |
setIgnorePlacementCalls(boolean b)
Allows a user to "re"-use a design that was placed in a technology that does not (or cannot) implement place calls. |
void |
setInsertTechMapHints(boolean b)
Used to change whether a techmapper inserts placement hints before netlisting. |
abstract void |
techmap(Logic parent,
java.lang.Object arg)
Used to change whether a techmapper inserts placement hints before netlisting. |
int |
TOLEFT()
|
int |
TORIGHT()
|
int |
UP()
|
Methods inherited from class byucc.jhdl.Logic.BasicTechMapper |
add, add, addsub, addsub, and, ashiftr, buf, clockDriver, concat, concat, constant, constant, createDefaultNetlister, 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 |
protected boolean _ignore_placement_calls
Constructor Detail |
protected TechMapper()
protected TechMapper(boolean enabled)
enabled
- The new state of Logic.techMappingEnabled()
.Method Detail |
public abstract java.lang.String getLibName()
getLibName
in class BasicTechMapper
public void netlist(Cell cell, java.lang.String filename)
netlist
in class BasicTechMapper
cell
- the root node of the netlistfilename
- A String with the name of the target file.public void netlist(Cell cell, boolean flat, java.lang.String filename)
netlist
in class BasicTechMapper
cell
- the root node of the netlistflat
- whether the netlist should be flatfilename
- A String with the name of the target file.public void netlist(Cell cell, boolean flat, NetlistWriter nw)
netlist
in class BasicTechMapper
cell
- the root node of the netlistflat
- whether the netlist should be flatpublic void setInsertTechMapHints(boolean b)
b
- the new value of the insertTechMapHints flagpublic boolean getInsertTechMapHints()
public void setIgnorePlacementCalls(boolean b)
b
- boolean to ignore the techmapper placement calls.public boolean getIgnorePlacementCalls()
protected void insertTechMapHints(Cell cell)
cell
- the cell (and possibly its subtree) to add techmap hints to.public Cell map(Logic parent, Wire[] in, Wire out, java.lang.String hints)
public void place(Logic parent, Cell c1, int x, int y, java.lang.String hints)
public void place(Logic parent, Wire w1, int x, int y, java.lang.String hints)
public void place(Logic parent, Wire w1, int x, int y, int dx, int dy, java.lang.String hints)
public Cell getSourcePlaceable(Cell parent, Wire w1)
public Cell getSourcePlaceableLeaf(Cell parent, Wire w1)
public Cell getSourceLeafCell(Logic parent, Wire w1)
public Cell getSinkLeafCell(Logic parent, Cell c, Wire w1)
public PlacementInfo createPlacementInfo(Cell c)
public abstract void techmap(Logic parent, java.lang.Object arg)
BasicTechMapper
techmap
in class BasicTechMapper
public java.lang.String getTechMapHint(Logic parent, Cell c)
public java.lang.String getTechMapHint(Logic parent, Wire w)
public void regc(Cell parent, Wire in, Wire out, java.lang.String name)
public void regce(Cell parent, Wire in, Wire ce, Wire out, java.lang.String name)
public void regp(Cell parent, Wire in, Wire out, java.lang.String name)
public void regpe(Cell parent, Wire in, Wire ce, Wire out, java.lang.String name)
public void regr(Cell parent, Wire in, Wire r, Wire out, java.lang.String name)
public void regre(Cell parent, Wire in, Wire ce, Wire r, Wire out, java.lang.String name)
public void regs(Cell parent, Wire in, Wire s, Wire out, java.lang.String name)
public void regse(Cell parent, Wire in, Wire ce, Wire s, Wire out, java.lang.String name)
public void regc(Cell parent, Wire clk, Wire in, Wire out, java.lang.String name)
public void regce(Cell parent, Wire clk, Wire in, Wire ce, Wire out, java.lang.String name)
public void regp(Cell parent, Wire clk, Wire in, Wire out, java.lang.String name)
public void regpe(Cell parent, Wire clk, Wire in, Wire ce, Wire out, java.lang.String name)
public void regr(Cell parent, Wire clk, Wire in, Wire r, Wire out, java.lang.String name)
public void regre(Cell parent, Wire clk, Wire in, Wire ce, Wire r, Wire out, java.lang.String name)
public void regs(Cell parent, Wire clk, Wire in, Wire s, Wire out, java.lang.String name)
public void regse(Cell parent, Wire clk, Wire in, Wire ce, Wire s, Wire out, java.lang.String name)
public int UP()
public int DOWN()
public int TORIGHT()
public int TOLEFT()
public int ALIGN_LEFT()
public int ALIGN_RIGHT()
public int ALIGN_TOP()
public int ALIGN_BOTTOM()
public int ALIGN_MSB()
public int ALIGN_LSB()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |