|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbyucc.jhdl.Logic.BasicTechMapper
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.
Constructor Summary | |
protected |
BasicTechMapper()
Default constructor, enables tech-mapping. |
protected |
BasicTechMapper(boolean enabled)
Sets the techmapping enabled flag. |
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)
|
void |
clockDriver(Cell parent,
Wire clock,
java.lang.String schedule,
java.lang.String name)
|
Wire |
concat(Cell parent,
Wire[] list,
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)
|
abstract Netlister |
createDefaultNetlister()
Create an instance of the netlister of choice for this library. |
abstract java.lang.String |
getLibName()
Returns the name of the library targetted by the particular techmapper. |
static java.lang.String |
getTechnology()
Returns the name of the technology targeted by the techmapper. |
void |
gnd(Cell parent,
Wire o,
java.lang.String name)
|
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 |
netlist(Cell cell)
Netlists the given cell downward hierarchically into the given file, using the netlister's choice of default filename. |
void |
netlist(Cell cell,
boolean flat)
Netlists the given cell downward hierarchically into the given file, using the netlister's choice of default filename. |
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 |
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 |
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 |
pulldown(Cell parent,
Wire out,
java.lang.String name)
|
void |
pullup(Cell parent,
Wire out,
java.lang.String name)
|
Wire |
range(Cell parent,
Wire in,
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)
|
static void |
setTechnology(java.lang.String tech)
Allows the user to set the desired technology to be used during netlisting |
Wire |
shiftl(Cell parent,
Wire in,
int shift,
Wire out)
|
Wire |
shiftr(Cell parent,
Wire in,
int shift,
Wire out)
|
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)
|
abstract void |
techmap(Logic parent,
java.lang.Object arg)
Used to change whether a techmapper inserts placement hints before netlisting. |
protected void |
unsupportedComponent(java.lang.String name)
Convenience method for derived classes. |
void |
vcc(Cell parent,
Wire o,
java.lang.String name)
|
Wire |
wire(Cell parent,
int width,
java.lang.String name)
|
Wire |
wire(Cell parent,
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 java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
protected BasicTechMapper()
protected BasicTechMapper(boolean enabled)
enabled
- The new state of Logic.techMappingEnabled()
.Method Detail |
public static java.lang.String getTechnology()
public static void setTechnology(java.lang.String tech)
tech
- The String name of the desired technology currently "Virtex", "Virtex2", or "XC4000"public abstract java.lang.String getLibName()
public final void netlist(Cell cell)
cell
- the root node of the netlistpublic void netlist(Cell cell, java.lang.String filename)
cell
- the root node of the netlistfilename
- A String with the name of the target file.public final void netlist(Cell cell, boolean flat)
cell
- the root node of the netlistflat
- whether the netlist should be flatpublic void netlist(Cell cell, boolean flat, java.lang.String filename)
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)
cell
- the root node of the netlistflat
- whether the netlist should be flatpublic abstract Netlister createDefaultNetlister()
public abstract void techmap(Logic parent, java.lang.Object arg)
public void clockDriver(Cell parent, Wire clock, java.lang.String schedule, java.lang.String name)
public void buf(Cell parent, Wire in, Wire out, java.lang.String name)
public void tbuf(Cell parent, Wire in, Wire en, Wire out, java.lang.String name)
public void pullup(Cell parent, Wire out, java.lang.String name)
public void pulldown(Cell parent, Wire out, java.lang.String name)
public void and(Cell parent, Wire[] in, Wire out, java.lang.String name)
public void or(Cell parent, Wire[] in, Wire out, java.lang.String name)
public void mux(Cell parent, Wire[] d, Wire sel, Wire out, java.lang.String name)
public void xor(Cell parent, Wire[] in, Wire out, java.lang.String name)
public void nand(Cell parent, Wire[] in, Wire out, java.lang.String name)
public void nor(Cell parent, Wire[] in, Wire out, java.lang.String name)
public void xnor(Cell parent, Wire[] in, Wire out, java.lang.String name)
public void not(Cell parent, Wire in, Wire out, java.lang.String name)
public void reg(Cell parent, Wire in, Wire out, java.lang.String name)
public void reg(Cell parent, Wire clk, Wire in, Wire out, java.lang.String name)
public void vcc(Cell parent, Wire o, java.lang.String name)
public void gnd(Cell parent, Wire o, java.lang.String name)
public void add(Cell parent, Wire a, Wire b, Wire ci, Wire s, Wire co, java.lang.String name)
public void add(Cell parent, Wire a, Wire b, Wire s, java.lang.String name)
public void sub(Cell parent, Wire a, Wire b, Wire s, java.lang.String name)
public void sub(Cell parent, Wire a, Wire b, Wire ci, Wire s, Wire co, java.lang.String name)
public void addsub(Cell parent, Wire a, Wire b, Wire ci, Wire add, Wire s, Wire co, java.lang.String name)
public void addsub(Cell parent, Wire a, Wire b, Wire ci, Wire add, Wire s, java.lang.String name)
public Wire wire(Cell parent, java.lang.String name)
public Wire wire(Cell parent, int width, java.lang.String name)
public Wire concat(Cell parent, WireList wl, java.lang.String name)
public Wire concat(Cell parent, Wire[] list, java.lang.String name)
public Wire range(Cell parent, Wire in, int hi, int lo)
public Wire ashiftr(Cell parent, Wire in, int shift, Wire out)
public Wire shiftr(Cell parent, Wire in, int shift, Wire out)
public Wire shiftl(Cell parent, Wire in, int shift, Wire out)
public void constant(Cell parent, Wire out, int value, java.lang.String name)
public void constant(Cell parent, Wire out, BV value, java.lang.String name)
public void padClock(Cell parent, Wire pad, Wire in, java.lang.String[] mods, java.lang.String name)
public void padIn(Cell parent, boolean clocked, Wire pad, Wire in, java.lang.String[] mods, java.lang.String name)
public void padInout(Cell parent, boolean clockedIn, Wire in, boolean clockedOut, Wire out, Wire ctl, Wire pad, java.lang.String[] mods, java.lang.String name)
public void padOut(Cell parent, boolean clocked, Wire out, Wire pad, java.lang.String[] mods, java.lang.String name)
public void padOutT(Cell parent, boolean clocked, Wire out, Wire ctl, Wire pad, java.lang.String[] mods, java.lang.String name)
protected void unsupportedComponent(java.lang.String name)
name
- the name of the unsupported component
TechMapException
- stating that the component is unsupported
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |