|
|||||||||||
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.Xilinx.Virtex2.Modules.FloatingPoint.FPAddSub
Floating Point Adder with parameterizeable exponent and mantissa
FPAddSub takes two inputs formatted according to the IEEE floating
point standard, and adds them together using floating point arithmetic.
The inputs and output must all be the same size (width).
Required import:
import byucc.jhdl.Logic.Modules.FloatingPoint.*;
Constructor Syntax:
The constructor takes input wires, subtract flag, output wire, error flags, and two parameters describing the form of the adder.
FPAddSub(parent,?a, b, addsub, output, underflow, overflow, pipe_level, exponent_width )
The parameters are described here:
parent | Parent of this cell, this is standard for all JHDL cells |
a, b | Inputs, formatted according to IEEE floating point format |
addsub | Low-asserted causes the unit to add, high asserted performs a subtract |
output | Output of the operation, also formatted according to IEEE F.P. |
underflow, overflow | These outputs are asserted on an error |
pipe_level | 0 - fully combinational 1 - ??? stages 2 - fully pipelined, ??? stages |
exponenent_width | How many bits of the inputs and output are dedicated to the exponent field |
For all available constructors, see
Constructor Summary or
Constructor Detail.
Field Summary | |
static CellInterface[] |
cell_interface
|
static java.lang.String |
CELL_NAME
|
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 | |
FPAddSub(Node parent,
Wire a,
Wire b,
Wire addsub,
Wire output,
Wire underflow,
Wire overflow,
int exponent_width,
int pipe_level)
|
|
FPAddSub(Node parent,
Wire a,
Wire b,
Wire addsub,
Wire output,
Wire underflow,
Wire overflow,
int exponent_width,
int pipe_level,
java.lang.String instance_name)
|
Method Summary | |
static int |
calculateLatency(int width,
int pipe_level)
|
void |
clock()
Users define synchronous behavior in this method using standard JHDL constructs. |
void |
compute(BV a,
BV b,
long addsub,
BV output_value,
int[] output_flags,
int width,
int exponent_width)
|
protected boolean |
defaultSimulationModelIsBehavioral()
The default simulation model is structural for Structural cells. |
int |
getLatency()
|
void |
propagate()
Users defined propagatable behavior using standard JHDL constructs. |
void |
reset()
If you define a behavior, you must also define a reset method for resetting the synchonous part of your model. |
protected void |
setLatency()
|
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 static final java.lang.String CELL_NAME
Constructor Detail |
public FPAddSub(Node parent, Wire a, Wire b, Wire addsub, Wire output, Wire underflow, Wire overflow, int exponent_width, int pipe_level)
public FPAddSub(Node parent, Wire a, Wire b, Wire addsub, Wire output, Wire underflow, Wire overflow, int exponent_width, int pipe_level, java.lang.String instance_name)
Method Detail |
public void reset()
Structural
reset
in interface Clockable
reset
in class Structural
public void clock()
Structural
clock
in interface Clockable
clock
in class Structural
public void propagate()
Structural
propagate
in interface byucc.jhdl.base.Propagateable
propagate
in class Structural
public void compute(BV a, BV b, long addsub, BV output_value, int[] output_flags, int width, int exponent_width)
protected boolean defaultSimulationModelIsBehavioral()
Structural
defaultSimulationModelIsBehavioral
in class Structural
protected void setLatency()
public int getLatency()
public static int calculateLatency(int width, int pipe_level)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |