|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbyucc.jhdl.base.Nameable
byucc.jhdl.base.Node
byucc.jhdl.base.Cell
byucc.jhdl.base.Structural
byucc.jhdl.Logic.LogicGates
byucc.jhdl.Logic.LogicStatic
byucc.jhdl.Logic.Logic
byucc.jhdl.contrib.modgen.booth
A generic size Booth's multiplier
Booth does a multiply according to Booth's algorith. (for a detailed description of how it works, see its implementation below). The "start" signal tells when a new multiplication is to be started, the "finished" signal tells when it is done. The mutliplier and multiplicand need only be present during the cycle when "start" is asserted since the multiplier latches them. The output value will be valid the same cycle that "finished" is asserted and will stay valid until the next multiplication completes.
Placement:
CLB count:
Slice count:
Field Summary | |
static CellInterface[] |
cell_interface
|
java.lang.String |
cellname
The input and output can be two different generic widths |
Fields inherited from class byucc.jhdl.Logic.Logic |
ABOVE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_LEFT, ALIGN_LSB, ALIGN_MSB, ALIGN_RIGHT, ALIGN_TOP, BELOW, DOWN, EAST_OF, LEFT_OF, MAX_PACK, NORTH_OF, ON, ONTOP, ONTOP_OF, RIGHT_OF, SOUTH_OF, TOLEFT, TORIGHT, UNCONSTRAINED, UP, WEST_OF |
Fields inherited from class byucc.jhdl.Logic.LogicGates |
tech_mapper |
Constructor Summary | |
booth(Node parent,
Wire in1,
Wire in2,
Wire start,
Wire finished,
Wire out)
|
|
booth(Node parent,
Wire in1,
Wire in2,
Wire start,
Wire finished,
Wire out,
java.lang.String name)
|
Method Summary | |
void |
clock()
Clock is used in the behavioral model and is called once per clock cycle |
long |
compute(long bigin,
int bigwid,
long smallin,
int smallwid,
int start,
int wid1,
int wid2)
Used in behavioral model to compute the output. |
protected boolean |
defaultSimulationModelIsBehavioral()
Default simulation model is behavioral |
java.lang.String |
getCellName()
Access the cell name associated with a derived class. |
void |
propagate()
Propagate isn't used in this class |
void |
reset()
Sets finished to 1; resets everything else to zero |
Methods inherited from class byucc.jhdl.base.Node |
addObservable, addSimulatorCallback, checkAll, delete, getBuildingFlag, getChildren, getChildrenEnumeration, getInstanceName, getParent, getParentCell, getRelatives, getSystem, getWires, optimize, orphanAllowed, printAllChildren, printTree, removeSimulatorCallback, setDefaultClock |
Methods inherited from class byucc.jhdl.base.Nameable |
caseSensitivity, caseSensitivity, disableNameClashChecking, getFullName, getFullNameNoTestBench, getHierNameNoTestBench, getInstanceNo, getInstanceNumber, getLeafName, getLeafName, getRelativeName, getUserName, getUserName, hasUserSpecifiedName, isDescendantOf, setInstanceNumber |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static CellInterface[] cell_interface
public java.lang.String cellname
Constructor Detail |
public booth(Node parent, Wire in1, Wire in2, Wire start, Wire finished, Wire out)
public booth(Node parent, Wire in1, Wire in2, Wire start, Wire finished, Wire out, java.lang.String name)
Method Detail |
public java.lang.String getCellName()
Cell
getCellName
in class Cell
public void reset()
reset
in interface Clockable
reset
in class Structural
public void clock()
clock
in interface Clockable
clock
in class Structural
public void propagate()
propagate
in interface byucc.jhdl.base.Propagateable
propagate
in class Structural
protected boolean defaultSimulationModelIsBehavioral()
defaultSimulationModelIsBehavioral
in class Structural
public long compute(long bigin, int bigwid, long smallin, int smallwid, int start, int wid1, int wid2)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |