|
|||||||||||
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.XilinxLatch
byucc.jhdl.Xilinx.XC4000.ilffx
ILFFX, an optional latch that drives the input flip-flop, allows the very fast capture of input data. Located on the input side of an IOB, the latch is latched by the output clock - the clock used for the output flip-flop - rather than the input clock. Thus, two different clocks can be used to clock the two input storage elements. The following figure shows an example IOB block diagram of the XC4000X IOB. After the data is captured, it is then synchronized to the internal clock (C) by the IOB flip-flop. The latch input (D) is connected to an IPAD or an IOPAD (without using an IBUF). When the gate input (GF) is Low, the data at the input (D) appears at INODE and is stored during the Low-to-High GF transition. The captured INODE data appears at output (Q) during a Low-to-High clock (C) transition. The fast latch is asynchronously cleared when power is applied. FPGAs simulate power-on when global set/reset (GSR) is active. GSR defaults to active-High but can be inverted by adding an inverter in front of the GSR input of the STARTUP symbol. (Source: XACT Libraries Guide, Chapter 6 ILFFX, Xilinx Corporation, 1999.)
Field Summary | |
static CellInterface[] |
cell_interface
The port interface for: ilffx ce : in (1) d : in (1) gf : implicit (1) q : out (1) |
static java.lang.String |
cellname
The static cellname (netlist reference name) for ilffx |
static CellInterface[] |
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 | |
protected |
ilffx(Node parent)
Used only by child classes to pass up the parent cell. |
|
ilffx(Node parent,
ArgBlockList abl)
Constructs a new ilffx, connecting its ports as given by the String-Wire pairs in the ArgBlockList . |
protected |
ilffx(Node parent,
java.lang.String name)
Used only by child classes to pass up the parent cell and instance name. |
|
ilffx(Node parent,
java.lang.String instanceName,
ArgBlockList abl)
Constructs a new ilffx, connecting its ports as given by the String-Wire pairs in the ArgBlockList . |
|
ilffx(Node parent,
java.lang.String instanceName,
java.lang.String s0,
Wire w0,
java.lang.String s1,
Wire w1,
java.lang.String s2,
Wire w2)
Constructs a new ilffx, connecting each Wire to the port whose name is given by the accompanying String parameter
The initial String parameter specifies the instance name. |
|
ilffx(Node parent,
java.lang.String instanceName,
java.lang.String s0,
Wire w0,
java.lang.String s1,
Wire w1,
java.lang.String s2,
Wire w2,
java.lang.String s3,
Wire w3)
Constructs a new ilffx, connecting each Wire to the port whose name is given by the accompanying String parameter
Note: this includes enough wires for the implicit ports. |
|
ilffx(Node parent,
java.lang.String s0,
Wire w0,
java.lang.String s1,
Wire w1,
java.lang.String s2,
Wire w2)
Constructs a new ilffx, connecting each Wire to the port whose name is given by the accompanying String parameter |
|
ilffx(Node parent,
java.lang.String s0,
Wire w0,
java.lang.String s1,
Wire w1,
java.lang.String s2,
Wire w2,
java.lang.String s3,
Wire w3)
Constructs a new ilffx, connecting each Wire to the port whose name is given by the accompanying String parameter
Note: this includes enough wires for the implicit ports. |
|
ilffx(Node parent,
java.lang.String instanceName,
Wire ce,
Wire d,
Wire q)
Constructs a new ilffx. |
|
ilffx(Node parent,
java.lang.String instanceName,
Wire ce,
Wire d,
Wire gf,
Wire q)
Constructs a new ilffx. |
|
ilffx(Node parent,
Wire ce,
Wire d,
Wire q)
Constructs a new ilffx. |
|
ilffx(Node parent,
Wire ce,
Wire d,
Wire gf,
Wire q)
Constructs a new ilffx. |
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. |
void |
clock()
Users define synchronous behavior in this method using standard JHDL constructs. |
protected void |
connectImplicitPorts()
Connects the implicit ports. |
java.lang.String |
getCellName()
Access the cell name associated with a derived class. |
static void |
main(java.lang.String[] argv)
|
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. |
static void |
test()
|
int |
type()
This method returns one of the predefined schematic constants to identify the type of this cell. |
Methods inherited from class byucc.jhdl.Xilinx.XilinxLatch |
needsToBeAsynchronouslyScheduled |
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 final java.lang.String cellname
public static CellInterface[] cell_interface
public static CellInterface[] implicit_interface
Constructor Detail |
protected ilffx(Node parent)
parent
- Parent cellprotected ilffx(Node parent, java.lang.String name)
parent
- Parent cellname
- Instance name of the cellpublic ilffx(Node parent, Wire ce, Wire d, Wire q)
parent
- The parent Cell
to the ilffxce
- The Wire
to be connected to input port ced
- The Wire
to be connected to input port dq
- The Wire
to be connected to output port qpublic ilffx(Node parent, java.lang.String instanceName, Wire ce, Wire d, Wire q)
String
parameter specifies the instance name.
parent
- The parent Cell
to the ilffxinstanceName
- The instance name of the ilffxce
- The Wire
to be connected to input port ced
- The Wire
to be connected to input port dq
- The Wire
to be connected to output port qpublic ilffx(Node parent, Wire ce, Wire d, Wire gf, Wire q)
parent
- The parent Cell
to the ilffxce
- The Wire
to be connected to input port ced
- The Wire
to be connected to input port dgf
- The Wire
to be connected to implicit port gfq
- The Wire
to be connected to output port qpublic ilffx(Node parent, java.lang.String instanceName, Wire ce, Wire d, Wire gf, Wire q)
String
parameter specifies the instance name.
parent
- The parent Cell
to the ilffxinstanceName
- The instance name of the ilffxce
- The Wire
to be connected to input port ced
- The Wire
to be connected to input port dgf
- The Wire
to be connected to implicit port gfq
- The Wire
to be connected to output port qpublic ilffx(Node parent, java.lang.String s0, Wire w0, java.lang.String s1, Wire w1, java.lang.String s2, Wire w2)
Wire
to the port whose name is given by the accompanying String
parameter
parent
- The parent Cell
to the ilffxs0
- The name of the port to which w0 will be connectedw0
- The Wire
to be connected to the port specified by s0s1
- The name of the port to which w1 will be connectedw1
- The Wire
to be connected to the port specified by s1s2
- The name of the port to which w2 will be connectedw2
- The Wire
to be connected to the port specified by s2public ilffx(Node parent, java.lang.String instanceName, java.lang.String s0, Wire w0, java.lang.String s1, Wire w1, java.lang.String s2, Wire w2)
Wire
to the port whose name is given by the accompanying String
parameter
The initial String
parameter specifies the instance name.
parent
- The parent Cell
to the ilffxinstanceName
- The instance name of the ilffxs0
- The name of the port to which w0 will be connectedw0
- The Wire
to be connected to the port specified by s0s1
- The name of the port to which w1 will be connectedw1
- The Wire
to be connected to the port specified by s1s2
- The name of the port to which w2 will be connectedw2
- The Wire
to be connected to the port specified by s2public ilffx(Node parent, java.lang.String s0, Wire w0, java.lang.String s1, Wire w1, java.lang.String s2, Wire w2, java.lang.String s3, Wire w3)
Wire
to the port whose name is given by the accompanying String
parameter
Note: this includes enough wires for the implicit ports.
parent
- The parent Cell
to the ilffxs0
- The name of the port to which w0 will be connectedw0
- The Wire
to be connected to the port specified by s0s1
- The name of the port to which w1 will be connectedw1
- The Wire
to be connected to the port specified by s1s2
- The name of the port to which w2 will be connectedw2
- The Wire
to be connected to the port specified by s2s3
- The name of the port to which w3 will be connectedw3
- The Wire
to be connected to the port specified by s3public ilffx(Node parent, java.lang.String instanceName, java.lang.String s0, Wire w0, java.lang.String s1, Wire w1, java.lang.String s2, Wire w2, java.lang.String s3, Wire w3)
Wire
to the port whose name is given by the accompanying String
parameter
Note: this includes enough wires for the implicit ports.
The initial String
parameter specifies the instance name.
parent
- The parent Cell
to the ilffxinstanceName
- The instance name of the ilffxs0
- The name of the port to which w0 will be connectedw0
- The Wire
to be connected to the port specified by s0s1
- The name of the port to which w1 will be connectedw1
- The Wire
to be connected to the port specified by s1s2
- The name of the port to which w2 will be connectedw2
- The Wire
to be connected to the port specified by s2s3
- The name of the port to which w3 will be connectedw3
- The Wire
to be connected to the port specified by s3public ilffx(Node parent, ArgBlockList abl)
String-Wire
pairs in the ArgBlockList
. Any generic assignments are made through String-String
pairs in the ArgBlockList
.
parent
- The parent Cell
to the ilffxabl
- The list of String-Wire
pairs for port assignments, and String-String
pairs for generic assignments.public ilffx(Node parent, java.lang.String instanceName, ArgBlockList abl)
String-Wire
pairs in the ArgBlockList
. Any generic assignments are made through String-String
pairs in the ArgBlockList
.
The initial String
parameter is the instance name.
parent
- The parent Cell
to the ilffxinstanceName
- The instance name of the ilffxabl
- The list of String-Wire
pairs for port assignments, and String-String
pairs for generic assignments.Method Detail |
public java.lang.String getCellName()
Cell
getCellName
in class Cell
protected void connectImplicitPorts()
Logic
#implicit_ports
.
If you used the old version of connect_implicit_ports, this method will use
reflection to see that the old version gets called correctly.
connectImplicitPorts
in class XilinxLatch
public final boolean cellInterfaceDeterminesUniqueNetlistStructure()
Cell
cellInterfaceDeterminesUniqueNetlistStructure
in class Cell
public final void clock()
Structural
clock
in interface Clockable
clock
in class Structural
public void reset()
Structural
reset
in interface Clockable
reset
in class Structural
public final void propagate()
Structural
propagate
in interface byucc.jhdl.base.Propagateable
propagate
in class Structural
public int type()
PreDefinedSchematic
type
in interface PreDefinedSchematic
public static void main(java.lang.String[] argv)
public static void test()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |