The Clocking Wizard provides a drop-down menu for each clock-out for you to select DESKEW_PD1 or DESKEW_PD2 in PI Control column. Based on your choice, the CLKOUTx_PHASE_CTRL is set accordingly to 2’b01 (for network 1/PD1) or 2’b11 (for network 2/PD2) or 2'b10 for Fine_PS or 2'b00 for None. The following table describes primitive and number of deskew network details:
| Primitive | Number of DESKEW Networks | Dyn_PS Option |
|---|---|---|
| MMCM | 2 | DESKEW_PD1 and DESKEW_PD2 |
| XPLL (PLL) | 2 | DESKEW_PD1 and DESKEW_PD2 |
| DPLL | 1 | DESKEW_PD1 |
| AUTO** | 2 | DESKEW_PD1 and DESKEW_PD2 |
|
||
- Deskew Connection implementations and Prerequisites
-
- In any primitive,
clkin_deskewandclkfb_deskewmust have the same frequency -
clkfb_deskewconnection is in the feedback path from one of the clock out (which is selected as deskew) - The buffer in the feedback path can be either BUFG, BUFGCE, BUFGCE_DIV or MBUFGCE buffer
- In the case of No_Buffer selected for the clock out
that wants to be connected to
clkfb_deskew, then theclkfb_deskewport gets exposed and the connection toclkfb_deskewmust be provided by you with any buffer based on the requirement - In DPLL,
clkinandclkin_deskewshould always be tied - In MMCM or XPLL,
clkin_deskewconnection must be made as MUX betweenclkinsignal [It can beclk_in1orclk_in2from DESKEWx_IN option] and any of the clock output (in which case any value fromclk_out1toclk_out7can be chosen for DESKEWx_IN) and external clock (clk_extto be chosen as DESKEWx_IN). - Whenever DESKEWx_IN is chosen as
clk_extwhich meansclkin1_deskew/clkin2_deskewwill be exposed as port and the connection will be made toclkin_deskewport of primitive. User must ensure the frequency of theclkin_deskewto be same asclkfb_deskeweven in the case of external clock selection.
- In any primitive,
The Clocking Wizard core provides an
interface to select programmable delay for deskew network 1 or 2. Based on your choice,
DESKEW_DLY_ENx/DESKEW_DLY_PATHx, DESKEW_DELAYx and DESKEWx_IN/DESKEWx_FB attributes are
set accordingly. You can program the delay in number of taps in the range provided by
the wizard. DESKEW1_IN, DESKEW1_FB, DESKEW2_IN and DESKEW2_FB values are used to connect
clkin1_deskew, clkfb1_deskew, clkin2_deskew and clkfb2_deskew respectively. The range of DESKEWx_IN is from
0 to 9 (clk_in1, clk_out
<1-7>,clk_ext), which means, if you want to connect clkinx_deskew to primary input clock, you need to select it
as 0 (clk_in1) and if it is secondary input clock, you need to select
it as 9 (clk_in2), and you need to select as 8
(clk_ext) if you want to connect clkinx_deskew with external/outside clkin_deskew and if it is clk_out
<1-7> then values <1-7> can be selected. The range of DESKEWx_FB is from 1
to 7 which means, if clkfbx_deskew needs to be
connected from any of the clock out you need to provide respective value. If it is
clk_out <1-7> then values <1-7> has to
be provided. There are few limitations set by the wizard to configure deskew networks on
different clock outputs. The following are some examples:
- Consider selecting three clock outputs such as
clk_out1= 100 MHz,clk_out2= 200 MHz, andclk_out3= 250 MHz. If you select PI Control forclk_out1to be DESKEW_PD1, then there is no option of DESKEW_PD1 forclk_out3as the frequency ofclk_out3is not integer multiple/divider ofclk_out1. Whereas both the options of DESKEW_PD1 and DESKEW_PD2 can be chosen forclk_out2as the frequency ofclk_out2is integer multiple/divider ofclk_out1. - Similarly, if you select PI Control for
clk_out2to be DESKEW_PD2, then neither DESKEW_PD1 nor DESKEW_PD2 option is provided forclk_out3as the frequency ofclk_out3is different fromclk_out2andclk_out1and also the frequency is neither integer multiple/divider ofclk_out1nor that ifclk_out2. - DESKEW_PD2 is provided as an option for
clk_out3if DESKEW_PD2 is not selected forclk_out2.