UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor felx
Visitor
2,988 Views
Registered: ‎11-10-2010

Dynamic reconfiguration of DCM_ADV provoke "DO[0] - Phase-shift overflow" error when CLKOUT_PHASE_SHIFT=NONE

Hi, friends,

 

I use DCM_ADV for dynamic reconfiguration of CLKFX output clock (Virtex5).

The problem is that in my tests (multiple CLKFX reconfiguration to see if it works good) I sometimes get "DO[0] - Phase-shift overflow" error and  DCM_ADV is not locked (LOCKED output= '0')... but I use CLKOUT_PHASE_SHIFT          => "NONE" in vhdl configuration of the DCM_ADV. In documentation it is said that "DO[0is deasserted if the phase shift feature is not used (CLKOUT_PHASE_SHIFT=NONE)".

 

What can be a problem here with my design?

 

=====

The following is some information about the DCM_ADV usage in my design.

 

1) This is generic map: (dont use feedback, phase shift = none, etc. )

 

generic map(
CLK_FEEDBACK => "NONE",
SIM_DEVICE => "VIRTEX5",
CLKDV_DIVIDE => 2.0,
CLKFX_DIVIDE => 3,
CLKFX_MULTIPLY => 26,
CLKIN_DIVIDE_BY_2 => false,
CLKIN_PERIOD => 25.0,
CLKOUT_PHASE_SHIFT => "NONE",
DCM_PERFORMANCE_MODE => "MAX_SPEED",
DESKEW_ADJUST => "SYSTEM_SYNCHRONOUS",
DFS_FREQUENCY_MODE => "HIGH",
DLL_FREQUENCY_MODE => "LOW",
DUTY_CYCLE_CORRECTION => TRUE,
FACTORY_JF => x"F0F0",
PHASE_SHIFT => 0,
STARTUP_WAIT => FALSE --,
)

 

2) CLKIN comes from IBUG and is 40 MHz.

3) I dont use PSEN and PSINCDEC

PSCLK => i_clk,
PSEN => '0',
PSINCDEC => '0',

 

4) I use dynamic reconfiguration as following (DCLK=100MHz):

4.1) I move DCM to reset for more than 10 periods of  CLKIN (3 is requested in docs)

in reset state:

4.2) for CLKFX = 40..150Mhz I first change DFS_FREQUENCY_MODE to LOW, and second change CLKFX_DIVIDE and CLKFX_MULTIPLY values. Always wait DRDY.

4.3) for CLKFX >150Mhz I first change DFS_FREQUENCY_MODE to HIGH, and second change CLKFX_DIVIDE and CLKFX_MULTIPLY values. Always wait DRDY.

4.4) wait for arond 100 periods of DCLK

4.5) move DCM to work state deasserting reset

4.6.) Wait for LOCKED = 1.

 

Sometimes (1 of 100-200 times) LOCKED remains 0, and DO[0]=1.

 

If you have any ideas how to fix the problem, please help.

Felix.

 

 

0 Kudos
1 Reply
Scholar austin
Scholar
2,970 Views
Registered: ‎02-27-2008

Re: Dynamic reconfiguration of DCM_ADV provoke "DO[0] - Phase-shift overflow" error when CLKOUT_PHASE_SHIFT=NONE

f,

After anything is changed, the DCM should be reset.
Austin Lesea
Principal Engineer
Xilinx San Jose
0 Kudos