|
|||||||||||
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.Virtex.clkdll
CLKDLL is a clock delay locked loop used to minimize clock skew. CLKDLL synchronizes the clock signal at the feed back clock input (CLKFB) to the clock signal at the input clock (CLKIN). The locked output (LOCKED) is high when the two signals are in phase. The signals are considered to be in phase when their rising edges are within 250 ps of each other. The frequency of the clock signal at the CLKIN input must be in the range 25 - 90 MHz. The CLKIN pin must be driven by an IBUFG or a BUFG. On-chip synchronization is achieved by connecting the CLKFB input to a point on the global clock network driven by a BUFG, a global clock buffer. The BUFG input can only be connected to the CLK0 or CLK2X output of CLKDLL. The BUFG connected to the CLKFB input of the CLKDLL must be sourced from either the CLK0 or CLK2X outputs of the same CLKDLL. The CLKIN input should be connected to the output of an IBUFG, with the IBUFG input connected to a pad driven by the system clock. Off-chip synchronization is achieved by connecting the CLKFB input to the output of an IBUFG, with the IBUFG input connected to a pad. Either the CLK0 or CLK2X output can be used but not both. The CLK0 or CLK2X must be connected to the input of OBUF, an output buffer. The duty cycle of the CLK0 output is 50-50 unless the DUTY_CYCLE_CORRECTION attribute is set to FALSE, in which case the duty cycle is the same as that of the CLKIN input. The duty cycle of the phase shifted outputs (CLK90, CLK180, and CLK270) is the same as that of the CLK0 output. The duty cycle of the CLK2X and CLKDV outputs is always 50-50. The frequency of the CLKDV output is determined by the value assigned to the CLKDV_DIVIDE attribute. The master reset input (RST) resets CLKDLL to its initial (power-on) state. The signal at the RST input is synchronized to the clock signal at the CLKIN input. The reset becomes effective at the second Low-to-High transition of the clock signal at the CLKIN input after assertion of the RST signal. (Source: XACT Libraries Guide, Chapter 4 CLKDLL, Xilinx Corporation,
Field Summary | |
static CellInterface[] |
cell_interface
The port interface for: clkdll clkin : clk (1) clkfb : clk (1) rst : in (1) clk0 : out (1) clk90 : out (1) clk180 : out (1) clk270 : out (1) clk2x : out (1) clkdv : out (1) locked : out (1) |
static java.lang.String |
cellname
The static cellname (netlist reference name) for clkdll |
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 |
clkdll(Node parent)
Used only by child classes to pass up the parent cell. |
|
clkdll(Node parent,
ArgBlockList abl)
Constructs a new clkdll, connecting its ports as given by the String-Wire pairs in the ArgBlockList . |
protected |
clkdll(Node parent,
java.lang.String name)
Used only by child classes to pass up the parent cell and instance name. |
|
clkdll(Node parent,
java.lang.String instanceName,
ArgBlockList abl)
Constructs a new clkdll, connecting its ports as given by the String-Wire pairs in the ArgBlockList . |
|
clkdll(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,
java.lang.String s4,
Wire w4,
java.lang.String s5,
Wire w5,
java.lang.String s6,
Wire w6,
java.lang.String s7,
Wire w7,
java.lang.String s8,
Wire w8,
java.lang.String s9,
Wire w9)
Constructs a new clkdll, connecting each Wire to the port whose name is given by the accompanying String parameter
The initial String parameter specifies the instance name. |
|
clkdll(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,
java.lang.String s4,
Wire w4,
java.lang.String s5,
Wire w5,
java.lang.String s6,
Wire w6,
java.lang.String s7,
Wire w7,
java.lang.String s8,
Wire w8,
java.lang.String s9,
Wire w9)
Constructs a new clkdll, connecting each Wire to the port whose name is given by the accompanying String parameter |
|
clkdll(Node parent,
java.lang.String instanceName,
Wire clkin,
Wire clkfb,
Wire rst,
Wire clk0,
Wire clk90,
Wire clk180,
Wire clk270,
Wire clk2x,
Wire clkdv,
Wire locked)
Constructs a new clkdll. |
|
clkdll(Node parent,
Wire clkin,
Wire clkfb,
Wire rst,
Wire clk0,
Wire clk90,
Wire clk180,
Wire clk270,
Wire clk2x,
Wire clkdv,
Wire locked)
Constructs a new clkdll. |
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. |
protected void |
connectImplicitPorts()
Connects the implicit ports. |
java.lang.String |
determineSchedule(Wire clk)
|
java.lang.String |
getCellName()
Access the cell name associated with a derived class. |
Wire |
getInputWire()
|
boolean |
isNetlistLeaf()
A few rare cells are leafCells during netlisting, but not during simulation. |
static void |
main(java.lang.String[] argv)
|
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.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 clkdll(Node parent)
parent
- Parent cellprotected clkdll(Node parent, java.lang.String name)
parent
- Parent cellname
- Instance name of the cellpublic clkdll(Node parent, Wire clkin, Wire clkfb, Wire rst, Wire clk0, Wire clk90, Wire clk180, Wire clk270, Wire clk2x, Wire clkdv, Wire locked)
parent
- The parent Cell
to the clkdllclkin
- The Wire
to be connected to clock port clkinclkfb
- The Wire
to be connected to clock port clkfbrst
- The Wire
to be connected to input port rstclk0
- The Wire
to be connected to output port clk0clk90
- The Wire
to be connected to output port clk90clk180
- The Wire
to be connected to output port clk180clk270
- The Wire
to be connected to output port clk270clk2x
- The Wire
to be connected to output port clk2xclkdv
- The Wire
to be connected to output port clkdvlocked
- The Wire
to be connected to output port lockedpublic clkdll(Node parent, java.lang.String instanceName, Wire clkin, Wire clkfb, Wire rst, Wire clk0, Wire clk90, Wire clk180, Wire clk270, Wire clk2x, Wire clkdv, Wire locked)
String
parameter specifies the instance name.
parent
- The parent Cell
to the clkdllinstanceName
- The instance name of the clkdllclkin
- The Wire
to be connected to clock port clkinclkfb
- The Wire
to be connected to clock port clkfbrst
- The Wire
to be connected to input port rstclk0
- The Wire
to be connected to output port clk0clk90
- The Wire
to be connected to output port clk90clk180
- The Wire
to be connected to output port clk180clk270
- The Wire
to be connected to output port clk270clk2x
- The Wire
to be connected to output port clk2xclkdv
- The Wire
to be connected to output port clkdvlocked
- The Wire
to be connected to output port lockedpublic clkdll(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, java.lang.String s4, Wire w4, java.lang.String s5, Wire w5, java.lang.String s6, Wire w6, java.lang.String s7, Wire w7, java.lang.String s8, Wire w8, java.lang.String s9, Wire w9)
Wire
to the port whose name is given by the accompanying String
parameter
parent
- The parent Cell
to the clkdlls0
- 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 s3s4
- The name of the port to which w4 will be connectedw4
- The Wire
to be connected to the port specified by s4s5
- The name of the port to which w5 will be connectedw5
- The Wire
to be connected to the port specified by s5s6
- The name of the port to which w6 will be connectedw6
- The Wire
to be connected to the port specified by s6s7
- The name of the port to which w7 will be connectedw7
- The Wire
to be connected to the port specified by s7s8
- The name of the port to which w8 will be connectedw8
- The Wire
to be connected to the port specified by s8s9
- The name of the port to which w9 will be connectedw9
- The Wire
to be connected to the port specified by s9public clkdll(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, java.lang.String s4, Wire w4, java.lang.String s5, Wire w5, java.lang.String s6, Wire w6, java.lang.String s7, Wire w7, java.lang.String s8, Wire w8, java.lang.String s9, Wire w9)
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 clkdllinstanceName
- The instance name of the clkdlls0
- 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 s3s4
- The name of the port to which w4 will be connectedw4
- The Wire
to be connected to the port specified by s4s5
- The name of the port to which w5 will be connectedw5
- The Wire
to be connected to the port specified by s5s6
- The name of the port to which w6 will be connectedw6
- The Wire
to be connected to the port specified by s6s7
- The name of the port to which w7 will be connectedw7
- The Wire
to be connected to the port specified by s7s8
- The name of the port to which w8 will be connectedw8
- The Wire
to be connected to the port specified by s8s9
- The name of the port to which w9 will be connectedw9
- The Wire
to be connected to the port specified by s9public clkdll(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 clkdllabl
- The list of String-Wire
pairs for port assignments, and String-String
pairs for generic assignments.public clkdll(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 clkdllinstanceName
- The instance name of the clkdllabl
- 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 Logic
public final boolean cellInterfaceDeterminesUniqueNetlistStructure()
Cell
cellInterfaceDeterminesUniqueNetlistStructure
in class Cell
public int type()
PreDefinedSchematic
type
in interface PreDefinedSchematic
public boolean isNetlistLeaf()
Cell
isNetlistLeaf
in class Cell
public final Wire getInputWire()
public java.lang.String determineSchedule(Wire clk)
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 |