Altdll megafunction, Dll block and dll offset control block, Altdll megafunction –3 – Altera ALTDLL User Manual
Page 39: Dll block and dll offset control block –3, Altdll megafunction” on

4–3
Chapter 4: Functional Description
ALTDLL Megafunction
ALTDLL and ALTDQ_DQS Megafunctions User Guide
© February 2012
Altera Corporation
ALTDLL Megafunction
This section describes the DLL block and the DLL offset control blocks associated with
the ALTDLL megafunction.
DLL block and DLL offset control block
The ALTDLL megafunction controls the DLL and its two associated phase-offset
control blocks. The ALTDLL megafunction also controls the delay-chain settings to
achieve a compensated delay for PVT. For example, a DQS read strobe/clock that is
edge-aligned to its associated read data can be used to clock the data into I/O
registers if the data is delayed before reaching the register.
The DLL consists of two phase-offset control blocks— one for each edge adjacent to
the DLL, which resides in the corner of the device. Both phase-offset control blocks
cannot feed the same edge.
The DLL block computes the necessary delay settings by comparing the period of an
input reference clock to the delay through an internal delay chain. You can then use
the DLL offset control block to fine-tune the delay setting.
At a minimum, the DLL has a single input that is connected to a dedicated PLL output
or input pin, and six gray-coded outputs that are connected to the DQS delay chain
block, which is part of the ALTDQ_DQS megafunction.
shows the components of the ALTDLL megafunction. The
DLL_OFFSET_CTRL_A
block is the first phase-offset control block, and the
DLL_OFFSET_CTRL_B
block is the second phase-offset control block. These two
phase-offset control blocks are connected together to form the ALTDLL megafunction.
Each offset control block can only control the DQS delay chains on one edge of the
device. To feed the same offset to the DQS delay chains on two edges, you must use
both phase-offset control blocks.
Figure 4–2. ALTDLL Megafunction
DLL
DLL_OFFSET_CTRL_A
DLL_OFFSET_CTRL_B
offsetdelayctrlin
clk
aload
aload
clk
offsetdelayctrlin
offsetdelayctrlclkout
offsetdelayctrlout
delayctrlout
dqsupdate
clk
aload
offset
dll_offset_ctrl_a_offset[ ]
addnsub
dll_offset_ctrl_a_addnsub
offsetctrlout
offsetctrlout
offset
dll_offset_ctrl_b_offset[ ]
addnsub
dll_offset_ctrl_b_addnsub
dll_clk
dll_aload
dll_offset_ctrl_a_offsetctrlout[ ]
dll_delayctrlout[ ]
dll_dqsupdate
dll_offset_ctrl_b_offsetctrlout[ ]
ALTDLL