|
|||||||||||
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.XilinxCL
byucc.jhdl.Xilinx.XC4000.cy4
This class implements the carry modes for the XC4000 architecture.
The exact carry function computed depends on the value of the
carry mode bits on the c
port. This class is
designed to be used with the cy4_mode class. Refer to the XC4000
documentation for the specifications of the mode values and the
corresponding functions. The CY4 computes the two carries
resulting from the combination of the a0, a1, b0, b1,
and cin
inputs, which correspond to a 2-bit sum with
carry-in. The CY4 computes the corresponding two carry bits
resulting from the sum: a0 + b0 + cin => cout0
;
a1 + b1 + cout0
=> cout. Only the cout
signal is accessible outside the CLB in which the carries are
computed.
Field Summary | |
static CellInterface[] |
cell_interface
The port interface for cy4: a0: in (1) a1: in (1) b0: in (1) b1: in (1) add: in (1) cin: in (1) c0: in (1) c1: in (1) c2: in (1) c3: in (1) c4: in (1) c5: in (1) c6: in (1) c7: in (1) cout0: out (1) cout: out (1) |
static java.lang.String |
cellname
The netlist name for cy4: "CY4" |
Fields inherited from class byucc.jhdl.Xilinx.XilinxCL |
implicit_interface |
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 |
Fields inherited from class byucc.jhdl.base.Cell |
BOOLEAN, CELL_NAME_DECLARATION, CellInterfaceDeterminesUniqueNetlistStructure, DETERMINE_FROM_STRING, GENERICS_DECLARATION, IMPLICIT_INTERFACE_DECLARATION, INTEGER, INTERFACE_DECLARATION, LONG, PORT_IOS_DECLARATION, PORT_NAMES_DECLARATION, PORT_NET_NAMES_DECLARATION, PORT_PROPERTIES, PORT_WIDTHS_DECLARATION, SIGN_EXT, STRING, ZERO_PAD |
Constructor Summary | |
cy4(Node parent,
java.lang.String name,
java.lang.String s_a0,
Wire p_a0,
java.lang.String s_a1,
Wire p_a1,
java.lang.String s_b0,
Wire p_b0,
java.lang.String s_b1,
Wire p_b1,
java.lang.String s_addsub,
Wire p_addsub_,
java.lang.String s_cin,
Wire p_cin,
java.lang.String s_cout0,
Wire p_cout0,
java.lang.String s_cout,
Wire p_cout,
java.lang.String mode)
|
|
cy4(Node parent,
java.lang.String name,
java.lang.String s_a0,
Wire p_a0,
java.lang.String s_a1,
Wire p_a1,
java.lang.String s_b0,
Wire p_b0,
java.lang.String s_b1,
Wire p_b1,
java.lang.String s_add,
Wire p_addsub_,
java.lang.String s_cin,
Wire p_cin,
java.lang.String s_c0,
Wire p_c0,
java.lang.String s_c1,
Wire p_c1,
java.lang.String s_c2,
Wire p_c2,
java.lang.String s_c3,
Wire p_c3,
java.lang.String s_c4,
Wire p_c4,
java.lang.String s_c5,
Wire p_c5,
java.lang.String s_c6,
Wire p_c6,
java.lang.String s_c7,
Wire p_c7,
java.lang.String s_cout0,
Wire p_cout0,
java.lang.String s_cout,
Wire p_cout)
|
|
cy4(Node parent,
java.lang.String s_a0,
Wire p_a0,
java.lang.String s_a1,
Wire p_a1,
java.lang.String s_b0,
Wire p_b0,
java.lang.String s_b1,
Wire p_b1,
java.lang.String s_addsub,
Wire p_addsub_,
java.lang.String s_cin,
Wire p_cin,
java.lang.String s_cout0,
Wire p_cout0,
java.lang.String s_cout,
Wire p_cout,
java.lang.String mode)
|
|
cy4(Node parent,
java.lang.String s_a0,
Wire p_a0,
java.lang.String s_a1,
Wire p_a1,
java.lang.String s_b0,
Wire p_b0,
java.lang.String s_b1,
Wire p_b1,
java.lang.String s_add,
Wire p_addsub_,
java.lang.String s_cin,
Wire p_cin,
java.lang.String s_c0,
Wire p_c0,
java.lang.String s_c1,
Wire p_c1,
java.lang.String s_c2,
Wire p_c2,
java.lang.String s_c3,
Wire p_c3,
java.lang.String s_c4,
Wire p_c4,
java.lang.String s_c5,
Wire p_c5,
java.lang.String s_c6,
Wire p_c6,
java.lang.String s_c7,
Wire p_c7,
java.lang.String s_cout0,
Wire p_cout0,
java.lang.String s_cout,
Wire p_cout)
|
|
cy4(Node parent,
Wire p_a0,
Wire p_a1,
Wire p_b0,
Wire p_b1,
Wire p_addsub_,
Wire p_cin,
Wire p_cout0,
Wire p_cout,
java.lang.String mode)
|
|
cy4(Node parent,
Wire p_a0,
Wire p_a1,
Wire p_b0,
Wire p_b1,
Wire p_addsub_,
Wire p_cin,
Wire p_carry_mode,
Wire p_cout0,
Wire p_cout)
Creates a new cy4 block. |
|
cy4(Node parent,
Wire p_a0,
Wire p_a1,
Wire p_b0,
Wire p_b1,
Wire p_addsub_,
Wire p_cin,
Wire p_c0,
Wire p_c1,
Wire p_c2,
Wire p_c3,
Wire p_c4,
Wire p_c5,
Wire p_c6,
Wire p_c7,
Wire p_cout0,
Wire p_cout)
|
Method Summary | |
boolean |
cellInterfaceDeterminesUniqueNetlistStructure()
When false, the default behavior of this method, each cell will list itself separately in a netlist, guaranteeing that the netlist will not have invalid data at the expense of a larger file-size. |
boolean |
portMayBeUndriven(java.lang.String portname)
This is used to determine which ports may be undriven based on the instance's mode of operation |
void |
propagate()
Performs the asynchronous behavior of the cy4 cell. |
Methods inherited from class byucc.jhdl.Xilinx.XilinxCL |
connectImplicitPorts |
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 cellname
Constructor Detail |
public cy4(Node parent, Wire p_a0, Wire p_a1, Wire p_b0, Wire p_b1, Wire p_addsub_, Wire p_cin, Wire p_carry_mode, Wire p_cout0, Wire p_cout)
parent
- The parent Node
to be used for the cy4.p_a0
- The wire connected to the a0
port.p_a1
- The wire connected to the a1
port.p_b0
- The wire connected to the b0
port.p_b1
- The wire connected to the b1
port.p_addsub_
- The wire connected to the add
port.p_cin
- The wire connected to the cin
port.p_carry_mode
- The wire connected to the c
port.
Note that the easiest way to create this wire is by using
the carry_mode class's getModeWire method.p_cout0
- The wire connected to the cout0
intermediate output port.p_cout
- The wire connected to the cout
port.public cy4(Node parent, Wire p_a0, Wire p_a1, Wire p_b0, Wire p_b1, Wire p_addsub_, Wire p_cin, Wire p_c0, Wire p_c1, Wire p_c2, Wire p_c3, Wire p_c4, Wire p_c5, Wire p_c6, Wire p_c7, Wire p_cout0, Wire p_cout)
public cy4(Node parent, java.lang.String s_a0, Wire p_a0, java.lang.String s_a1, Wire p_a1, java.lang.String s_b0, Wire p_b0, java.lang.String s_b1, Wire p_b1, java.lang.String s_add, Wire p_addsub_, java.lang.String s_cin, Wire p_cin, java.lang.String s_c0, Wire p_c0, java.lang.String s_c1, Wire p_c1, java.lang.String s_c2, Wire p_c2, java.lang.String s_c3, Wire p_c3, java.lang.String s_c4, Wire p_c4, java.lang.String s_c5, Wire p_c5, java.lang.String s_c6, Wire p_c6, java.lang.String s_c7, Wire p_c7, java.lang.String s_cout0, Wire p_cout0, java.lang.String s_cout, Wire p_cout)
public cy4(Node parent, java.lang.String name, java.lang.String s_a0, Wire p_a0, java.lang.String s_a1, Wire p_a1, java.lang.String s_b0, Wire p_b0, java.lang.String s_b1, Wire p_b1, java.lang.String s_add, Wire p_addsub_, java.lang.String s_cin, Wire p_cin, java.lang.String s_c0, Wire p_c0, java.lang.String s_c1, Wire p_c1, java.lang.String s_c2, Wire p_c2, java.lang.String s_c3, Wire p_c3, java.lang.String s_c4, Wire p_c4, java.lang.String s_c5, Wire p_c5, java.lang.String s_c6, Wire p_c6, java.lang.String s_c7, Wire p_c7, java.lang.String s_cout0, Wire p_cout0, java.lang.String s_cout, Wire p_cout)
public cy4(Node parent, Wire p_a0, Wire p_a1, Wire p_b0, Wire p_b1, Wire p_addsub_, Wire p_cin, Wire p_cout0, Wire p_cout, java.lang.String mode)
public cy4(Node parent, java.lang.String s_a0, Wire p_a0, java.lang.String s_a1, Wire p_a1, java.lang.String s_b0, Wire p_b0, java.lang.String s_b1, Wire p_b1, java.lang.String s_addsub, Wire p_addsub_, java.lang.String s_cin, Wire p_cin, java.lang.String s_cout0, Wire p_cout0, java.lang.String s_cout, Wire p_cout, java.lang.String mode)
public cy4(Node parent, java.lang.String name, java.lang.String s_a0, Wire p_a0, java.lang.String s_a1, Wire p_a1, java.lang.String s_b0, Wire p_b0, java.lang.String s_b1, Wire p_b1, java.lang.String s_addsub, Wire p_addsub_, java.lang.String s_cin, Wire p_cin, java.lang.String s_cout0, Wire p_cout0, java.lang.String s_cout, Wire p_cout, java.lang.String mode)
Method Detail |
public boolean cellInterfaceDeterminesUniqueNetlistStructure()
Cell
cellInterfaceDeterminesUniqueNetlistStructure
in class Cell
public final void propagate()
c
.
propagate
in interface byucc.jhdl.base.Propagateable
propagate
in class Structural
public boolean portMayBeUndriven(java.lang.String portname)
portMayBeUndriven
in interface UndrivenInputsAllowable
portname
- the portname to check
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |